download.lst                                       |    4 -
 external/skia/Library_skia.mk                      |    9 ++-
 external/skia/UnpackedTarball_skia.mk              |    2 
 external/skia/fontconfig-get-typeface.patch.1      |   29 ++++++-----
 external/skia/share-grcontext.patch.1              |   52 ++++++++++-----------
 external/skia/windows-typeface-directwrite.patch.0 |    2 
 6 files changed, 53 insertions(+), 45 deletions(-)

New commits:
commit 9cf17d841a0c7b3b0c0811dd01f1536db6d7beda
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Wed Oct 9 10:32:51 2024 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Wed Oct 9 18:21:02 2024 +0200

    update to skia m124
    
    Change-Id: I9bb712bdde8d2f2af792af5b439f4789e59f1595
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174720
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/download.lst b/download.lst
index 98810dbf4588..8a6f5003e38f 100644
--- a/download.lst
+++ b/download.lst
@@ -626,8 +626,8 @@ RHINO_TARBALL := rhino-1.7.15.zip
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-SKIA_SHA256SUM := 
b14a960166f9a87f96287f7f1809152c658e4187a1159f876f174379c4032c66
-SKIA_TARBALL := skia-m123-4a0a5e99062a105b3d8f3f819f1579f776897171.tar.xz
+SKIA_SHA256SUM := 
c06c59462ed06e76890f863fa59b938f41906b924e6361c24fa71d11dad1301c
+SKIA_TARBALL := skia-m124-03c4671cffded59a3bb00e18bfae3c2763424fc6.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
diff --git a/external/skia/Library_skia.mk b/external/skia/Library_skia.mk
index b63c2f4ae392..5f6432c02074 100644
--- a/external/skia/Library_skia.mk
+++ b/external/skia/Library_skia.mk
@@ -127,13 +127,13 @@ $(eval $(call gb_Library_set_include,skia,\
     -I$(gb_UnpackedTarball_workdir)/skia \
     -I$(gb_UnpackedTarball_workdir)/skia/modules/skcms/ \
     -I$(gb_UnpackedTarball_workdir)/skia/third_party/vulkanmemoryallocator/ \
+    
-I$(gb_UnpackedTarball_workdir)/skia/third_party/vulkanmemoryallocator/include/ 
\
     -I$(gb_UnpackedTarball_workdir)/skia/src/gpu/vk/vulkanmemoryallocator/ \
     -I$(gb_UnpackedTarball_workdir)/skia/include/third_party/vulkan/ \
     -I$(SRCDIR)/external/skia/inc/ \
 ))
 
 $(eval $(call gb_Library_add_exception_objects,skia,\
-    external/skia/source/SkMemory_malloc \
     external/skia/source/skia_compiler \
     external/skia/source/skia_opts \
 ))
@@ -213,6 +213,7 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/codec/SkParseEncodedOrigin \
     UnpackedTarball/skia/src/codec/SkSampledCodec \
     UnpackedTarball/skia/src/ports/SkGlobalInitialization_default \
+    UnpackedTarball/skia/src/ports/SkMemory_malloc \
     UnpackedTarball/skia/src/ports/SkOSFile_stdio \
     UnpackedTarball/skia/src/sfnt/SkOTTable_name \
     UnpackedTarball/skia/src/sfnt/SkOTUtils \
@@ -244,6 +245,7 @@ endif
 ifeq ($(SKIA_GPU),VULKAN)
 $(eval $(call gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/tools/gpu/vk/VkTestUtils \
+    UnpackedTarball/skia/tools/gpu/vk/VkTestMemoryAllocator \
 ))
 endif
 
@@ -399,6 +401,7 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/core/SkImageFilterTypes \
     UnpackedTarball/skia/src/core/SkImageGenerator \
     UnpackedTarball/skia/src/core/SkImageInfo \
+    UnpackedTarball/skia/src/core/SkKnownRuntimeEffects \
     UnpackedTarball/skia/src/core/SkLatticeIter \
     UnpackedTarball/skia/src/core/SkLineClipper \
     UnpackedTarball/skia/src/core/SkLocalMatrixImageFilter \
@@ -481,7 +484,6 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/core/SkSwizzler_opts \
     UnpackedTarball/skia/src/core/SkTaskGroup \
     UnpackedTarball/skia/src/core/SkTextBlob \
-    UnpackedTarball/skia/src/core/SkTextBlobTrace \
     UnpackedTarball/skia/src/core/SkTypeface \
     UnpackedTarball/skia/src/core/SkTypefaceCache \
     UnpackedTarball/skia/src/core/SkTypeface_remote \
