summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2024-10-09 10:32:51 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2024-10-09 18:21:02 +0200
commit9cf17d841a0c7b3b0c0811dd01f1536db6d7beda (patch)
tree07eba1327a1fe87c64a3d8e6c0d75c854e0e388c
parent36ba1f15ec7c89070cee81fc6188cc792300fdf4 (diff)
update to skia m124
Change-Id: I9bb712bdde8d2f2af792af5b439f4789e59f1595 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174720 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--download.lst4
-rw-r--r--external/skia/Library_skia.mk9
-rw-r--r--external/skia/UnpackedTarball_skia.mk2
-rw-r--r--external/skia/fontconfig-get-typeface.patch.1 (renamed from external/skia/fontconfig-get-typeface.patch.0)29
-rw-r--r--external/skia/share-grcontext.patch.152
-rw-r--r--external/skia/windows-typeface-directwrite.patch.02
6 files changed, 53 insertions, 45 deletions
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
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:\n%s\n",
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:\n%s\n",
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());