@@ -815,6 +817,7 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
 ifeq ($(OS),MACOSX)
 $(eval $(call gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/utils/mac/SkCTFont \
+    UnpackedTarball/skia/src/utils/mac/SkCTFontCreateExactCopy \
     UnpackedTarball/skia/src/utils/mac/SkCreateCGImageRef \
 ))
 endif
@@ -1138,10 +1141,12 @@ ifeq ($(OS),MACOSX)
 ifeq ($(SKIA_GPU),METAL)
 $(eval $(call gb_Library_add_generated_objcxxobjects,skia,\
     UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlAttachment \
+    UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlBackendSemaphore \
     UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlBuffer \
     UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlCaps \
     UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlCommandBuffer \
     UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlDepthStencil \
+    UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlDirectContext \
     UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlFramebuffer \
     UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlGpu \
     UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlOpsRenderPass \
diff --git a/external/skia/UnpackedTarball_skia.mk 
b/external/skia/UnpackedTarball_skia.mk
index 73ee65a74662..9cc756eb5923 100644
--- a/external/skia/UnpackedTarball_skia.mk
+++ b/external/skia/UnpackedTarball_skia.mk
@@ -19,7 +19,7 @@ skia_patches := \
     fix-alpha-difference-copy.patch.1 \
     share-grcontext.patch.1 \
     clang-attributes-warning.patch.1 \
-    fontconfig-get-typeface.patch.0 \
+    fontconfig-get-typeface.patch.1 \
     windows-do-not-modify-logfont.patch.0 \
     windows-text-gamma.patch.0 \
     windows-force-unicode-api.patch.0 \
diff --git a/external/skia/fontconfig-get-typeface.patch.0 
b/external/skia/fontconfig-get-typeface.patch.1
similarity index 56%
rename from external/skia/fontconfig-get-typeface.patch.0
rename to external/skia/fontconfig-get-typeface.patch.1
index 20c3f5b9cbe0..e4f07d6c5bd6 100644
--- a/external/skia/fontconfig-get-typeface.patch.0
+++ b/external/skia/fontconfig-get-typeface.patch.1
@@ -1,22 +1,20 @@
-diff --git a/include/ports/SkFontMgr_fontconfig.h 
b/include/ports/SkFontMgr_fontconfig.h
-index 4b2bb2d297..2b82cbfedd 100644
---- include/ports/SkFontMgr_fontconfig.h
-+++ include/ports/SkFontMgr_fontconfig.h
-@@ -19,4 +19,9 @@ class SkFontMgr;
+diff -ur skia.org/include/ports/SkFontMgr_fontconfig.h 
skia/include/ports/SkFontMgr_fontconfig.h
+--- skia.org/include/ports/SkFontMgr_fontconfig.h      2024-10-09 
10:25:16.421928663 +0200
++++ skia/include/ports/SkFontMgr_fontconfig.h  2024-10-09 10:27:17.914640682 
+0200
+@@ -19,4 +19,9 @@
   */
  SK_API sk_sp<SkFontMgr> SkFontMgr_New_FontConfig(FcConfig* fc);
- 
+
 +struct _FcPattern;
 +typedef struct _FcPattern FcPattern;
 +class SkTypeface;
 +SK_API sk_sp<SkTypeface> SkFontMgr_createTypefaceFromFcPattern(const 
sk_sp<SkFontMgr>& mgr, FcPattern* pattern);
 +
  #endif // #ifndef SkFontMgr_fontconfig_DEFINED
-diff --git a/src/ports/SkFontMgr_fontconfig.cpp 
b/src/ports/SkFontMgr_fontconfig.cpp
-index c2da39b28f..28483faf02 100644
---- src/ports/SkFontMgr_fontconfig.cpp
-+++ src/ports/SkFontMgr_fontconfig.cpp
-@@ -690,6 +690,7 @@ class SkFontMgr_fontconfig : public SkFontMgr {
+diff -ur skia.org/src/ports/SkFontMgr_fontconfig.cpp 
skia/src/ports/SkFontMgr_fontconfig.cpp
+--- skia.org/src/ports/SkFontMgr_fontconfig.cpp        2024-10-09 
10:25:16.460928891 +0200
++++ skia/src/ports/SkFontMgr_fontconfig.cpp    2024-10-09 10:27:30.405714112 
+0200
+@@ -660,6 +660,7 @@
      /** Creates a typeface using a typeface cache.
       *  @param pattern a complete pattern from FcFontRenderPrepare.
       */
@@ -24,8 +22,12 @@ index c2da39b28f..28483faf02 100644
      sk_sp<SkTypeface> createTypefaceFromFcPattern(SkAutoFcPattern pattern) 
const {
          if (!pattern) {
              return nullptr;
-@@ -1043,3 +1044,13 @@ protected:
- SK_API sk_sp<SkFontMgr> SkFontMgr_New_FontConfig(FcConfig* fc) {
+@@ -966,6 +967,16 @@
+     }
+ };
+
+-sk_sp<SkFontMgr> SkFontMgr_New_FontConfig(FcConfig* fc) {
++SK_API sk_sp<SkFontMgr> SkFontMgr_New_FontConfig(FcConfig* fc) {
      return sk_make_sp<SkFontMgr_fontconfig>(fc);
  }
 +
@@ -38,3 +40,4 @@ index c2da39b28f..28483faf02 100644
 +    }());
 +    return 
static_cast<SkFontMgr_fontconfig*>(mgr.get())->createTypefaceFromFcPattern(std::move(p));
 +}
+Only in skia/src/ports: SkFontMgr_fontconfig.cpp.orig
diff --git a/external/skia/share-grcontext.patch.1 
b/external/skia/share-grcontext.patch.1
index 35dfa36eb972..bf09ce2f88f5 100644
--- a/external/skia/share-grcontext.patch.1
+++ b/external/skia/share-grcontext.patch.1
@@ -1,6 +1,6 @@
 diff -ur skia.org/tools/window/mac/MetalWindowContext_mac.mm 
skia/tools/window/mac/MetalWindowContext_mac.mm
---- skia.org/tools/window/mac/MetalWindowContext_mac.mm        2024-10-08 
14:58:53.731121800 +0200
-+++ skia/tools/window/mac/MetalWindowContext_mac.mm    2024-10-08 
14:59:05.913213666 +0200
+--- skia.org/tools/window/mac/MetalWindowContext_mac.mm        2024-10-09 
09:52:11.322780365 +0200
++++ skia/tools/window/mac/MetalWindowContext_mac.mm    2024-10-09 
09:52:21.883858977 +0200
 @@ -47,10 +47,14 @@
  }
 
@@ -18,8 +18,8 @@ diff -ur skia.org/tools/window/mac/MetalWindowContext_mac.mm 
skia/tools/window/m
 
      // resize ignores the passed values and uses the fMainView directly.
 diff -ur skia.org/tools/window/MetalWindowContext.h 
skia/tools/window/MetalWindowContext.h
---- skia.org/tools/window/MetalWindowContext.h 2024-10-08 14:58:53.730121792 
+0200
-+++ skia/tools/window/MetalWindowContext.h     2024-10-08 14:59:05.913213666 
+0200
+--- skia.org/tools/window/MetalWindowContext.h 2024-10-09 09:52:11.322780365 
+0200
++++ skia/tools/window/MetalWindowContext.h     2024-10-09 09:52:21.883858977 
+0200
 @@ -14,13 +14,18 @@
 
  #include "tools/window/WindowContext.h"
@@ -79,9 +79,9 @@ diff -ur skia.org/tools/window/MetalWindowContext.h 
skia/tools/window/MetalWindo
  }   // namespace skwindow::internal
 
 diff -ur skia.org/tools/window/MetalWindowContext.mm 
skia/tools/window/MetalWindowContext.mm
---- skia.org/tools/window/MetalWindowContext.mm        2024-10-08 
14:58:53.730121792 +0200
-+++ skia/tools/window/MetalWindowContext.mm    2024-10-08 14:59:05.914213673 
+0200
-@@ -39,24 +39,30 @@
+--- skia.org/tools/window/MetalWindowContext.mm        2024-10-09 
09:52:11.322780365 +0200
++++ skia/tools/window/MetalWindowContext.mm    2024-10-09 09:55:38.054848393 
+0200
+@@ -41,24 +41,30 @@
  }
 
  void MetalWindowContext::initializeContext() {
@@ -119,7 +119,7 @@ diff -ur skia.org/tools/window/MetalWindowContext.mm 
skia/tools/window/MetalWind
 
  #if SKGPU_GRAPHITE_METAL_SDK_VERSION >= 230
      if (fDisplayParams.fEnableBinaryArchive) {
-@@ -64,11 +70,11 @@
+@@ -66,11 +72,11 @@
              sk_cfp<MTLBinaryArchiveDescriptor*> 
desc([MTLBinaryArchiveDescriptor new]);
              (*desc).url = CacheURL(); // try to load
              NSError* error;
@@ -135,7 +135,7 @@ diff -ur skia.org/tools/window/MetalWindowContext.mm 
skia/tools/window/MetalWind
                      SkDebugf("Error creating MTLBinaryArchive:
%s
",
                               error.debugDescription.UTF8String);
                  }
-@@ -76,46 +82,75 @@
+@@ -78,46 +84,75 @@
          }
      } else {
          if (@available(macOS 11.0, iOS 14.0, tvOS 14.0, *)) {
@@ -156,9 +156,9 @@ diff -ur skia.org/tools/window/MetalWindowContext.mm 
skia/tools/window/MetalWind
 +        backendContext.fBinaryArchive.retain((__bridge 
GrMTLHandle)d->fPipelineArchive);
      }
  #endif
--    fContext = GrDirectContext::MakeMetal(backendContext, 
fDisplayParams.fGrContextOptions);
+-    fContext = GrDirectContexts::MakeMetal(backendContext, 
fDisplayParams.fGrContextOptions);
 -    if (!fContext && fDisplayParams.fMSAASampleCount > 1) {
-+    d->fContext = GrDirectContext::MakeMetal(backendContext, 
fDisplayParams.fGrContextOptions);
++    d->fContext = GrDirectContexts::MakeMetal(backendContext, 
fDisplayParams.fGrContextOptions);
 +    if (!d->fContext && fDisplayParams.fMSAASampleCount > 1) {
          fDisplayParams.fMSAASampleCount /= 2;
 +        fGlobalShared.reset();
@@ -226,7 +226,7 @@ diff -ur skia.org/tools/window/MetalWindowContext.mm 
skia/tools/window/MetalWind
  }
 
  sk_sp<SkSurface> MetalWindowContext::getBackbufferSurface() {
-@@ -158,7 +193,7 @@
+@@ -160,7 +195,7 @@
  void MetalWindowContext::onSwapBuffers() {
      id<CAMetalDrawable> currentDrawable = 
(id<CAMetalDrawable>)fDrawableHandle;
 
@@ -235,7 +235,7 @@ diff -ur skia.org/tools/window/MetalWindowContext.mm 
skia/tools/window/MetalWind
      commandBuffer.label = @"Present";
 
      [commandBuffer presentDrawable:currentDrawable];
-@@ -179,9 +214,9 @@
+@@ -181,9 +216,9 @@
      if (!isActive) {
  #if SKGPU_GRAPHITE_METAL_SDK_VERSION >= 230
          if (@available(macOS 11.0, iOS 14.0, tvOS 14.0, *)) {
@@ -247,7 +247,7 @@ diff -ur skia.org/tools/window/MetalWindowContext.mm 
skia/tools/window/MetalWind
                  if (error) {
                      SkDebugf("Error storing MTLBinaryArchive:
%s
",
                               error.debugDescription.UTF8String);
-@@ -192,4 +227,11 @@
+@@ -194,4 +229,11 @@
      }
  }
 
@@ -259,9 +259,11 @@ diff -ur skia.org/tools/window/MetalWindowContext.mm 
skia/tools/window/MetalWind
 +}
 +
  }   //namespace skwindow::internal
+Only in skia/tools/window: MetalWindowContext.mm.orig
+Only in skia/tools/window: MetalWindowContext.mm.rej
 diff -ur skia.org/tools/window/unix/VulkanWindowContext_unix.cpp 
skia/tools/window/unix/VulkanWindowContext_unix.cpp
---- skia.org/tools/window/unix/VulkanWindowContext_unix.cpp    2024-10-08 
14:58:53.731121800 +0200
-+++ skia/tools/window/unix/VulkanWindowContext_unix.cpp        2024-10-08 
14:59:05.914213673 +0200
+--- skia.org/tools/window/unix/VulkanWindowContext_unix.cpp    2024-10-09 
09:52:11.322780365 +0200
++++ skia/tools/window/unix/VulkanWindowContext_unix.cpp        2024-10-09 
09:52:21.883858977 +0200
 @@ -24,7 +24,7 @@
          return nullptr;
      }
@@ -291,8 +293,8 @@ diff -ur 
skia.org/tools/window/unix/VulkanWindowContext_unix.cpp skia/tools/wind
      }
      return ctx;
 diff -ur skia.org/tools/window/VulkanWindowContext.cpp 
skia/tools/window/VulkanWindowContext.cpp
---- skia.org/tools/window/VulkanWindowContext.cpp      2024-10-08 
14:58:53.730121792 +0200
-+++ skia/tools/window/VulkanWindowContext.cpp  2024-10-08 14:59:28.352382864 
+0200
+--- skia.org/tools/window/VulkanWindowContext.cpp      2024-10-09 
09:52:11.322780365 +0200
++++ skia/tools/window/VulkanWindowContext.cpp  2024-10-09 09:52:21.883858977 
+0200
 @@ -29,9 +29,13 @@
  #endif
 
@@ -711,11 +713,9 @@ diff -ur skia.org/tools/window/VulkanWindowContext.cpp 
skia/tools/window/VulkanW
 +SK_API sk_sp<VulkanWindowContext::Shared> VulkanWindowContext::fGlobalShared;
 +
  }  // namespace skwindow::internal
-Only in skia/tools/window: VulkanWindowContext.cpp.orig
-Only in skia/tools/window: VulkanWindowContext.cpp.rej
 diff -ur skia.org/tools/window/VulkanWindowContext.h 
skia/tools/window/VulkanWindowContext.h
---- skia.org/tools/window/VulkanWindowContext.h        2024-10-08 
14:58:53.730121792 +0200
-+++ skia/tools/window/VulkanWindowContext.h    2024-10-08 14:59:05.914213673 
+0200
+--- skia.org/tools/window/VulkanWindowContext.h        2024-10-09 
09:52:11.322780365 +0200
++++ skia/tools/window/VulkanWindowContext.h    2024-10-09 09:52:21.883858977 
+0200
 @@ -15,19 +15,23 @@
  #include "tools/gpu/vk/VkTestUtils.h"
  #include "tools/window/WindowContext.h"
@@ -823,8 +823,8 @@ diff -ur skia.org/tools/window/VulkanWindowContext.h 
skia/tools/window/VulkanWin
 
      uint32_t               fImageCount;
 diff -ur skia.org/tools/window/win/VulkanWindowContext_win.cpp 
skia/tools/window/win/VulkanWindowContext_win.cpp
---- skia.org/tools/window/win/VulkanWindowContext_win.cpp      2024-10-08 
14:58:53.731121800 +0200
-+++ skia/tools/window/win/VulkanWindowContext_win.cpp  2024-10-08 
14:59:05.914213673 +0200
+--- skia.org/tools/window/win/VulkanWindowContext_win.cpp      2024-10-09 
09:52:11.322780365 +0200
++++ skia/tools/window/win/VulkanWindowContext_win.cpp  2024-10-09 
09:52:21.883858977 +0200
 @@ -25,7 +25,7 @@
          return nullptr;
      }
@@ -854,8 +854,8 @@ diff -ur 
skia.org/tools/window/win/VulkanWindowContext_win.cpp skia/tools/window
      }
      return ctx;
 diff -ur skia.org/tools/window/WindowContext.h 
skia/tools/window/WindowContext.h
---- skia.org/tools/window/WindowContext.h      2024-10-08 14:58:53.730121792 
+0200
-+++ skia/tools/window/WindowContext.h  2024-10-08 14:59:05.914213673 +0200
+--- skia.org/tools/window/WindowContext.h      2024-10-09 09:52:11.322780365 
+0200
++++ skia/tools/window/WindowContext.h  2024-10-09 09:52:21.883858977 +0200
 @@ -10,9 +10,9 @@
  #include "include/core/SkRefCnt.h"
  #include "include/core/SkSurfaceProps.h"
diff --git a/external/skia/windows-typeface-directwrite.patch.0 
b/external/skia/windows-typeface-directwrite.patch.0
index 56e8209cedb4..5c19dda32a93 100644
--- a/external/skia/windows-typeface-directwrite.patch.0
+++ b/external/skia/windows-typeface-directwrite.patch.0
@@ -44,5 +44,5 @@
 +}
 +
  #include "include/ports/SkFontMgr_indirect.h"
- SK_API sk_sp<SkFontMgr> 
SkFontMgr_New_DirectWriteRenderer(sk_sp<SkRemotableFontMgr> proxy) {
+ sk_sp<SkFontMgr> SkFontMgr_New_DirectWriteRenderer(sk_sp<SkRemotableFontMgr> 
proxy) {
      sk_sp<SkFontMgr> impl(SkFontMgr_New_DirectWrite());

Reply via email to