summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2023-07-08 20:28:29 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2023-07-10 12:44:38 +0200
commitf8c15850dbfaa46605e1e353ae1f49e69184e8a1 (patch)
treec8e2ef783ce0a9ca87a7e674ac3791ffe77103db
parent9a5329a266bd74abc4794f1fcbae3db07582dbde (diff)
update skia to m116
(from m111) SK_SUPPORT_GPU is now SK_GANESH GR_OP_ALLOCATE_USE_NEW was removed in skia m111 commit dd8f8ed3848cbe2032edc7ec08ef648a23e28ad9 Author: Mike Klein <mtklein@google.com> Date: Thu Apr 22 12:17:33 2021 -0500 clean up defines that do nothing the fast-png-write patch was removed. The underlying helper function we need was removed in commit 0ec4c84abd0b578a5c792b04b56653cbc325530e Author: Kevin Lubick <kjlubick@google.com> Date: Thu Apr 20 14:46:28 2023 -0400 Remove SkImageEncoder and SkImage::encodeToData So I updated our dump() function in SkiaHelper.cxx to use the new Skia API. The constexpr-template patch seems to be superceded by skia changes. SkOpts: :hash_fn has been replaced with SkChecksum::Hash32 commit 657ed9cf2379a950b925cb2aba7c85d6e1dd36ed Author: Brian Osman <brianosman@google.com> Date: Tue May 23 12:40:12 2023 +0000 Reland "Replace SkOpts::hash/hash_fn with SkChecksum::Hash32" The SkDebugf function needs to be exported from the library since it leaks out to calling code via some of the headers. Change-Id: I80ace8f25e660fa7889d22ef90676f47264d866c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154223 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rwxr-xr-xbin/update_pch2
-rw-r--r--config_host/config_skia.h.in5
-rw-r--r--configure.ac4
-rw-r--r--download.lst4
-rw-r--r--external/skia/Library_skia.mk140
-rw-r--r--external/skia/UnpackedTarball_skia.mk3
-rw-r--r--external/skia/constexpr-template.patch.065
-rw-r--r--external/skia/fast-png-write.patch.115
-rw-r--r--external/skia/fix-SkDebugf-link-error.patch.120
-rw-r--r--external/skia/fix-alpha-difference-copy.patch.12
-rw-r--r--external/skia/fix-pch.patch.12
-rw-r--r--external/skia/inc/pch/precompiled_skia.hxx255
-rw-r--r--external/skia/make-api-visible.patch.16
-rw-r--r--external/skia/share-grcontext.patch.139
-rw-r--r--external/skia/source/SkMemory_malloc.cxx2
-rw-r--r--external/skia/swap-buffers-rect.patch.1216
-rw-r--r--external/skia/ubsan.patch.18
-rw-r--r--external/skia/windows-do-not-modify-logfont.patch.04
-rw-r--r--external/skia/windows-force-unicode-api.patch.04
-rw-r--r--external/skia/windows-raster-surface-no-copies.patch.116
-rw-r--r--vcl/inc/skia/gdiimpl.hxx1
-rw-r--r--vcl/skia/SkiaHelper.cxx72
-rw-r--r--vcl/skia/gdiimpl.cxx2
-rw-r--r--vcl/skia/osx/bitmap.cxx1
-rw-r--r--vcl/skia/salbmp.cxx4
-rw-r--r--vcl/skia/win/gdiimpl.cxx3
-rw-r--r--vcl/skia/x11/textrender.cxx16
27 files changed, 473 insertions, 438 deletions
diff --git a/bin/update_pch b/bin/update_pch
index 63a39ce51b0b..4719e5f9269f 100755
--- a/bin/update_pch
+++ b/bin/update_pch
@@ -706,7 +706,7 @@ def is_allowed_if(line, module):
return True
if module == "external/skia":
# We always set these.
- if line == "#ifdef SK_VULKAN" or line == "#if SK_SUPPORT_GPU":
+ if line == "#ifdef SK_VULKAN" or line == "#if SK_GANESH":
return True
return False
diff --git a/config_host/config_skia.h.in b/config_host/config_skia.h.in
index 85711486984f..602e18a3f67b 100644
--- a/config_host/config_skia.h.in
+++ b/config_host/config_skia.h.in
@@ -31,7 +31,7 @@ are the same.
// GPU support (set by configure).
-#undef SK_SUPPORT_GPU
+#undef SK_GANESH
// Vulkan support enabled (set by configure).
#undef SK_VULKAN
// Metal support enabled (set by configure).
@@ -40,9 +40,6 @@ are the same.
// Memory allocator for Vulkan.
#define SK_USE_VMA 1
-// Set by Skia's BUILD.gn.
-#define GR_OP_ALLOCATE_USE_NEW
-
#define SK_CODEC_DECODES_PNG 1
#define SK_ENCODE_PNG 1
diff --git a/configure.ac b/configure.ac
index 80f2e5aa54f9..8c4977bfd3e5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -12180,12 +12180,12 @@ if test "$enable_skia" != "no" -a "$build_skia" = "yes" -a -z "$DISABLE_GUI"; th
BUILD_TYPE="$BUILD_TYPE SKIA"
if test "$OS" = "MACOSX"; then
- AC_DEFINE(SK_SUPPORT_GPU,1)
+ AC_DEFINE(SK_GANESH,1)
AC_DEFINE(SK_METAL,1)
SKIA_GPU=METAL
AC_SUBST(SKIA_GPU)
else
- AC_DEFINE(SK_SUPPORT_GPU,1)
+ AC_DEFINE(SK_GANESH,1)
AC_DEFINE(SK_VULKAN,1)
SKIA_GPU=VULKAN
AC_SUBST(SKIA_GPU)
diff --git a/download.lst b/download.lst
index 87821c543946..90d2341fefa7 100644
--- a/download.lst
+++ b/download.lst
@@ -506,8 +506,8 @@ RHINO_TARBALL := 798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
# three static lines
# so that git cherry-pick
# will not run into conflicts
-SKIA_SHA256SUM := 0d08a99ed46cde43b5ad2672b5d8770c8eb85d0d26cb8f1f85fd9befe1e9ceb9
-SKIA_TARBALL := skia-m111-a31e897fb3dcbc96b2b40999751611d029bf5404.tar.xz
+SKIA_SHA256SUM := 2223ebce534458a37826e8fe4f24635b0712cde7ed1bd3208f089f6fdd796e01
+SKIA_TARBALL := skia-m116-2ddcf183eb260f63698aa74d1bb380f247ad7ccd.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 7a7f59eccdb3..77e674a0b5e2 100644
--- a/external/skia/Library_skia.mk
+++ b/external/skia/Library_skia.mk
@@ -14,7 +14,8 @@ $(eval $(call gb_Library_set_warnings_disabled,skia))
$(eval $(call gb_Library_use_unpacked,skia,skia))
$(eval $(call gb_Library_use_clang,skia))
-$(eval $(call gb_Library_set_clang_precompiled_header,skia,external/skia/inc/pch/precompiled_skia))
+#This currently results in all sorts of compile complaints
+#$(eval $(call gb_Library_set_clang_precompiled_header,skia,external/skia/inc/pch/precompiled_skia))
$(eval $(call gb_Library_add_defs,skia,\
-DSKIA_IMPLEMENTATION=1 \
@@ -130,14 +131,21 @@ $(eval $(call gb_Library_set_generated_cxx_suffix,skia,cpp))
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/base/SkArenaAlloc \
+ UnpackedTarball/skia/src/base/SkBezierCurves \
UnpackedTarball/skia/src/base/SkBlockAllocator \
UnpackedTarball/skia/src/base/SkBuffer \
UnpackedTarball/skia/src/base/SkContainers \
+ UnpackedTarball/skia/src/base/SkCubics \
UnpackedTarball/skia/src/base/SkDeque \
+ UnpackedTarball/skia/src/base/SkFloatingPoint \
+ UnpackedTarball/skia/src/base/SkHalf \
UnpackedTarball/skia/src/base/SkMalloc \
UnpackedTarball/skia/src/base/SkMathPriv \
+ UnpackedTarball/skia/src/base/SkQuads \
UnpackedTarball/skia/src/base/SkSafeMath \
UnpackedTarball/skia/src/base/SkSemaphore \
+ UnpackedTarball/skia/src/base/SkSharedMutex \
+ UnpackedTarball/skia/src/base/SkSpinlock \
UnpackedTarball/skia/src/base/SkTDArray \
UnpackedTarball/skia/src/base/SkThreadID \
UnpackedTarball/skia/src/base/SkTSearch \
@@ -152,12 +160,13 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/codec/SkBmpStandardCodec \
UnpackedTarball/skia/src/codec/SkCodec \
UnpackedTarball/skia/src/codec/SkCodecImageGenerator \
- UnpackedTarball/skia/src/codec/SkColorTable \
+ UnpackedTarball/skia/src/codec/SkColorPalette \
UnpackedTarball/skia/src/codec/SkEncodedInfo \
UnpackedTarball/skia/src/codec/SkIcoCodec \
UnpackedTarball/skia/src/codec/SkMasks \
UnpackedTarball/skia/src/codec/SkMaskSwizzler \
UnpackedTarball/skia/src/codec/SkParseEncodedOrigin \
+ UnpackedTarball/skia/src/codec/SkPixmapUtils \
UnpackedTarball/skia/src/codec/SkPngCodec \
UnpackedTarball/skia/src/codec/SkSampledCodec \
UnpackedTarball/skia/src/codec/SkSampler \
@@ -184,19 +193,21 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/core/SkBlitter \
UnpackedTarball/skia/src/core/SkBlitter_Sprite \
UnpackedTarball/skia/src/core/SkBlurMask \
- UnpackedTarball/skia/src/core/SkBlurMF \
+ UnpackedTarball/skia/src/core/SkBlurMaskFilterImpl \
UnpackedTarball/skia/src/core/SkCachedData \
UnpackedTarball/skia/src/core/SkCanvas \
+ UnpackedTarball/skia/src/core/SkCanvas_Raster \
UnpackedTarball/skia/src/core/SkCanvasPriv \
UnpackedTarball/skia/src/core/SkCapabilities \
+ UnpackedTarball/skia/src/core/SkChecksum \
UnpackedTarball/skia/src/core/SkChromeRemoteGlyphCache \
UnpackedTarball/skia/src/core/SkClipStack \
UnpackedTarball/skia/src/core/SkClipStackDevice \
UnpackedTarball/skia/src/core/SkColor \
UnpackedTarball/skia/src/core/SkColorFilter \
- UnpackedTarball/skia/src/core/SkColorFilter_Matrix \
UnpackedTarball/skia/src/core/SkColorSpace \
UnpackedTarball/skia/src/core/SkColorSpaceXformSteps \
+ UnpackedTarball/skia/src/core/SkColorTable \
UnpackedTarball/skia/src/core/SkCompressedDataUtils \
UnpackedTarball/skia/src/core/SkContourMeasure \
UnpackedTarball/skia/src/core/SkConvertPixels \
@@ -206,14 +217,13 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/core/SkData \
UnpackedTarball/skia/src/core/SkDataTable \
UnpackedTarball/skia/src/core/SkDebug \
- UnpackedTarball/skia/src/core/SkDeferredDisplayList \
- UnpackedTarball/skia/src/core/SkDeferredDisplayListRecorder \
UnpackedTarball/skia/src/core/SkDescriptor \
UnpackedTarball/skia/src/core/SkDevice \
UnpackedTarball/skia/src/core/SkDistanceFieldGen \
UnpackedTarball/skia/src/core/SkDocument \
UnpackedTarball/skia/src/core/SkDrawable \
UnpackedTarball/skia/src/core/SkDraw \
+ UnpackedTarball/skia/src/core/SkDrawBase \
UnpackedTarball/skia/src/core/SkDrawLooper \
UnpackedTarball/skia/src/core/SkDrawShadowInfo \
UnpackedTarball/skia/src/core/SkDraw_atlas \
@@ -227,6 +237,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/core/SkFont \
UnpackedTarball/skia/src/core/SkFont_serial \
UnpackedTarball/skia/src/core/SkFontDescriptor \
+ UnpackedTarball/skia/src/core/SkFontMetricsPriv \
UnpackedTarball/skia/src/core/SkFontMgr \
UnpackedTarball/skia/src/core/SkFontStream \
UnpackedTarball/skia/src/core/SkGaussFilter \
@@ -234,11 +245,8 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/core/SkIDChangeListener \
UnpackedTarball/skia/src/core/SkGlobalInitialization_core \
UnpackedTarball/skia/src/core/SkGlyph \
- UnpackedTarball/skia/src/core/SkGlyphBuffer \
UnpackedTarball/skia/src/core/SkGlyphRunPainter \
UnpackedTarball/skia/src/core/SkGraphics \
- UnpackedTarball/skia/src/core/SkHalf \
- UnpackedTarball/skia/src/core/SkICC \
UnpackedTarball/skia/src/core/SkImageFilterCache \
UnpackedTarball/skia/src/core/SkImageFilterTypes \
UnpackedTarball/skia/src/core/SkImageFilter \
@@ -260,7 +268,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/core/SkMesh \
UnpackedTarball/skia/src/core/SkMipmap \
UnpackedTarball/skia/src/core/SkMipmapAccessor \
- UnpackedTarball/skia/src/core/SkModeColorFilter \
+ UnpackedTarball/skia/src/core/SkMipmapBuilder \
UnpackedTarball/skia/src/core/SkOpts \
UnpackedTarball/skia/src/core/SkOpts_erms \
UnpackedTarball/skia/src/core/SkOverdrawCanvas \
@@ -276,15 +284,14 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/core/SkPicture \
UnpackedTarball/skia/src/core/SkPictureData \
UnpackedTarball/skia/src/core/SkPictureFlat \
- UnpackedTarball/skia/src/core/SkPictureImageGenerator \
UnpackedTarball/skia/src/core/SkPicturePlayback \
UnpackedTarball/skia/src/core/SkPictureRecord \
UnpackedTarball/skia/src/core/SkPictureRecorder \
UnpackedTarball/skia/src/core/SkPixelRef \
UnpackedTarball/skia/src/core/SkPixmap \
+ UnpackedTarball/skia/src/core/SkPixmapDraw \
UnpackedTarball/skia/src/core/SkPoint \
UnpackedTarball/skia/src/core/SkPoint3 \
- UnpackedTarball/skia/src/core/SkPromiseImageTexture \
UnpackedTarball/skia/src/core/SkPtrRecorder \
UnpackedTarball/skia/src/core/SkQuadClipper \
UnpackedTarball/skia/src/core/SkRasterClip \
@@ -292,6 +299,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/core/SkRasterPipeline \
UnpackedTarball/skia/src/core/SkReadBuffer \
UnpackedTarball/skia/src/core/SkRecord \
+ UnpackedTarball/skia/src/core/SkReadPixelsRec \
UnpackedTarball/skia/src/core/SkRecordDraw \
UnpackedTarball/skia/src/core/SkRecordedDrawable \
UnpackedTarball/skia/src/core/SkRecorder \
@@ -302,7 +310,9 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/core/SkRegion_path \
UnpackedTarball/skia/src/core/SkResourceCache \
UnpackedTarball/skia/src/core/SkRRect \
+ UnpackedTarball/skia/src/core/SkRSXform \
UnpackedTarball/skia/src/core/SkRTree \
+ UnpackedTarball/skia/src/core/SkRuntimeBlender \
UnpackedTarball/skia/src/core/SkRuntimeEffect \
UnpackedTarball/skia/src/core/SkScalar \
UnpackedTarball/skia/src/core/SkScalerContext \
@@ -312,11 +322,10 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/core/SkScan \
UnpackedTarball/skia/src/core/SkScan_Hairline \
UnpackedTarball/skia/src/core/SkScan_Path \
- UnpackedTarball/skia/src/core/SkSharedMutex \
+ UnpackedTarball/skia/src/core/SkScan_SAAPath \
UnpackedTarball/skia/src/core/SkSLTypeShared \
UnpackedTarball/skia/src/core/SkSpecialImage \
UnpackedTarball/skia/src/core/SkSpecialSurface \
- UnpackedTarball/skia/src/core/SkSpinlock \
UnpackedTarball/skia/src/core/SkSpriteBlitter_ARGB32 \
UnpackedTarball/skia/src/core/SkStream \
UnpackedTarball/skia/src/core/SkStrike \
@@ -327,7 +336,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/core/SkStroke \
UnpackedTarball/skia/src/core/SkStrokeRec \
UnpackedTarball/skia/src/core/SkStrokerPriv \
- UnpackedTarball/skia/src/core/SkSurfaceCharacterization \
UnpackedTarball/skia/src/core/SkSwizzle \
UnpackedTarball/skia/src/core/SkTaskGroup \
UnpackedTarball/skia/src/core/SkTextBlob \
@@ -342,15 +350,24 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/core/SkVM \
UnpackedTarball/skia/src/core/SkVMBlitter \
UnpackedTarball/skia/src/core/SkWriteBuffer \
+ UnpackedTarball/skia/src/core/SkWritePixelsRec \
UnpackedTarball/skia/src/core/SkWriter32 \
- UnpackedTarball/skia/src/core/SkXfermode \
- UnpackedTarball/skia/src/core/SkXfermodeInterpretation \
UnpackedTarball/skia/src/core/SkYUVAInfo \
UnpackedTarball/skia/src/core/SkYUVAPixmaps \
UnpackedTarball/skia/src/core/SkYUVMath \
UnpackedTarball/skia/src/core/SkYUVPlanesCache \
- UnpackedTarball/skia/src/effects/imagefilters/SkAlphaThresholdImageFilter \
- UnpackedTarball/skia/src/effects/imagefilters/SkArithmeticImageFilter \
+ UnpackedTarball/skia/src/encode/SkICC \
+ UnpackedTarball/skia/src/encode/SkPngEncoderImpl \
+ UnpackedTarball/skia/src/encode/SkEncoder \
+ UnpackedTarball/skia/src/effects/colorfilters/SkBlendModeColorFilter \
+ UnpackedTarball/skia/src/effects/colorfilters/SkColorFilterBase \
+ UnpackedTarball/skia/src/effects/colorfilters/SkColorSpaceXformColorFilter \
+ UnpackedTarball/skia/src/effects/colorfilters/SkComposeColorFilter \
+ UnpackedTarball/skia/src/effects/colorfilters/SkGaussianColorFilter \
+ UnpackedTarball/skia/src/effects/colorfilters/SkMatrixColorFilter \
+ UnpackedTarball/skia/src/effects/colorfilters/SkRuntimeColorFilter \
+ UnpackedTarball/skia/src/effects/colorfilters/SkTableColorFilter \
+ UnpackedTarball/skia/src/effects/colorfilters/SkWorkingFormatColorFilter \
UnpackedTarball/skia/src/effects/imagefilters/SkBlendImageFilter \
UnpackedTarball/skia/src/effects/imagefilters/SkBlurImageFilter \
UnpackedTarball/skia/src/effects/imagefilters/SkColorFilterImageFilter \
@@ -379,25 +396,27 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/effects/SkEmbossMaskFilter \
UnpackedTarball/skia/src/effects/SkHighContrastFilter \
UnpackedTarball/skia/src/effects/SkLayerDrawLooper \
- UnpackedTarball/skia/src/effects/SkLumaColorFilter \
UnpackedTarball/skia/src/effects/SkOpPathEffect \
- UnpackedTarball/skia/src/effects/SkOverdrawColorFilter \
- UnpackedTarball/skia/src/effects/SkShaderMaskFilter \
- UnpackedTarball/skia/src/effects/SkTableColorFilter \
+ UnpackedTarball/skia/src/effects/SkShaderMaskFilterImpl \
UnpackedTarball/skia/src/effects/SkTableMaskFilter \
UnpackedTarball/skia/src/effects/SkTrimPathEffect \
UnpackedTarball/skia/src/effects/Sk1DPathEffect \
UnpackedTarball/skia/src/effects/Sk2DPathEffect \
UnpackedTarball/skia/src/fonts/SkRemotableFontMgr \
UnpackedTarball/skia/src/image/SkImage \
+ UnpackedTarball/skia/src/image/SkImage_Base \
UnpackedTarball/skia/src/image/SkImage_Lazy \
+ UnpackedTarball/skia/src/image/SkImage_LazyFactories \
+ UnpackedTarball/skia/src/image/SkImage_Picture \
UnpackedTarball/skia/src/image/SkImage_Raster \
+ UnpackedTarball/skia/src/image/SkImage_RasterFactories \
+ UnpackedTarball/skia/src/image/SkPictureImageGenerator \
UnpackedTarball/skia/src/image/SkRescaleAndReadPixels \
UnpackedTarball/skia/src/image/SkSurface \
+ UnpackedTarball/skia/src/image/SkSurface_Base\
+ UnpackedTarball/skia/src/image/SkSurface_Null \
UnpackedTarball/skia/src/image/SkSurface_Raster \
- UnpackedTarball/skia/src/images/SkImageEncoder \
- UnpackedTarball/skia/src/images/SkPngEncoder \
- UnpackedTarball/skia/src/images/SkWebpEncoder \
+ UnpackedTarball/skia/src/image/SkTiledImageUtils \
UnpackedTarball/skia/src/lazy/SkDiscardableMemoryPool \
UnpackedTarball/skia/src/pathops/SkAddIntersections \
UnpackedTarball/skia/src/pathops/SkDConicLineIntersection \
@@ -433,33 +452,29 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/pathops/SkReduceOrder \
UnpackedTarball/skia/src/sfnt/SkOTTable_name \
UnpackedTarball/skia/src/sfnt/SkOTUtils \
- UnpackedTarball/skia/src/shaders/gradients/SkGradientShader \
- UnpackedTarball/skia/src/shaders/gradients/SkGradientShaderBase \
+ UnpackedTarball/skia/src/shaders/gradients/SkConicalGradient \
+ UnpackedTarball/skia/src/shaders/gradients/SkGradientBaseShader \
UnpackedTarball/skia/src/shaders/gradients/SkLinearGradient \
UnpackedTarball/skia/src/shaders/gradients/SkRadialGradient \
UnpackedTarball/skia/src/shaders/gradients/SkSweepGradient \
- UnpackedTarball/skia/src/shaders/gradients/SkTwoPointConicalGradient \
+ UnpackedTarball/skia/src/shaders/SkBlendShader \
UnpackedTarball/skia/src/shaders/SkBitmapProcShader \
UnpackedTarball/skia/src/shaders/SkColorFilterShader \
UnpackedTarball/skia/src/shaders/SkColorShader \
- UnpackedTarball/skia/src/shaders/SkComposeShader \
+ UnpackedTarball/skia/src/shaders/SkCoordClampShader \
UnpackedTarball/skia/src/shaders/SkEmptyShader \
UnpackedTarball/skia/src/shaders/SkImageShader \
UnpackedTarball/skia/src/shaders/SkLocalMatrixShader \
- UnpackedTarball/skia/src/shaders/SkPerlinNoiseShader \
UnpackedTarball/skia/src/shaders/SkPictureShader \
+ UnpackedTarball/skia/src/shaders/SkPerlinNoiseShaderImpl \
+ UnpackedTarball/skia/src/shaders/SkRuntimeShader \
UnpackedTarball/skia/src/shaders/SkShader \
+ UnpackedTarball/skia/src/shaders/SkShaderBase \
UnpackedTarball/skia/src/shaders/SkTransformShader \
- UnpackedTarball/skia/src/sksl/dsl/DSLBlock \
- UnpackedTarball/skia/src/sksl/dsl/DSLCase \
- UnpackedTarball/skia/src/sksl/dsl/DSLCore \
+ UnpackedTarball/skia/src/shaders/SkTriColorShader \
UnpackedTarball/skia/src/sksl/dsl/DSLExpression \
- UnpackedTarball/skia/src/sksl/dsl/DSLFunction \
- UnpackedTarball/skia/src/sksl/dsl/DSLLayout \
UnpackedTarball/skia/src/sksl/dsl/DSLStatement \
UnpackedTarball/skia/src/sksl/dsl/DSLType \
- UnpackedTarball/skia/src/sksl/dsl/DSLVar \
- UnpackedTarball/skia/src/sksl/dsl/priv/DSLWriter \
UnpackedTarball/skia/src/sksl/ir/SkSLBinaryExpression \
UnpackedTarball/skia/src/sksl/ir/SkSLBlock \
UnpackedTarball/skia/src/sksl/ir/SkSLChildCall \
@@ -477,6 +492,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/sksl/ir/SkSLDoStatement \
UnpackedTarball/skia/src/sksl/ir/SkSLExpression \
UnpackedTarball/skia/src/sksl/ir/SkSLExpressionStatement \
+ UnpackedTarball/skia/src/sksl/ir/SkSLExtension \
UnpackedTarball/skia/src/sksl/ir/SkSLFieldAccess \
UnpackedTarball/skia/src/sksl/ir/SkSLForStatement \
UnpackedTarball/skia/src/sksl/ir/SkSLFunctionCall \
@@ -488,10 +504,13 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/sksl/ir/SkSLLayout \
UnpackedTarball/skia/src/sksl/ir/SkSLLiteral \
UnpackedTarball/skia/src/sksl/ir/SkSLModifiers \
+ UnpackedTarball/skia/src/sksl/ir/SkSLModifiersDeclaration \
UnpackedTarball/skia/src/sksl/ir/SkSLProgram \
UnpackedTarball/skia/src/sksl/ir/SkSLPrefixExpression \
UnpackedTarball/skia/src/sksl/ir/SkSLPostfixExpression \
UnpackedTarball/skia/src/sksl/ir/SkSLSetting \
+ UnpackedTarball/skia/src/sksl/ir/SkSLStructDefinition \
+ UnpackedTarball/skia/src/sksl/ir/SkSLSwitchCase \
UnpackedTarball/skia/src/sksl/ir/SkSLSwitchStatement \
UnpackedTarball/skia/src/sksl/ir/SkSLSwizzle \
UnpackedTarball/skia/src/sksl/ir/SkSLSymbolTable \
@@ -501,6 +520,9 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/sksl/ir/SkSLVarDeclarations \
UnpackedTarball/skia/src/sksl/ir/SkSLVariable \
UnpackedTarball/skia/src/sksl/ir/SkSLVariableReference \
+ UnpackedTarball/skia/src/sksl/tracing/SkSLTraceHook \
+ UnpackedTarball/skia/src/sksl/tracing/SkSLDebugTracePriv \
+ UnpackedTarball/skia/src/sksl/tracing/SkSLDebugTracePlayer \
UnpackedTarball/skia/src/sksl/SkSLAnalysis \
UnpackedTarball/skia/src/sksl/SkSLBuiltinTypes \
UnpackedTarball/skia/src/sksl/SkSLCompiler \
@@ -531,6 +553,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/sksl/analysis/SkSLIsSameExpressionTree \
UnpackedTarball/skia/src/sksl/analysis/SkSLIsTrivialExpression \
UnpackedTarball/skia/src/sksl/analysis/SkSLProgramUsage \
+ UnpackedTarball/skia/src/sksl/analysis/SkSLReturnsInputAlpha \
UnpackedTarball/skia/src/sksl/analysis/SkSLSymbolTableStackBuilder \
UnpackedTarball/skia/src/sksl/analysis/SkSLSwitchCaseContainsExit \
UnpackedTarball/skia/src/sksl/codegen/SkSLGLSLCodeGenerator \
@@ -540,7 +563,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/sksl/codegen/SkSLSPIRVtoHLSL \
UnpackedTarball/skia/src/sksl/codegen/SkSLVMCodeGenerator \
UnpackedTarball/skia/src/sksl/codegen/SkSLWGSLCodeGenerator \
- UnpackedTarball/skia/src/sksl/tracing/SkVMDebugTrace \
UnpackedTarball/skia/src/sksl/transform/SkSLAddConstToVarModifiers \
UnpackedTarball/skia/src/sksl/transform/SkSLEliminateDeadFunctions \
UnpackedTarball/skia/src/sksl/transform/SkSLEliminateDeadGlobalVariables \
@@ -549,8 +571,10 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/sksl/transform/SkSLEliminateUnreachableCode \
UnpackedTarball/skia/src/sksl/transform/SkSLFindAndDeclareBuiltinFunctions \
UnpackedTarball/skia/src/sksl/transform/SkSLFindAndDeclareBuiltinVariables \
+ UnpackedTarball/skia/src/sksl/transform/SkSLHoistSwitchVarDeclarationsAtTopLevel \
UnpackedTarball/skia/src/sksl/transform/SkSLRenamePrivateSymbols \
UnpackedTarball/skia/src/sksl/transform/SkSLReplaceConstVarsWithLiterals \
+ UnpackedTarball/skia/src/sksl/transform/SkSLRewriteIndexedSwizzle \
UnpackedTarball/skia/src/utils/SkBase64 \
UnpackedTarball/skia/src/utils/SkCamera \
UnpackedTarball/skia/src/utils/SkCanvasStack \
@@ -561,7 +585,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/utils/SkCharToGlyphCache \
UnpackedTarball/skia/src/utils/SkClipStackUtils \
UnpackedTarball/skia/src/utils/SkCustomTypeface \
- UnpackedTarball/skia/src/utils/SkGaussianColorFilter \
UnpackedTarball/skia/src/utils/SkJSON \
UnpackedTarball/skia/src/utils/SkJSONWriter \
UnpackedTarball/skia/src/utils/SkMatrix22 \
@@ -580,7 +603,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/utils/SkShadowTessellator \
UnpackedTarball/skia/src/utils/SkShadowUtils \
UnpackedTarball/skia/src/utils/SkTextUtils \
- UnpackedTarball/skia/src/utils/SkVMVisualizer \
UnpackedTarball/skia/src/xps/SkXPSDevice \
UnpackedTarball/skia/src/xps/SkXPSDocument \
))
@@ -590,16 +612,20 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/core/SkGpuBlurUtils \
UnpackedTarball/skia/src/gpu/AtlasTypes \
UnpackedTarball/skia/src/gpu/Blend \
+ UnpackedTarball/skia/src/gpu/BlendFormula \
+ UnpackedTarball/skia/src/gpu/DitherUtils \
UnpackedTarball/skia/src/gpu/RectanizerPow2 \
UnpackedTarball/skia/src/gpu/RectanizerSkyline \
UnpackedTarball/skia/src/gpu/ResourceKey \
UnpackedTarball/skia/src/gpu/ShaderErrorHandler \
UnpackedTarball/skia/src/gpu/Swizzle \
+ UnpackedTarball/skia/src/gpu/TiledTextureUtils \
UnpackedTarball/skia/src/gpu/ganesh/ClipStack \
UnpackedTarball/skia/src/gpu/ganesh/Device \
UnpackedTarball/skia/src/gpu/ganesh/Device_drawTexture \
UnpackedTarball/skia/src/gpu/ganesh/GrBufferTransferRenderTask \
UnpackedTarball/skia/src/gpu/ganesh/GrBufferUpdateRenderTask \
+ UnpackedTarball/skia/src/gpu/ganesh/GrFragmentProcessors \
UnpackedTarball/skia/src/gpu/ganesh/GrSurfaceProxyView \
UnpackedTarball/skia/src/gpu/ganesh/PathRenderer \
UnpackedTarball/skia/src/gpu/ganesh/PathRendererChain \
@@ -609,6 +635,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/gpu/ganesh/effects/GrBicubicEffect \
UnpackedTarball/skia/src/gpu/ganesh/effects/GrBitmapTextGeoProc \
UnpackedTarball/skia/src/gpu/ganesh/effects/GrBlendFragmentProcessor \
+ UnpackedTarball/skia/src/gpu/ganesh/effects/GrColorTableEffect \
UnpackedTarball/skia/src/gpu/ganesh/effects/GrConvexPolyEffect \
UnpackedTarball/skia/src/gpu/ganesh/effects/GrCoverageSetOpXP \
UnpackedTarball/skia/src/gpu/ganesh/effects/GrCustomXfermode \
@@ -619,6 +646,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/gpu/ganesh/effects/GrMatrixEffect \
UnpackedTarball/skia/src/gpu/ganesh/effects/GrModulateAtlasCoverageEffect \
UnpackedTarball/skia/src/gpu/ganesh/effects/GrOvalEffect \
+ UnpackedTarball/skia/src/gpu/ganesh/effects/GrPerlinNoise2Effect \
UnpackedTarball/skia/src/gpu/ganesh/effects/GrPorterDuffXferProcessor \
UnpackedTarball/skia/src/gpu/ganesh/effects/GrRRectEffect \
UnpackedTarball/skia/src/gpu/ganesh/effects/GrShadowGeoProc \
@@ -640,6 +668,14 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/gpu/ganesh/glsl/GrGLSLVertexGeoBuilder \
UnpackedTarball/skia/src/gpu/ganesh/gradients/GrGradientBitmapCache \
UnpackedTarball/skia/src/gpu/ganesh/gradients/GrGradientShader \
+ UnpackedTarball/skia/src/gpu/ganesh/image/GrImageUtils \
+ UnpackedTarball/skia/src/gpu/ganesh/image/GrTextureGenerator \
+ UnpackedTarball/skia/src/gpu/ganesh/image/SkImage_Ganesh \
+ UnpackedTarball/skia/src/gpu/ganesh/image/SkImage_GaneshBase \
+ UnpackedTarball/skia/src/gpu/ganesh/image/SkImage_GaneshFactories \
+ UnpackedTarball/skia/src/gpu/ganesh/image/SkImage_GaneshYUVA \
+ UnpackedTarball/skia/src/gpu/ganesh/image/SkImage_LazyTexture \
+ UnpackedTarball/skia/src/gpu/ganesh/image/SkImage_RasterPinnable \
UnpackedTarball/skia/src/gpu/ganesh/GrAHardwareBufferImageGenerator \
UnpackedTarball/skia/src/gpu/ganesh/GrAHardwareBufferUtils \
UnpackedTarball/skia/src/gpu/ganesh/GrAttachment \
@@ -659,6 +695,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/gpu/ganesh/GrDDLContext \
UnpackedTarball/skia/src/gpu/ganesh/GrDDLTask \
UnpackedTarball/skia/src/gpu/ganesh/GrDefaultGeoProcFactory \
+ UnpackedTarball/skia/src/gpu/ganesh/GrDeferredDisplayList \
UnpackedTarball/skia/src/gpu/ganesh/GrDirectContext \
UnpackedTarball/skia/src/gpu/ganesh/GrDirectContextPriv \
UnpackedTarball/skia/src/gpu/ganesh/GrDistanceFieldGenFromVector \
@@ -691,6 +728,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/gpu/ganesh/GrProcessorUnitTest \
UnpackedTarball/skia/src/gpu/ganesh/GrProgramDesc \
UnpackedTarball/skia/src/gpu/ganesh/GrProgramInfo \
+ UnpackedTarball/skia/src/gpu/ganesh/GrPromiseImageTexture \
UnpackedTarball/skia/src/gpu/ganesh/GrProxyProvider \
UnpackedTarball/skia/src/gpu/ganesh/GrRecordingContext \
UnpackedTarball/skia/src/gpu/ganesh/GrRecordingContextPriv \
@@ -710,6 +748,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/gpu/ganesh/GrStencilSettings \
UnpackedTarball/skia/src/gpu/ganesh/GrStyle \
UnpackedTarball/skia/src/gpu/ganesh/GrSurface \
+ UnpackedTarball/skia/src/gpu/ganesh/GrSurfaceCharacterization \
UnpackedTarball/skia/src/gpu/ganesh/GrSurfaceInfo \
UnpackedTarball/skia/src/gpu/ganesh/GrSurfaceProxy \
UnpackedTarball/skia/src/gpu/ganesh/GrSWMaskHelper \
@@ -735,6 +774,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/gpu/ganesh/mock/GrMockCaps \
UnpackedTarball/skia/src/gpu/ganesh/mock/GrMockGpu \
UnpackedTarball/skia/src/gpu/ganesh/mock/GrMockTypes \
+ UnpackedTarball/skia/src/gpu/ganesh/surface/SkSurface_Ganesh \
UnpackedTarball/skia/src/gpu/ganesh/SkGr \
UnpackedTarball/skia/src/gpu/ganesh/SurfaceContext \
UnpackedTarball/skia/src/gpu/ganesh/SurfaceFillContext \
@@ -744,17 +784,15 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/gpu/ganesh/tessellate/PathTessellator \
UnpackedTarball/skia/src/gpu/ganesh/tessellate/StrokeTessellator \
UnpackedTarball/skia/src/gpu/ganesh/text/GrAtlasManager \
+ UnpackedTarball/skia/src/gpu/PipelineUtils \
UnpackedTarball/skia/src/gpu/tessellate/FixedCountBufferUtils \
UnpackedTarball/skia/src/gpu/tessellate/Tessellation \
- UnpackedTarball/skia/src/image/SkImage_GpuBase \
- UnpackedTarball/skia/src/image/SkImage_Gpu \
- UnpackedTarball/skia/src/image/SkImage_GpuYUVA \
- UnpackedTarball/skia/src/image/SkSurface_Gpu \
UnpackedTarball/skia/src/text/GlyphRun \
UnpackedTarball/skia/src/text/StrikeForGPU \
UnpackedTarball/skia/src/text/gpu/DistanceFieldAdjustTable \
UnpackedTarball/skia/src/text/gpu/GlyphVector \
UnpackedTarball/skia/src/text/gpu/Slug \
+ UnpackedTarball/skia/src/text/gpu/SlugImpl \
UnpackedTarball/skia/src/text/gpu/StrikeCache \
UnpackedTarball/skia/src/text/gpu/SubRunContainer \
UnpackedTarball/skia/src/text/gpu/SubRunAllocator \
@@ -762,6 +800,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/text/gpu/SDFTControl \
UnpackedTarball/skia/src/text/gpu/TextBlob \
UnpackedTarball/skia/src/text/gpu/TextBlobRedrawCoordinator \
+ UnpackedTarball/skia/src/text/gpu/VertexFiller \
))
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
@@ -878,16 +917,9 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
$(LO_SKIA_AVOID_INLINE_COPIES) \
))
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
- UnpackedTarball/skia/src/opts/SkOpts_sse42, $(CXXFLAGS_INTRINSICS_SSE42) $(LO_CLANG_CXXFLAGS_INTRINSICS_SSE42) \
- $(LO_SKIA_AVOID_INLINE_COPIES) \
-))
-$(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/opts/SkOpts_ssse3, $(CXXFLAGS_INTRINSICS_SSSE3) $(LO_CLANG_CXXFLAGS_INTRINSICS_SSSE3) \
$(LO_SKIA_AVOID_INLINE_COPIES) \
))
-$(eval $(call gb_Library_add_generated_exception_objects,skia,\
- UnpackedTarball/skia/src/opts/SkOpts_crc32 \
-))
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/opts/SkOpts_skx, $(CXXFLAGS_INTRINSICS_AVX512) $(LO_CLANG_CXXFLAGS_INTRINSICS_AVX512)\
@@ -930,7 +962,6 @@ endif
else ifeq ($(OS),MACOSX)
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/ports/SkDebug_stdio \
- UnpackedTarball/skia/src/ports/SkImageEncoder_CG \
UnpackedTarball/skia/src/ports/SkImageGeneratorCG \
UnpackedTarball/skia/src/ports/SkFontMgr_mac_ct \
UnpackedTarball/skia/src/ports/SkFontMgr_mac_ct_factory \
@@ -974,7 +1005,8 @@ $(eval $(call gb_Library_add_generated_objcxxobjects,skia,\
UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlUniformHandler \
UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlUtil \
UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlVaryingHandler \
- UnpackedTarball/skia/src/image/SkSurface_GpuMtl \
+ UnpackedTarball/skia/src/gpu/ganesh/surface/SkSurface_GaneshMtl \
+ UnpackedTarball/skia/src/gpu/mtl/MtlUtils \
, -fobjc-arc \
))
endif
diff --git a/external/skia/UnpackedTarball_skia.mk b/external/skia/UnpackedTarball_skia.mk
index cafc7a9df3b8..f6e97fb899e2 100644
--- a/external/skia/UnpackedTarball_skia.mk
+++ b/external/skia/UnpackedTarball_skia.mk
@@ -30,15 +30,14 @@ skia_patches := \
fix-windows-dwrite.patch.1 \
swap-buffers-rect.patch.1 \
ubsan.patch.1 \
- fast-png-write.patch.1 \
fix-warnings.patch.1 \
windows-libraries-system32.patch.1 \
allow-no-es2restrictions.patch.1 \
vk_mem_alloc.patch.1 \
- constexpr-template.patch.0 \
tdf147342.patch.0 \
redefinition-of-op.patch.0 \
0001-Added-missing-include-cstdio.patch \
+ fix-SkDebugf-link-error.patch.1 \
$(eval $(call gb_UnpackedTarball_set_patchlevel,skia,1))
diff --git a/external/skia/constexpr-template.patch.0 b/external/skia/constexpr-template.patch.0
deleted file mode 100644
index 2e962660e4f0..000000000000
--- a/external/skia/constexpr-template.patch.0
+++ /dev/null
@@ -1,65 +0,0 @@
---- include/sksl/DSLFunction.h
-+++ include/sksl/DSLFunction.h
-@@ -93,17 +93,20 @@
- DSLExpression call(ExpressionArray args, Position pos = {});
-
- private:
-+ static void push_back(ExpressionArray& args, DSLExpression& expr);
-+
- void collectArgs(ExpressionArray& args) {}
-
- template<class... RemainingArgs>
- void collectArgs(ExpressionArray& args, DSLVar& var, RemainingArgs&&... remaining) {
-- args.push_back(DSLExpression(var).release());
-+ DSLExpression expr(var);
-+ push_back(args, expr);
- collectArgs(args, std::forward<RemainingArgs>(remaining)...);
- }
-
- template<class... RemainingArgs>
- void collectArgs(ExpressionArray& args, DSLExpression expr, RemainingArgs&&... remaining) {
-- args.push_back(expr.release());
-+ push_back(args, expr);
- collectArgs(args, std::forward<RemainingArgs>(remaining)...);
- }
-
---- src/core/SkStrikeCache.h
-+++ src/core/SkStrikeCache.h
-@@ -13,11 +13,10 @@
- #include "include/private/base/SkLoadUserConfig.h" // IWYU pragma: keep
- #include "include/private/base/SkMutex.h"
- #include "src/core/SkDescriptor.h"
-+#include "src/core/SkStrike.h"
- #include "src/core/SkStrikeSpec.h"
- #include "src/text/StrikeForGPU.h"
-
--class SkStrike;
--class SkStrikePinner;
- class SkTraceMemoryDump;
-
- // SK_DEFAULT_FONT_CACHE_COUNT_LIMIT and SK_DEFAULT_FONT_CACHE_LIMIT can be set using -D on your
---- src/gpu/ganesh/effects/GrBlendFragmentProcessor.h
-+++ src/gpu/ganesh/effects/GrBlendFragmentProcessor.h
-@@ -10,8 +10,7 @@
- #include "include/core/SkRefCnt.h"
-
- #include <memory>
--
--class GrFragmentProcessor;
-+#include "src/gpu/ganesh/GrFragmentProcessor.h"
-
- namespace GrBlendFragmentProcessor {
-
---- src/sksl/dsl/DSLFunction.cpp
-+++ src/sksl/dsl/DSLFunction.cpp
-@@ -41,6 +41,10 @@
- return context.fConfig->fIsBuiltinCode && SkSL::FindIntrinsicKind(name) != kNotIntrinsic;
- }
-
-+void DSLFunction::push_back(ExpressionArray& args, DSLExpression& expr) {
-+ args.push_back(expr.release());
-+}
-+
- void DSLFunction::init(DSLModifiers modifiers, const DSLType& returnType, std::string_view name,
- SkSpan<DSLParameter*> params, Position pos) {
- fPosition = pos;
diff --git a/external/skia/fast-png-write.patch.1 b/external/skia/fast-png-write.patch.1
deleted file mode 100644
index f47a2af70460..000000000000
--- a/external/skia/fast-png-write.patch.1
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/src/images/SkImageEncoder.cpp b/src/images/SkImageEncoder.cpp
-index a96a93e0fc..1c110afa58 100644
---- a/src/images/SkImageEncoder.cpp
-+++ b/src/images/SkImageEncoder.cpp
-@@ -46,6 +46,10 @@ bool SkEncodeImage(SkWStream* dst, const SkPixmap& src,
- }
- case SkEncodedImageFormat::kPNG: {
- SkPngEncoder::Options opts;
-+ if (quality == 1) {
-+ opts.fFilterFlags = SkPngEncoder::FilterFlag::kNone;
-+ opts.fZLibLevel = 1;
-+ }
- return SkPngEncoder::Encode(dst, src, opts);
- }
- case SkEncodedImageFormat::kWEBP: {
diff --git a/external/skia/fix-SkDebugf-link-error.patch.1 b/external/skia/fix-SkDebugf-link-error.patch.1
new file mode 100644
index 000000000000..989e8c407815
--- /dev/null
+++ b/external/skia/fix-SkDebugf-link-error.patch.1
@@ -0,0 +1,20 @@
+diff -ur skia.org/src/ports/SkDebug_stdio.cpp skia/src/ports/SkDebug_stdio.cpp
+--- skia.org/src/ports/SkDebug_stdio.cpp 2023-07-09 19:30:53.272682125 +0200
++++ skia/src/ports/SkDebug_stdio.cpp 2023-07-09 19:34:44.812723870 +0200
+@@ -5,6 +5,7 @@
+ * found in the LICENSE file.
+ */
+
++#include "include/private/base/SkAPI.h"
+ #include "include/private/base/SkFeatures.h"
+ #include "include/private/base/SkLoadUserConfig.h"
+
+@@ -13,7 +14,7 @@
+ #include <stdarg.h>
+ #include <stdio.h>
+
+-void SkDebugf(const char format[], ...) {
++SK_API void SkDebugf(const char format[], ...) {
+ va_list args;
+ va_start(args, format);
+ #pragma GCC diagnostic push
diff --git a/external/skia/fix-alpha-difference-copy.patch.1 b/external/skia/fix-alpha-difference-copy.patch.1
index 61a61e621fbd..a8db7377b55b 100644
--- a/external/skia/fix-alpha-difference-copy.patch.1
+++ b/external/skia/fix-alpha-difference-copy.patch.1
@@ -3,7 +3,7 @@ index df7d9a7025..7f94c2a660 100644
--- a/src/core/SkBlitter_Sprite.cpp
+++ b/src/core/SkBlitter_Sprite.cpp
@@ -191,7 +191,7 @@ SkBlitter* SkBlitter::ChooseSprite(const SkPixmap& dst, const SkPaint& paint,
- }
+ SkASSERT(alloc != nullptr);
// TODO: in principle SkRasterPipelineSpriteBlitter could be made to handle this.
- if (source.alphaType() == kUnpremul_SkAlphaType) {
diff --git a/external/skia/fix-pch.patch.1 b/external/skia/fix-pch.patch.1
index f3e70739354e..9adb47903013 100644
--- a/external/skia/fix-pch.patch.1
+++ b/external/skia/fix-pch.patch.1
@@ -45,9 +45,9 @@ index 035f94e1f6..3cf12db902 100644
+#ifndef SKSL_POISON
+#define SKSL_POISON
+
+ #include "src/sksl/SkSLBuiltinTypes.h"
#include "src/sksl/SkSLCompiler.h"
#include "src/sksl/SkSLContext.h"
-
@@ -38,3 +41,5 @@ private:
};
diff --git a/external/skia/inc/pch/precompiled_skia.hxx b/external/skia/inc/pch/precompiled_skia.hxx
index 1234f285c669..a37318ba079d 100644
--- a/external/skia/inc/pch/precompiled_skia.hxx
+++ b/external/skia/inc/pch/precompiled_skia.hxx
@@ -13,7 +13,7 @@
manual changes will be rewritten by the next run of update_pch.sh (which presumably
also fixes all possible problems, so it's usually better to use it).
- Generated on 2022-05-20 16:24:18 using:
+ Generated on 2023-07-09 12:12:38 using:
./bin/update_pch external/skia skia --cutoff=1 --exclude:system --include:module --include:local
If after updating build fails, use the following command to locate conflicting headers:
@@ -26,19 +26,24 @@
#include <array>
#include <atomic>
#include <bitset>
+#include <cassert>
#include <cctype>
+#include <cerrno>
#include <cfloat>
#include <chrono>
#include <cinttypes>
#include <climits>
#include <cmath>
+#include <csetjmp>
#include <cstddef>
#include <cstdint>
#include <cstdio>
+#include <cstdlib>
#include <cstring>
#include <ctype.h>
#include <deque>
#include <errno.h>
+#include <float.h>
#include <forward_list>
#include <functional>
#include <initializer_list>
@@ -47,14 +52,14 @@
#include <limits.h>
#include <limits>
#include <locale>
-#include <map>
-#include <math.h>
#include <memory>
#include <new>
#include <numeric>
#include <optional>
#include <png.h>
+#include <pngconf.h>
#include <queue>
+#include <ratio>
#include <set>
#include <sstream>
#include <stdarg.h>
@@ -68,7 +73,6 @@
#include <tuple>
#include <type_traits>
#include <unordered_map>
-#include <unordered_set>
#include <utility>
#include <vector>
#endif // PCH_LEVEL >= 1
@@ -79,6 +83,11 @@
#if PCH_LEVEL >= 3
#include <include/codec/SkAndroidCodec.h>
#include <include/codec/SkCodec.h>
+#include <include/codec/SkCodecAnimation.h>
+#include <include/codec/SkEncodedImageFormat.h>
+#include <include/codec/SkEncodedOrigin.h>
+#include <include/codec/SkPixmapUtils.h>
+#include <include/codec/SkPngChunkReader.h>
#include <include/core/SkAlphaType.h>
#include <include/core/SkAnnotation.h>
#include <include/core/SkBBHFactory.h>
@@ -87,18 +96,18 @@
#include <include/core/SkBlender.h>
#include <include/core/SkBlurTypes.h>
#include <include/core/SkCanvas.h>
+#include <include/core/SkCapabilities.h>
#include <include/core/SkClipOp.h>
#include <include/core/SkColor.h>
#include <include/core/SkColorFilter.h>
#include <include/core/SkColorPriv.h>
#include <include/core/SkColorSpace.h>
+#include <include/core/SkColorTable.h>
#include <include/core/SkColorType.h>
#include <include/core/SkContourMeasure.h>
#include <include/core/SkCubicMap.h>
#include <include/core/SkData.h>
#include <include/core/SkDataTable.h>
-#include <include/core/SkDeferredDisplayList.h>
-#include <include/core/SkDeferredDisplayListRecorder.h>
#include <include/core/SkDocument.h>
#include <include/core/SkDrawable.h>
#include <include/core/SkExecutor.h>
@@ -111,16 +120,13 @@
#include <include/core/SkFontStyle.h>
#include <include/core/SkFontTypes.h>
#include <include/core/SkGraphics.h>
-#include <include/core/SkICC.h>
#include <include/core/SkImage.h>
-#include <include/core/SkImageEncoder.h>
#include <include/core/SkImageFilter.h>
#include <include/core/SkImageGenerator.h>
#include <include/core/SkImageInfo.h>
#include <include/core/SkM44.h>
#include <include/core/SkMallocPixelRef.h>
#include <include/core/SkMaskFilter.h>
-#include <include/private/base/SkMath.h>
#include <include/core/SkMatrix.h>
#include <include/core/SkMesh.h>
#include <include/core/SkOpenTypeSVGDecoder.h>
@@ -131,13 +137,13 @@
#include <include/core/SkPathEffect.h>
#include <include/core/SkPathMeasure.h>
#include <include/core/SkPathTypes.h>
+#include <include/core/SkPathUtils.h>
#include <include/core/SkPicture.h>
#include <include/core/SkPictureRecorder.h>
#include <include/core/SkPixelRef.h>
#include <include/core/SkPixmap.h>
#include <include/core/SkPoint.h>
#include <include/core/SkPoint3.h>
-#include <include/core/SkPromiseImageTexture.h>
#include <include/core/SkRRect.h>
#include <include/core/SkRSXform.h>
#include <include/core/SkRasterHandleAllocator.h>
@@ -154,10 +160,11 @@
#include <include/core/SkString.h>
#include <include/core/SkStrokeRec.h>
#include <include/core/SkSurface.h>
-#include <include/core/SkSurfaceCharacterization.h>
+#include <include/core/SkSurfaceProps.h>
#include <include/core/SkSwizzle.h>
#include <include/core/SkTextBlob.h>
#include <include/core/SkTileMode.h>
+#include <include/core/SkTiledImageUtils.h>
#include <include/core/SkTime.h>
#include <include/core/SkTraceMemoryDump.h>
#include <include/core/SkTypeface.h>
@@ -169,9 +176,7 @@
#include <include/effects/Sk1DPathEffect.h>
#include <include/effects/Sk2DPathEffect.h>
#include <include/effects/SkBlenders.h>
-#include <include/effects/SkBlurMaskFilter.h>
#include <include/effects/SkColorMatrix.h>
-#include <include/effects/SkColorMatrixFilter.h>
#include <include/effects/SkCornerPathEffect.h>
#include <include/effects/SkDashPathEffect.h>
#include <include/effects/SkDiscretePathEffect.h>
@@ -185,62 +190,55 @@
#include <include/effects/SkRuntimeEffect.h>
#include <include/effects/SkShaderMaskFilter.h>
#include <include/effects/SkStrokeAndFillPathEffect.h>
-#include <include/effects/SkTableColorFilter.h>
#include <include/effects/SkTableMaskFilter.h>
#include <include/effects/SkTrimPathEffect.h>
-#include <include/encode/SkJpegEncoder.h>
+#include <include/encode/SkEncoder.h>
+#include <include/encode/SkICC.h>
#include <include/encode/SkPngEncoder.h>
-#include <include/encode/SkWebpEncoder.h>
-#include <include/gpu/GrBackendSurface.h>
-#include <include/gpu/GrContextOptions.h>
-#include <include/gpu/GrContextThreadSafeProxy.h>
#include <include/gpu/GrDirectContext.h>
-#include <include/gpu/GrRecordingContext.h>
#include <include/pathops/SkPathOps.h>
#include <include/ports/SkRemotableFontMgr.h>
#include <include/private/SkBitmaskEnum.h>
-#include <include/private/SkChecksum.h>
#include <include/private/SkColorData.h>
-#include <include/private/base/SkDeque.h>
#include <include/private/SkEncodedInfo.h>
-#include <include/private/SkFixed.h>
+#include <include/private/SkGainmapInfo.h>
+#include <include/private/SkIDChangeListener.h>
+#include <include/private/SkPathRef.h>
+#include <include/private/SkSLDefines.h>
+#include <include/private/SkSLSampleUsage.h>
+#include <include/private/SkShadowFlags.h>
+#include <include/private/base/SkAlign.h>
+#include <include/private/base/SkAssert.h>
+#include <include/private/base/SkCPUTypes.h>
+#include <include/private/base/SkContainers.h>
+#include <include/private/base/SkDebug.h>
+#include <include/private/base/SkDeque.h>
+#include <include/private/base/SkFeatures.h>
+#include <include/private/base/SkFixed.h>
#include <include/private/base/SkFloatBits.h>
#include <include/private/base/SkFloatingPoint.h>
-#include <include/private/SkHalf.h>
-#include <include/private/SkIDChangeListener.h>
#include <include/private/base/SkMacros.h>
-#include <include/private/SkMalloc.h>
+#include <include/private/base/SkMalloc.h>
+#include <include/private/base/SkMath.h>
#include <include/private/base/SkMutex.h>
+#include <include/private/base/SkNoncopyable.h>
#include <include/private/base/SkOnce.h>
-#include <include/private/SkOpts_spi.h>
-#include <include/private/SkPathRef.h>
-#include <include/private/SkSLDefines.h>
-#include <include/private/SkSLLayout.h>
-#include <include/private/SkSLModifiers.h>
-#include <include/private/SkSLProgramElement.h>
-#include <include/private/SkSLProgramKind.h>
-#include <include/private/SkSLSampleUsage.h>
-#include <include/private/SkSLStatement.h>
-#include <include/private/SkSLString.h>
-#include <include/private/SkSLSymbol.h>
+#include <include/private/base/SkPathEnums.h>
+#include <include/private/base/SkPoint_impl.h>
#include <include/private/base/SkSafe32.h>
#include <include/private/base/SkSemaphore.h>
-#include <include/private/SkShadowFlags.h>
-#include <include/private/SkSpinlock.h>
+#include <include/private/base/SkSpan_impl.h>
#include <include/private/base/SkTArray.h>
#include <include/private/base/SkTDArray.h>
#include <include/private/base/SkTFitsIn.h>
#include <include/private/base/SkTPin.h>
-#include <include/private/SkTemplates.h>
+#include <include/private/base/SkTemplates.h>
#include <include/private/base/SkThreadAnnotations.h>
#include <include/private/base/SkThreadID.h>
#include <include/private/base/SkTo.h>
-#include <include/private/base/SkVx.h>
-#include <include/private/chromium/GrSlug.h>
#include <include/private/chromium/SkChromeRemoteGlyphCache.h>
-#include <include/private/gpu/ganesh/GrImageContext.h>
-#include <include/private/gpu/ganesh/GrTypesPriv.h>
-#include <modules/skcms/skcms.h>
+#include <include/private/chromium/SkDiscardableMemory.h>
+#include <include/private/chromium/Slug.h>
#include <include/utils/SkBase64.h>
#include <include/utils/SkCamera.h>
#include <include/utils/SkCanvasStateUtils.h>
@@ -253,9 +251,39 @@
#include <include/utils/SkPaintFilterCanvas.h>
#include <include/utils/SkParse.h>
#include <include/utils/SkParsePath.h>
-#include <include/utils/SkRandom.h>
#include <include/utils/SkShadowUtils.h>
#include <include/utils/SkTextUtils.h>
+#include <include/utils/SkTraceEventPhase.h>
+#include <modules/skcms/skcms.h>
+#include <src/base/SkArenaAlloc.h>
+#include <src/base/SkAutoMalloc.h>
+#include <src/base/SkBezierCurves.h>
+#include <src/base/SkBlockAllocator.h>
+#include <src/base/SkBuffer.h>
+#include <src/base/SkCubics.h>
+#include <src/base/SkEndian.h>
+#include <src/base/SkHalf.h>
+#include <src/base/SkLeanWindows.h>
+#include <src/base/SkMSAN.h>
+#include <src/base/SkMathPriv.h>
+#include <src/base/SkNoDestructor.h>
+#include <src/base/SkQuads.h>
+#include <src/base/SkRandom.h>
+#include <src/base/SkRectMemcpy.h>
+#include <src/base/SkSafeMath.h>
+#include <src/base/SkScopeExit.h>
+#include <src/base/SkSharedMutex.h>
+#include <src/base/SkSpinlock.h>
+#include <src/base/SkStringView.h>
+#include <src/base/SkTDPQueue.h>
+#include <src/base/SkTInternalLList.h>
+#include <src/base/SkTLazy.h>
+#include <src/base/SkTSearch.h>
+#include <src/base/SkTSort.h>
+#include <src/base/SkUTF.h>
+#include <src/base/SkUtils.h>
+#include <src/base/SkVx.h>
+#include <src/base/SkZip.h>
#include <src/codec/SkAndroidCodecAdapter.h>
#include <src/codec/SkBmpBaseCodec.h>
#include <src/codec/SkBmpCodec.h>
@@ -264,11 +292,12 @@
#include <src/codec/SkBmpStandardCodec.h>
#include <src/codec/SkCodecImageGenerator.h>
#include <src/codec/SkCodecPriv.h>
-#include <src/codec/SkColorTable.h>
+#include <src/codec/SkColorPalette.h>
#include <src/codec/SkFrameHolder.h>
#include <src/codec/SkIcoCodec.h>
#include <src/codec/SkMaskSwizzler.h>
#include <src/codec/SkMasks.h>
+#include <src/codec/SkPixmapUtilsPriv.h>
#include <src/codec/SkPngCodec.h>
#include <src/codec/SkPngPriv.h>
#include <src/codec/SkSampledCodec.h>
@@ -278,12 +307,10 @@
#include <src/core/SkAAClip.h>
#include <src/core/SkATrace.h>
#include <src/core/SkAdvancedTypefaceMetrics.h>
+#include <src/core/SkAlphaRuns.h>
#include <src/core/SkAnalyticEdge.h>
#include <src/core/SkAnnotationKeys.h>
-#include <src/core/SkAntiRun.h>
-#include <src/base/SkArenaAlloc.h>
#include <src/core/SkAutoBlitterChoose.h>
-#include <src/base/SkAutoMalloc.h>
#include <src/core/SkAutoPixmapStorage.h>
#include <src/core/SkBigPicture.h>
#include <src/core/SkBitmapCache.h>
@@ -294,14 +321,14 @@
#include <src/core/SkBlenderBase.h>
#include <src/core/SkBlitRow.h>
#include <src/core/SkBlitter.h>
-#include <src/base/SkBlockAllocator.h>
+#include <src/core/SkBlitter_A8.h>
#include <src/core/SkBlurMask.h>
-#include <src/base/SkBuffer.h>
+#include <src/core/SkBlurMaskFilterImpl.h>
#include <src/core/SkCachedData.h>
#include <src/core/SkCanvasPriv.h>
+#include <src/core/SkChecksum.h>
#include <src/core/SkClipStack.h>
#include <src/core/SkClipStackDevice.h>
-#include <src/core/SkColorFilterBase.h>
#include <src/core/SkColorFilterPriv.h>
#include <src/core/SkColorSpacePriv.h>
#include <src/core/SkColorSpaceXformSteps.h>
@@ -310,54 +337,48 @@
#include <src/core/SkCoreBlitters.h>
#include <src/core/SkCpu.h>
#include <src/core/SkCubicClipper.h>
-#include <src/core/SkDebugUtils.h>
#include <src/core/SkDescriptor.h>
#include <src/core/SkDevice.h>
-#include <include/private/chromium/SkDiscardableMemory.h>
#include <src/core/SkDistanceFieldGen.h>
#include <src/core/SkDraw.h>
+#include <src/core/SkDrawBase.h>
#include <src/core/SkDrawProcs.h>
#include <src/core/SkDrawShadowInfo.h>
#include <src/core/SkEdge.h>
#include <src/core/SkEdgeBuilder.h>
#include <src/core/SkEdgeClipper.h>
#include <src/core/SkEffectPriv.h>
-#include <src/core/SkEndian.h>
#include <src/core/SkEnumerate.h>
#include <src/core/SkFDot6.h>
+#include <src/core/SkFilterColorProgram.h>
#include <src/core/SkFontDescriptor.h>
+#include <src/core/SkFontMetricsPriv.h>
#include <src/core/SkFontPriv.h>
#include <src/core/SkFontStream.h>
#include <src/core/SkFuzzLogging.h>
#include <src/core/SkGaussFilter.h>
#include <src/core/SkGeometry.h>
#include <src/core/SkGlyph.h>
-#include <src/core/SkGlyphBuffer.h>
#include <src/core/SkGlyphRunPainter.h>
-#include <src/core/SkGpuBlurUtils.h>
-#include <src/core/SkICCPriv.h>
#include <src/core/SkImageFilterCache.h>
#include <src/core/SkImageFilterTypes.h>
#include <src/core/SkImageFilter_Base.h>
+#include <src/core/SkImageInfoPriv.h>
#include <src/core/SkImagePriv.h>
#include <src/core/SkLRUCache.h>
#include <src/core/SkLatticeIter.h>
-#include <src/base/SkLeanWindows.h>
#include <src/core/SkLineClipper.h>
#include <src/core/SkLocalMatrixImageFilter.h>
#include <src/core/SkMD5.h>
-#include <src/core/SkMSAN.h>
#include <src/core/SkMask.h>
#include <src/core/SkMaskBlurFilter.h>
#include <src/core/SkMaskCache.h>
#include <src/core/SkMaskFilterBase.h>
#include <src/core/SkMaskGamma.h>
-#include <src/base/SkMathPriv.h>
#include <src/core/SkMatrixInvert.h>
#include <src/core/SkMatrixPriv.h>
#include <src/core/SkMatrixProvider.h>
#include <src/core/SkMatrixUtils.h>
-#include <src/core/SkMeshPriv.h>
#include <src/core/SkMessageBus.h>
#include <src/core/SkMipmap.h>
#include <src/core/SkMipmapAccessor.h>
@@ -377,7 +398,6 @@
#include <src/core/SkPicturePriv.h>
#include <src/core/SkPictureRecord.h>
#include <src/core/SkPixelRefPriv.h>
-#include <src/core/SkPixmapPriv.h>
#include <src/core/SkPointPriv.h>
#include <src/core/SkPtrRecorder.h>
#include <src/core/SkQuadClipper.h>
@@ -385,7 +405,10 @@
#include <src/core/SkRTree.h>
#include <src/core/SkRasterClip.h>
#include <src/core/SkRasterPipeline.h>
+#include <src/core/SkRasterPipelineOpContexts.h>
+#include <src/core/SkRasterPipelineOpList.h>
#include <src/core/SkReadBuffer.h>
+#include <src/core/SkReadPixelsRec.h>
#include <src/core/SkRecord.h>
#include <src/core/SkRecordDraw.h>
#include <src/core/SkRecordOpts.h>
@@ -396,42 +419,36 @@
#include <src/core/SkRectPriv.h>
#include <src/core/SkRegionPriv.h>
#include <src/core/SkResourceCache.h>
+#include <src/core/SkRuntimeBlender.h>
#include <src/core/SkRuntimeEffectPriv.h>
#include <src/core/SkSLTypeShared.h>
-#include <src/base/SkSafeMath.h>
#include <src/core/SkSafeRange.h>
#include <src/core/SkSamplingPriv.h>
#include <src/core/SkScaleToSides.h>
#include <src/core/SkScalerContext.h>
#include <src/core/SkScan.h>
#include <src/core/SkScanPriv.h>
-#include <src/base/SkScopeExit.h>
-#include <src/core/SkSharedMutex.h>
#include <src/core/SkSpecialImage.h>
#include <src/core/SkSpecialSurface.h>
#include <src/core/SkSpriteBlitter.h>
#include <src/core/SkStreamPriv.h>
+#include <src/core/SkStrike.h>
#include <src/core/SkStrikeCache.h>
#include <src/core/SkStrikeSpec.h>
#include <src/core/SkStringUtils.h>
#include <src/core/SkStroke.h>
#include <src/core/SkStrokerPriv.h>
#include <src/core/SkSurfacePriv.h>
-#include <src/base/SkTDPQueue.h>
+#include <src/core/SkSwizzlePriv.h>
#include <src/core/SkTDynamicHash.h>
-#include <src/base/SkTInternalLList.h>
-#include <src/base/SkTLazy.h>
-#include <src/core/SkTSearch.h>
-#include <src/base/SkTSort.h>
+#include <src/core/SkTHash.h>
#include <src/core/SkTaskGroup.h>
#include <src/core/SkTextBlobPriv.h>
#include <src/core/SkTextBlobTrace.h>
#include <src/core/SkTextFormatParams.h>
#include <src/core/SkTraceEvent.h>
-#include <src/core/SkTraceEventCommon.h>
#include <src/core/SkTypefaceCache.h>
#include <src/core/SkTypeface_remote.h>
-#include <src/base/SkUtils.h>
#include <src/core/SkVM.h>
#include <src/core/SkVMBlitter.h>
#include <src/core/SkValidationUtils.h>
@@ -440,8 +457,6 @@
#include <src/core/SkWriteBuffer.h>
#include <src/core/SkWritePixelsRec.h>
#include <src/core/SkWriter32.h>
-#include <src/core/SkXfermodeInterpretation.h>
-#include <src/core/SkXfermodePriv.h>
#include <src/core/SkYUVAInfoLocation.h>
#include <src/core/SkYUVMath.h>
#include <src/core/SkYUVPlanesCache.h>
@@ -449,61 +464,31 @@
#include <src/effects/SkEmbossMask.h>
#include <src/effects/SkEmbossMaskFilter.h>
#include <src/effects/SkOpPE.h>
+#include <src/effects/SkShaderMaskFilterImpl.h>
#include <src/effects/SkTrimPE.h>
+#include <src/effects/colorfilters/SkBlendModeColorFilter.h>
+#include <src/effects/colorfilters/SkColorFilterBase.h>
+#include <src/effects/colorfilters/SkColorSpaceXformColorFilter.h>
+#include <src/effects/colorfilters/SkComposeColorFilter.h>
+#include <src/effects/colorfilters/SkGaussianColorFilter.h>
+#include <src/effects/colorfilters/SkMatrixColorFilter.h>
+#include <src/effects/colorfilters/SkRuntimeColorFilter.h>
+#include <src/effects/colorfilters/SkTableColorFilter.h>
+#include <src/effects/colorfilters/SkWorkingFormatColorFilter.h>
#include <src/effects/imagefilters/SkCropImageFilter.h>
-#include <src/effects/imagefilters/SkRuntimeImageFilter.h>
-#include <src/gpu/Blend.h>
-#include <src/gpu/KeyBuilder.h>
-#include <src/gpu/ResourceKey.h>
-#include <src/gpu/ganesh/GrCaps.h>
-#include <src/gpu/ganesh/GrColorInfo.h>
-#include <src/gpu/ganesh/GrColorSpaceXform.h>
-#include <src/gpu/ganesh/GrContextThreadSafeProxyPriv.h>
-#include <src/gpu/ganesh/GrDirectContextPriv.h>
-#include <src/gpu/ganesh/GrDrawOpAtlas.h>
-#include <src/gpu/ganesh/GrFPArgs.h>
-#include <src/gpu/ganesh/GrFragmentProcessor.h>
-#include <src/gpu/ganesh/GrGpuResourcePriv.h>
-#include <src/gpu/ganesh/GrImageContextPriv.h>
-#include <src/gpu/ganesh/GrImageInfo.h>
-#include <src/gpu/ganesh/GrMemoryPool.h>
-#include <src/gpu/ganesh/GrPaint.h>
-#include <src/gpu/ganesh/GrProxyProvider.h>
-#include <src/gpu/ganesh/GrRecordingContextPriv.h>
-#include <src/gpu/ganesh/GrRenderTask.h>
-#include <src/gpu/ganesh/GrResourceProvider.h>
-#include <src/gpu/ganesh/GrSamplerState.h>
-#include <src/gpu/ganesh/GrShaderCaps.h>
-#include <src/gpu/ganesh/GrStyle.h>
-#include <src/gpu/ganesh/GrSurfaceProxyView.h>
-#include <src/gpu/ganesh/GrTexture.h>
-#include <src/gpu/ganesh/GrTextureProxy.h>
-#include <src/gpu/ganesh/GrThreadSafeCache.h>
-#include <src/gpu/ganesh/GrYUVATextureProxies.h>
-#include <src/gpu/ganesh/SkGr.h>
-#include <src/gpu/ganesh/SurfaceFillContext.h>
-#include <src/gpu/ganesh/effects/GrBicubicEffect.h>
-#include <src/gpu/ganesh/effects/GrBlendFragmentProcessor.h>
-#include <src/gpu/ganesh/effects/GrCustomXfermode.h>
-#include <src/gpu/ganesh/effects/GrMatrixConvolutionEffect.h>
-#include <src/gpu/ganesh/effects/GrMatrixEffect.h>
-#include <src/gpu/ganesh/effects/GrPorterDuffXferProcessor.h>
-#include <src/gpu/ganesh/effects/GrSkSLFP.h>
-#include <src/gpu/ganesh/effects/GrTextureEffect.h>
-#include <src/gpu/ganesh/effects/GrYUVtoRGBEffect.h>
-#include <src/gpu/ganesh/geometry/GrPathUtils.h>
-#include <src/gpu/ganesh/geometry/GrStyledShape.h>
-#include <src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.h>
-#include <src/gpu/ganesh/glsl/GrGLSLProgramDataManager.h>
-#include <src/gpu/ganesh/glsl/GrGLSLUniformHandler.h>
-#include <src/gpu/ganesh/gradients/GrGradientShader.h>
+#include <src/encode/SkICCPriv.h>
+#include <src/encode/SkImageEncoderFns.h>
+#include <src/encode/SkImageEncoderPriv.h>
+#include <src/encode/SkPngEncoderImpl.h>
+#include <src/image/SkImageGeneratorPriv.h>
#include <src/image/SkImage_Base.h>
-#include <src/image/SkImage_Gpu.h>
#include <src/image/SkImage_Lazy.h>
-#include <src/image/SkReadPixelsRec.h>
+#include <src/image/SkImage_Picture.h>
+#include <src/image/SkImage_Raster.h>
+#include <src/image/SkPictureImageGenerator.h>
#include <src/image/SkRescaleAndReadPixels.h>
#include <src/image/SkSurface_Base.h>
-#include <src/images/SkImageEncoderPriv.h>
+#include <src/image/SkSurface_Raster.h>
#include <src/lazy/SkDiscardableMemoryPool.h>
#include <src/pathops/SkAddIntersections.h>
#include <src/pathops/SkIntersectionHelper.h>
@@ -525,6 +510,7 @@
#include <src/pathops/SkPathOpsPoint.h>
#include <src/pathops/SkPathOpsQuad.h>
#include <src/pathops/SkPathOpsRect.h>
+#include <src/pathops/SkPathOpsTCurve.h>
#include <src/pathops/SkPathOpsTSect.h>
#include <src/pathops/SkPathOpsTypes.h>
#include <src/pathops/SkPathWriter.h>
@@ -535,15 +521,27 @@
#include <src/sfnt/SkOTTable_name.h>
#include <src/sfnt/SkOTUtils.h>
#include <src/shaders/SkBitmapProcShader.h>
+#include <src/shaders/SkBlendShader.h>
#include <src/shaders/SkColorFilterShader.h>
+#include <src/shaders/SkColorShader.h>
+#include <src/shaders/SkCoordClampShader.h>
+#include <src/shaders/SkEmptyShader.h>
#include <src/shaders/SkImageShader.h>
#include <src/shaders/SkLocalMatrixShader.h>
+#include <src/shaders/SkPerlinNoiseShaderImpl.h>
#include <src/shaders/SkPictureShader.h>
+#include <src/shaders/SkRuntimeShader.h>
#include <src/shaders/SkShaderBase.h>
#include <src/shaders/SkTransformShader.h>
+#include <src/shaders/SkTriColorShader.h>
+#include <src/shaders/gradients/SkConicalGradient.h>
+#include <src/shaders/gradients/SkGradientBaseShader.h>
#include <src/shaders/gradients/SkLinearGradient.h>
-#include <src/text/gpu/StrikeCache.h>
-#include <src/utils/SkBlitterTrace.h>
+#include <src/shaders/gradients/SkRadialGradient.h>
+#include <src/shaders/gradients/SkSweepGradient.h>
+#include <src/text/GlyphRun.h>
+#include <src/text/StrikeForGPU.h>
+#include <src/utils/SkBitSet.h>
#include <src/utils/SkCanvasStack.h>
#include <src/utils/SkCharToGlyphCache.h>
#include <src/utils/SkClipStackUtils.h>
@@ -559,9 +557,6 @@
#include <src/utils/SkPolyUtils.h>
#include <src/utils/SkShaderUtils.h>
#include <src/utils/SkShadowTessellator.h>
-#include <src/utils/SkTestCanvas.h>
-#include <src/base/SkUTF.h>
-#include <src/utils/SkVMVisualizer.h>
#include <tools/sk_app/WindowContext.h>
#endif // PCH_LEVEL >= 3
#if PCH_LEVEL >= 4
diff --git a/external/skia/make-api-visible.patch.1 b/external/skia/make-api-visible.patch.1
index 30eefa1860bf..4248fb526ef2 100644
--- a/external/skia/make-api-visible.patch.1
+++ b/external/skia/make-api-visible.patch.1
@@ -21,7 +21,7 @@ index 3e136a8f57..affb89e43e 100644
#ifdef SK_METAL
-std::unique_ptr<WindowContext> MakeMetalForMac(const MacWindowInfo&, const DisplayParams&);
+SK_API std::unique_ptr<WindowContext> MakeMetalForMac(const MacWindowInfo&, const DisplayParams&);
- #ifdef SK_GRAPHITE_ENABLED
+ #if defined(SK_GRAPHITE)
std::unique_ptr<WindowContext> MakeGraphiteMetalForMac(const MacWindowInfo&, const DisplayParams&);
#endif
diff --git a/tools/sk_app/unix/WindowContextFactory_unix.h b/tools/sk_app/unix/WindowContextFactory_unix.h
@@ -43,7 +43,7 @@ index 11bd2d2ac2..09c92dc417 100644
+SK_API std::unique_ptr<WindowContext> MakeDawnVulkanForXlib(const XlibWindowInfo&, const DisplayParams&);
#endif
- #if defined(SK_DAWN) && defined(SK_GRAPHITE_ENABLED)
+ #if defined(SK_DAWN) && defined(SK_GRAPHITE)
std::unique_ptr<WindowContext> MakeGraphiteDawnVulkanForXlib(const XlibWindowInfo&,
const DisplayParams&);
#endif
@@ -87,7 +87,7 @@ index c05a4f0acf..fc27cd2afb 100644
#ifdef SK_DAWN
-std::unique_ptr<WindowContext> MakeDawnD3D12ForWin(HWND, const DisplayParams&);
+SK_API std::unique_ptr<WindowContext> MakeDawnD3D12ForWin(HWND, const DisplayParams&);
- #ifdef SK_GRAPHITE_ENABLED
+ #if defined(SK_GRAPHITE)
std::unique_ptr<WindowContext> MakeGraphiteDawnD3D12ForWin(HWND, const DisplayParams&);
#endif
#endif
diff --git a/external/skia/share-grcontext.patch.1 b/external/skia/share-grcontext.patch.1
index c2f132047971..9d491868bf44 100644
--- a/external/skia/share-grcontext.patch.1
+++ b/external/skia/share-grcontext.patch.1
@@ -21,12 +21,14 @@ index 106d366415..08dc19b5c8 100644
sk_sp<SkSurface> getBackbufferSurface() override;
bool isValid() override { return fValid; }
-@@ -46,16 +51,34 @@ protected:
+@@ -44,18 +49,36 @@
void destroyContext();
virtual void onDestroyContext() = 0;
+ static void checkDestroyShared();
+
+ void onSwapBuffers() override;
+
bool fValid;
+
+ // We need to use just one GrDirectContext, so share all the relevant data.
@@ -36,7 +38,7 @@ index 106d366415..08dc19b5c8 100644
sk_cfp<id<MTLCommandQueue>> fQueue;
- CAMetalLayer* fMetalLayer;
- GrMTLHandle fDrawableHandle;
- #if GR_METAL_SDK_VERSION >= 230
+ #if SKGPU_GRAPHITE_METAL_SDK_VERSION >= 230
// wrapping this in sk_cfp throws up an availability warning, so we'll track lifetime manually
id<MTLBinaryArchive> fPipelineArchive SK_API_AVAILABLE(macos(11.0), ios(14.0));
#endif
@@ -62,7 +64,7 @@ diff --git a/tools/sk_app/MetalWindowContext.mm b/tools/sk_app/MetalWindowContex
index d972e321a6..9f576944b7 100644
--- a/tools/sk_app/MetalWindowContext.mm
+++ b/tools/sk_app/MetalWindowContext.mm
-@@ -37,24 +37,30 @@ NSURL* MetalWindowContext::CacheURL() {
+@@ -40,24 +40,30 @@ NSURL* MetalWindowContext::CacheURL() {
}
void MetalWindowContext::initializeContext() {
@@ -98,7 +100,7 @@ index d972e321a6..9f576944b7 100644
-
- fValid = this->onInitializeContext();
- #if GR_METAL_SDK_VERSION >= 230
+ #if SKGPU_GRAPHITE_METAL_SDK_VERSION >= 230
if (fDisplayParams.fEnableBinaryArchive) {
@@ -62,11 +68,11 @@ void MetalWindowContext::initializeContext() {
sk_cfp<MTLBinaryArchiveDescriptor*> desc([MTLBinaryArchiveDescriptor new]);
@@ -116,7 +118,7 @@ index d972e321a6..9f576944b7 100644
SkDebugf("Error creating MTLBinaryArchive:\n%s\n",
error.debugDescription.UTF8String);
}
-@@ -74,46 +80,75 @@ void MetalWindowContext::initializeContext() {
+@@ -77,46 +83,75 @@ void MetalWindowContext::initializeContext() {
}
} else {
if (@available(macOS 11.0, iOS 14.0, *)) {
@@ -131,7 +133,7 @@ index d972e321a6..9f576944b7 100644
- backendContext.fQueue.retain((GrMTLHandle)fQueue.get());
+ backendContext.fDevice.retain((GrMTLHandle)d->fDevice.get());
+ backendContext.fQueue.retain((GrMTLHandle)d->fQueue.get());
- #if GR_METAL_SDK_VERSION >= 230
+ #if SKGPU_GRAPHITE_METAL_SDK_VERSION >= 230
if (@available(macOS 11.0, iOS 14.0, *)) {
- backendContext.fBinaryArchive.retain((__bridge GrMTLHandle)fPipelineArchive);
+ backendContext.fBinaryArchive.retain((__bridge GrMTLHandle)d->fPipelineArchive);
@@ -192,7 +194,7 @@ index d972e321a6..9f576944b7 100644
+ fGlobalShared->fContext.reset();
+ }
+
- #if GR_METAL_SDK_VERSION >= 230
+ #if SKGPU_GRAPHITE_METAL_SDK_VERSION >= 230
if (@available(macOS 11.0, iOS 14.0, *)) {
- [fPipelineArchive release];
+ [fGlobalShared->fPipelineArchive release];
@@ -207,8 +209,8 @@ index d972e321a6..9f576944b7 100644
}
sk_sp<SkSurface> MetalWindowContext::getBackbufferSurface() {
-@@ -154,7 +189,7 @@ sk_sp<SkSurface> MetalWindowContext::getBackbufferSurface() {
- void MetalWindowContext::swapBuffers() {
+@@ -159,7 +194,7 @@ sk_sp<SkSurface> MetalWindowContext::getBackbufferSurface() {
+ void MetalWindowContext::onSwapBuffers() {
id<CAMetalDrawable> currentDrawable = (id<CAMetalDrawable>)fDrawableHandle;
- id<MTLCommandBuffer> commandBuffer([*fQueue commandBuffer]);
@@ -216,9 +218,9 @@ index d972e321a6..9f576944b7 100644
commandBuffer.label = @"Present";
[commandBuffer presentDrawable:currentDrawable];
-@@ -175,9 +210,9 @@ void MetalWindowContext::activate(bool isActive) {
+@@ -180,9 +215,9 @@ void MetalWindowContext::activate(bool isActive) {
if (!isActive) {
- #if GR_METAL_SDK_VERSION >= 230
+ #if SKGPU_GRAPHITE_METAL_SDK_VERSION >= 230
if (@available(macOS 11.0, iOS 14.0, *)) {
- if (fPipelineArchive) {
+ if (fShared->fPipelineArchive) {
@@ -646,15 +648,15 @@ index c9db528ca4..634034da5a 100644
return nullptr;
}
}
-@@ -542,7 +577,7 @@ void VulkanWindowContext::swapBuffers() {
+@@ -547,7 +582,7 @@ void VulkanWindowContext::swapBuffers() {
GrFlushInfo info;
info.fNumSemaphores = 1;
info.fSignalSemaphores = &beSemaphore;
- skgpu::MutableTextureState presentState(VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, fPresentQueueIndex);
+ skgpu::MutableTextureState presentState(VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, fShared->fPresentQueueIndex);
- surface->flush(info, &presentState);
- surface->recordingContext()->asDirectContext()->submit();
-
+ auto dContext = surface->recordingContext()->asDirectContext();
+ dContext->flush(surface, info, &presentState);
+ dContext->submit();
@@ -562,4 +597,6 @@ void VulkanWindowContext::swapBuffers() {
fQueuePresentKHR(fPresentQueue, &presentInfo);
}
@@ -666,7 +668,7 @@ diff --git a/tools/sk_app/VulkanWindowContext.h b/tools/sk_app/VulkanWindowConte
index 7e1fdd9af5..946bca7522 100644
--- a/tools/sk_app/VulkanWindowContext.h
+++ b/tools/sk_app/VulkanWindowContext.h
-@@ -19,20 +19,24 @@
+@@ -16,19 +16,23 @@
#include "tools/gpu/vk/VkTestUtils.h"
#include "tools/sk_app/WindowContext.h"
@@ -686,7 +688,6 @@ index 7e1fdd9af5..946bca7522 100644
+ static GrDirectContext* getSharedGrDirectContext() { return fGlobalShared ? fGlobalShared->fContext.get() : nullptr; }
+
sk_sp<SkSurface> getBackbufferSurface() override;
- void swapBuffers() override;
- bool isValid() override { return fDevice != VK_NULL_HANDLE; }
+ bool isValid() override { return fSurface != VK_NULL_HANDLE; }
@@ -710,8 +711,8 @@ index 7e1fdd9af5..946bca7522 100644
struct BackbufferInfo {
uint32_t fImageIndex; // image this is associated with
@@ -64,11 +74,6 @@ private:
- bool createBuffers(VkFormat format, VkImageUsageFlags, SkColorType colorType, VkSharingMode);
void destroyBuffers();
+ void onSwapBuffers() override;
- VkInstance fInstance = VK_NULL_HANDLE;
- VkPhysicalDevice fPhysicalDevice = VK_NULL_HANDLE;
@@ -786,7 +787,7 @@ index 65ab8b9aa4..2d222385a3 100644
-class GrDirectContext;
class SkSurface;
- #ifdef SK_GRAPHITE_ENABLED
+ #if defined(SK_GRAPHITE)
namespace skgpu::graphite {
diff --git a/tools/sk_app/mac/MetalWindowContext_mac.mm b/tools/sk_app/mac/MetalWindowContext_mac.mm
index 5bea8578fa..f7df061af0 100644
diff --git a/external/skia/source/SkMemory_malloc.cxx b/external/skia/source/SkMemory_malloc.cxx
index 9e2da3c20023..d1f0cd3f6b98 100644
--- a/external/skia/source/SkMemory_malloc.cxx
+++ b/external/skia/source/SkMemory_malloc.cxx
@@ -4,7 +4,7 @@
*/
#include "include/core/SkTypes.h"
-#include "include/private/SkMalloc.h"
+#include "include/private/base/SkMalloc.h"
#include <sal/log.hxx>
#include <rtl/alloc.h>
diff --git a/external/skia/swap-buffers-rect.patch.1 b/external/skia/swap-buffers-rect.patch.1
index 628a7e26cd80..7ccfaca3d042 100644
--- a/external/skia/swap-buffers-rect.patch.1
+++ b/external/skia/swap-buffers-rect.patch.1
@@ -1,112 +1,49 @@
-diff --git a/tools/sk_app/GLWindowContext.h b/tools/sk_app/GLWindowContext.h
-index c519903006..5dc5bcd180 100644
---- a/tools/sk_app/GLWindowContext.h
-+++ b/tools/sk_app/GLWindowContext.h
-@@ -25,7 +25,7 @@ public:
- bool isValid() override { return SkToBool(fBackendContext.get()); }
+diff -ur skia.org/tools/sk_app/MetalWindowContext.h skia/tools/sk_app/MetalWindowContext.h
+--- skia.org/tools/sk_app/MetalWindowContext.h 2023-07-08 21:49:27.179700423 +0200
++++ skia/tools/sk_app/MetalWindowContext.h 2023-07-08 21:51:53.416328675 +0200
+@@ -51,7 +51,7 @@
- void resize(int w, int h) override;
-- void swapBuffers() override;
-+ void swapBuffers(const SkIRect* rect = nullptr) override;
+ static void checkDestroyShared();
- void setDisplayParams(const DisplayParams& params) override;
-
-diff --git a/tools/sk_app/MetalWindowContext.h b/tools/sk_app/MetalWindowContext.h
-index fbf35c3c2b..2194277922 100644
---- a/tools/sk_app/MetalWindowContext.h
-+++ b/tools/sk_app/MetalWindowContext.h
-@@ -29,7 +29,7 @@ public:
-
- bool isValid() override { return fValid; }
+- void onSwapBuffers() override;
++ void onSwapBuffers(const SkIRect* rect = nullptr) override;
-- void swapBuffers() override;
-+ void swapBuffers(const SkIRect* rect = nullptr) override;
-
- void setDisplayParams(const DisplayParams& params) override;
+ bool fValid;
-diff --git a/tools/sk_app/MetalWindowContext.mm b/tools/sk_app/MetalWindowContext.mm
-index 49dc77b74d..ca1d74dc6c 100644
---- a/tools/sk_app/MetalWindowContext.mm
-+++ b/tools/sk_app/MetalWindowContext.mm
-@@ -187,7 +187,7 @@ GrBackendRenderTarget backendRT(fWidth,
+diff -ur skia.org/tools/sk_app/MetalWindowContext.mm skia/tools/sk_app/MetalWindowContext.mm
+--- skia.org/tools/sk_app/MetalWindowContext.mm 2023-07-08 21:49:27.179700423 +0200
++++ skia/tools/sk_app/MetalWindowContext.mm 2023-07-08 21:52:10.064396318 +0200
+@@ -191,7 +191,7 @@
return surface;
}
--void MetalWindowContext::swapBuffers() {
-+void MetalWindowContext::swapBuffers(const SkIRect*) {
+-void MetalWindowContext::onSwapBuffers() {
++void MetalWindowContext::onSwapBuffers(const SkIRect*) {
id<CAMetalDrawable> currentDrawable = (id<CAMetalDrawable>)fDrawableHandle;
id<MTLCommandBuffer> commandBuffer([*fShared->fQueue commandBuffer]);
-diff --git a/tools/sk_app/VulkanWindowContext.cpp b/tools/sk_app/VulkanWindowContext.cpp
-index 2b36d60076..d73978c9e4 100644
---- a/tools/sk_app/VulkanWindowContext.cpp
-+++ b/tools/sk_app/VulkanWindowContext.cpp
-@@ -572,7 +572,7 @@ sk_sp<SkSurface> VulkanWindowContext::getBackbufferSurface() {
- return sk_ref_sp(surface);
- }
-
--void VulkanWindowContext::swapBuffers() {
-+void VulkanWindowContext::swapBuffers(const SkIRect*) {
-
- BackbufferInfo* backbuffer = fBackbuffers + fCurrentBackbufferIndex;
- SkSurface* surface = fSurfaces[backbuffer->fImageIndex].get();
-diff --git a/tools/sk_app/VulkanWindowContext.h b/tools/sk_app/VulkanWindowContext.h
-index 92bfba6dff..46f7fd97bd 100644
---- a/tools/sk_app/VulkanWindowContext.h
-+++ b/tools/sk_app/VulkanWindowContext.h
-@@ -32,7 +32,7 @@ public:
- static GrDirectContext* getSharedGrDirectContext() { return fGlobalShared ? fGlobalShared->fContext.get() : nullptr; }
-
- sk_sp<SkSurface> getBackbufferSurface() override;
-- void swapBuffers() override;
-+ void swapBuffers(const SkIRect* rect = nullptr) override;
-
- bool isValid() override { return fSurface != VK_NULL_HANDLE; }
-
-diff --git a/tools/sk_app/WindowContext.h b/tools/sk_app/WindowContext.h
-index 68bb84b988..e15c1a3cf3 100644
---- a/tools/sk_app/WindowContext.h
-+++ b/tools/sk_app/WindowContext.h
-@@ -8,6 +8,7 @@
- #define WindowContext_DEFINED
-
- #include "include/core/SkRefCnt.h"
-+#include "include/core/SkRect.h"
- #include "include/core/SkSurfaceProps.h"
- #include "include/gpu/GrTypes.h"
- #include "include/gpu/GrDirectContext.h"
-@@ -25,7 +26,7 @@ public:
-
- virtual sk_sp<SkSurface> getBackbufferSurface() = 0;
+diff -ur skia.org/tools/sk_app/unix/RasterWindowContext_unix.cpp skia/tools/sk_app/unix/RasterWindowContext_unix.cpp
+--- skia.org/tools/sk_app/unix/RasterWindowContext_unix.cpp 2023-07-08 21:49:27.183700444 +0200
++++ skia/tools/sk_app/unix/RasterWindowContext_unix.cpp 2023-07-08 21:54:06.840852252 +0200
+@@ -24,7 +24,7 @@
+ void setDisplayParams(const DisplayParams& params) override;
-- virtual void swapBuffers() = 0;
-+ virtual void swapBuffers(const SkIRect* rect = nullptr) = 0;
+ protected:
+- void onSwapBuffers() override;
++ void onSwapBuffers(const SkIRect* rect = nullptr) override;
- virtual bool isValid() = 0;
-
-diff --git a/tools/sk_app/unix/RasterWindowContext_unix.cpp b/tools/sk_app/unix/RasterWindowContext_unix.cpp
-index 6ac20962b7..2ea9e07588 100644
---- a/tools/sk_app/unix/RasterWindowContext_unix.cpp
-+++ b/tools/sk_app/unix/RasterWindowContext_unix.cpp
-@@ -19,7 +19,7 @@ public:
- RasterWindowContext_xlib(Display*, XWindow, int width, int height, const DisplayParams&);
-
- sk_sp<SkSurface> getBackbufferSurface() override;
-- void swapBuffers() override;
-+ void swapBuffers(const SkIRect* rect) override;
- bool isValid() override { return SkToBool(fWindow); }
- void resize(int w, int h) override;
- void setDisplayParams(const DisplayParams& params) override;
-@@ -60,7 +60,7 @@ void RasterWindowContext_xlib::resize(int w, int h) {
+ sk_sp<SkSurface> fBackbufferSurface;
+ Display* fDisplay;
+@@ -58,7 +58,7 @@
sk_sp<SkSurface> RasterWindowContext_xlib::getBackbufferSurface() { return fBackbufferSurface; }
--void RasterWindowContext_xlib::swapBuffers() {
-+void RasterWindowContext_xlib::swapBuffers(const SkIRect* rect) {
+-void RasterWindowContext_xlib::onSwapBuffers() {
++void RasterWindowContext_xlib::onSwapBuffers(const SkIRect* rect) {
SkPixmap pm;
if (!fBackbufferSurface->peekPixels(&pm)) {
return;
-@@ -82,7 +82,9 @@ void RasterWindowContext_xlib::swapBuffers() {
+@@ -80,7 +80,9 @@
if (!XInitImage(&image)) {
return;
}
@@ -117,31 +54,54 @@ index 6ac20962b7..2ea9e07588 100644
}
} // anonymous namespace
-diff --git a/tools/sk_app/win/RasterWindowContext_win.cpp b/tools/sk_app/win/RasterWindowContext_win.cpp
-index d80c6fbeec..72df8d5170 100644
---- a/tools/sk_app/win/RasterWindowContext_win.cpp
-+++ b/tools/sk_app/win/RasterWindowContext_win.cpp
-@@ -22,7 +22,7 @@ public:
- RasterWindowContext_win(HWND, const DisplayParams&);
-
- sk_sp<SkSurface> getBackbufferSurface() override;
-- void swapBuffers() override;
-+ void swapBuffers(const SkIRect* rect) override;
- bool isValid() override { return SkToBool(fWnd); }
- void resize(int w, int h) override;
+diff -ur skia.org/tools/sk_app/VulkanWindowContext.cpp skia/tools/sk_app/VulkanWindowContext.cpp
+--- skia.org/tools/sk_app/VulkanWindowContext.cpp 2023-07-08 21:49:27.179700423 +0200
++++ skia/tools/sk_app/VulkanWindowContext.cpp 2023-07-08 21:52:53.676570245 +0200
+@@ -572,7 +572,7 @@
+ return sk_ref_sp(surface);
+ }
+
+-void VulkanWindowContext::onSwapBuffers() {
++void VulkanWindowContext::onSwapBuffers(const SkIRect*) {
+
+ BackbufferInfo* backbuffer = fBackbuffers + fCurrentBackbufferIndex;
+ sk_sp<SkSurface> surface = fSurfaces[backbuffer->fImageIndex];
+diff -ur skia.org/tools/sk_app/VulkanWindowContext.h skia/tools/sk_app/VulkanWindowContext.h
+--- skia.org/tools/sk_app/VulkanWindowContext.h 2023-07-08 21:49:27.179700423 +0200
++++ skia/tools/sk_app/VulkanWindowContext.h 2023-07-08 21:52:34.580494658 +0200
+@@ -71,7 +71,7 @@
+ bool createSwapchain(int width, int height, const DisplayParams& params);
+ bool createBuffers(VkFormat format, VkImageUsageFlags, SkColorType colorType, VkSharingMode);
+ void destroyBuffers();
+- void onSwapBuffers() override;
++ void onSwapBuffers(const SkIRect* rect = nullptr) override;
+
+ // Create functions
+ CreateVkSurfaceFn fCreateVkSurfaceFn;
+diff -ur skia.org/tools/sk_app/win/RasterWindowContext_win.cpp skia/tools/sk_app/win/RasterWindowContext_win.cpp
+--- skia.org/tools/sk_app/win/RasterWindowContext_win.cpp 2023-07-08 21:49:27.183700444 +0200
++++ skia/tools/sk_app/win/RasterWindowContext_win.cpp 2023-07-08 21:55:26.169145828 +0200
+@@ -27,7 +27,7 @@
void setDisplayParams(const DisplayParams& params) override;
-@@ -75,13 +75,17 @@ void RasterWindowContext_win::resize(int w, int h) {
+
+ protected:
+- void onSwapBuffers() override;
++ void onSwapBuffers(const SkIRect* rect=nullptr) override;
+
+ SkAutoMalloc fSurfaceMemory;
+ sk_sp<SkSurface> fBackbufferSurface;
+@@ -73,13 +73,17 @@
sk_sp<SkSurface> RasterWindowContext_win::getBackbufferSurface() { return fBackbufferSurface; }
--void RasterWindowContext_win::swapBuffers() {
-+void RasterWindowContext_win::swapBuffers(const SkIRect* rect) {
+-void RasterWindowContext_win::onSwapBuffers() {
++void RasterWindowContext_win::onSwapBuffers(const SkIRect* rect) {
BITMAPINFO* bmpInfo = reinterpret_cast<BITMAPINFO*>(fSurfaceMemory.get());
HDC dc = GetDC(fWnd);
SkPixmap pixmap;
fBackbufferSurface->peekPixels(&pixmap);
- StretchDIBits(dc, 0, 0, fWidth, fHeight, 0, 0, fWidth, fHeight, pixmap.addr(), bmpInfo,
-- DIB_RGB_COLORS, SRCCOPY);
+- DIB_RGB_COLORS, SRCCOPY);
+ SkIRect update = rect ? *rect : SkIRect::MakeWH( fWidth, fHeight );
+ // It appears that y-axis handling is broken if it doesn't match the window size.
+ update = SkIRect::MakeXYWH( update.x(), 0, update.width(), fHeight );
@@ -151,3 +111,45 @@ index d80c6fbeec..72df8d5170 100644
ReleaseDC(fWnd, dc);
}
+diff -ur skia.org/tools/sk_app/WindowContext.cpp skia/tools/sk_app/WindowContext.cpp
+--- skia.org/tools/sk_app/WindowContext.cpp 2023-07-08 21:49:27.179700423 +0200
++++ skia/tools/sk_app/WindowContext.cpp 2023-07-08 21:56:23.373350669 +0200
+@@ -20,7 +20,7 @@
+
+ WindowContext::~WindowContext() {}
+
+-void WindowContext::swapBuffers() {
++void WindowContext::swapBuffers(const SkIRect* rect) {
+ #if defined(SK_GRAPHITE)
+ if (fGraphiteContext) {
+ SkASSERT(fGraphiteRecorder);
+@@ -33,7 +33,7 @@
+ }
+ }
+ #endif
+- this->onSwapBuffers();
++ this->onSwapBuffers(rect);
+ }
+
+ } //namespace sk_app
+diff -ur skia.org/tools/sk_app/WindowContext.h skia/tools/sk_app/WindowContext.h
+--- skia.org/tools/sk_app/WindowContext.h 2023-07-08 21:49:27.179700423 +0200
++++ skia/tools/sk_app/WindowContext.h 2023-07-08 21:51:08.804143750 +0200
+@@ -31,7 +31,7 @@
+
+ virtual sk_sp<SkSurface> getBackbufferSurface() = 0;
+
+- void swapBuffers();
++ void swapBuffers(const SkIRect* rect = nullptr);
+
+ virtual bool isValid() = 0;
+
+@@ -57,7 +57,7 @@
+ protected:
+ virtual bool isGpuContext() { return true; }
+
+- virtual void onSwapBuffers() = 0;
++ virtual void onSwapBuffers(const SkIRect* rect = nullptr) = 0;
+
+ sk_sp<GrDirectContext> fContext;
+ #if defined(SK_GRAPHITE)
diff --git a/external/skia/ubsan.patch.1 b/external/skia/ubsan.patch.1
index 005fdfebf639..8d422fb428e0 100644
--- a/external/skia/ubsan.patch.1
+++ b/external/skia/ubsan.patch.1
@@ -3,8 +3,8 @@ index 847e76f232..e27d9454f8 100644
--- a/include/private/gpu/ganesh/GrContext_Base.h
+++ b/include/private/gpu/ganesh/GrContext_Base.h
@@ -20,7 +20,7 @@ class GrDirectContext;
- class GrImageContext;
- class GrRecordingContext;
+ struct GrContextOptions;
+ class GrBackendFormat;
-class GrContext_Base : public SkRefCnt {
+class SK_API GrContext_Base : public SkRefCnt {
@@ -27,8 +27,8 @@ index 847e76f232..e27d9454f8 100644
- SK_API GrBackendFormat defaultBackendFormat(SkColorType, GrRenderable) const;
+ GrBackendFormat defaultBackendFormat(SkColorType, GrRenderable) const;
-- SK_API GrBackendFormat compressedBackendFormat(SkImage::CompressionType) const;
-+ GrBackendFormat compressedBackendFormat(SkImage::CompressionType) const;
+- SK_API GrBackendFormat compressedBackendFormat(SkTextureCompressionType) const;
++ GrBackendFormat compressedBackendFormat(SkTextureCompressionType) const;
/**
* Gets the maximum supported sample count for a color type. 1 is returned if only non-MSAA
diff --git a/external/skia/windows-do-not-modify-logfont.patch.0 b/external/skia/windows-do-not-modify-logfont.patch.0
index 30c5c1e96e56..b2c067d9e0c4 100644
--- a/external/skia/windows-do-not-modify-logfont.patch.0
+++ b/external/skia/windows-do-not-modify-logfont.patch.0
@@ -1,8 +1,8 @@
--- ./src/ports/SkFontHost_win.cpp
+++ ./src/ports/SkFontHost_win.cpp
-@@ -349,7 +349,7 @@ static bool FindByLogFont(SkTypeface* face, void* ctx) {
+@@ -357,7 +357,7 @@ static bool FindByLogFont(SkTypeface* face, void* ctx) {
*/
- SkTypeface* SkCreateTypefaceFromLOGFONT(const LOGFONT& origLF) {
+ sk_sp<SkTypeface> SkCreateTypefaceFromLOGFONT(const LOGFONT& origLF) {
LOGFONT lf = origLF;
- make_canonical(&lf);
+// make_canonical(&lf);
diff --git a/external/skia/windows-force-unicode-api.patch.0 b/external/skia/windows-force-unicode-api.patch.0
index f73de176dff3..13c0536891c4 100644
--- a/external/skia/windows-force-unicode-api.patch.0
+++ b/external/skia/windows-force-unicode-api.patch.0
@@ -6,8 +6,8 @@ index f659adf0e9..34446fc7a1 100644
* corresponding typeface for the specified logfont. The caller is responsible
* for calling unref() when it is finished.
*/
--SK_API SkTypeface* SkCreateTypefaceFromLOGFONT(const LOGFONT&);
-+SK_API SkTypeface* SkCreateTypefaceFromLOGFONT(const LOGFONTW&);
+-SK_API sk_sp<SkTypeface> SkCreateTypefaceFromLOGFONT(const LOGFONT&);
++SK_API sk_sp<SkTypeface> SkCreateTypefaceFromLOGFONT(const LOGFONTW&);
/**
* Copy the LOGFONT associated with this typeface into the lf parameter. Note
diff --git a/external/skia/windows-raster-surface-no-copies.patch.1 b/external/skia/windows-raster-surface-no-copies.patch.1
index 0c5804d8558b..3765f70971fd 100644
--- a/external/skia/windows-raster-surface-no-copies.patch.1
+++ b/external/skia/windows-raster-surface-no-copies.patch.1
@@ -2,7 +2,7 @@ diff --git a/tools/sk_app/win/RasterWindowContext_win.cpp b/tools/sk_app/win/Ras
index 9548220ce6..49f1f9ed17 100644
--- a/tools/sk_app/win/RasterWindowContext_win.cpp
+++ b/tools/sk_app/win/RasterWindowContext_win.cpp
-@@ -55,7 +55,7 @@ void RasterWindowContext_win::resize(int w, int h) {
+@@ -53,7 +53,7 @@
fWidth = w;
fHeight = h;
fBackbufferSurface.reset();
@@ -11,7 +11,7 @@ index 9548220ce6..49f1f9ed17 100644
fSurfaceMemory.reset(bmpSize);
BITMAPINFO* bmpInfo = reinterpret_cast<BITMAPINFO*>(fSurfaceMemory.get());
ZeroMemory(bmpInfo, sizeof(BITMAPINFO));
-@@ -65,11 +65,12 @@ void RasterWindowContext_win::resize(int w, int h) {
+@@ -63,11 +63,12 @@
bmpInfo->bmiHeader.biPlanes = 1;
bmpInfo->bmiHeader.biBitCount = 32;
bmpInfo->bmiHeader.biCompression = BI_RGB;
@@ -21,19 +21,21 @@ index 9548220ce6..49f1f9ed17 100644
SkImageInfo info = SkImageInfo::Make(w, h, fDisplayParams.fColorType, kPremul_SkAlphaType,
fDisplayParams.fColorSpace);
-- fBackbufferSurface = SkSurface::MakeRasterDirect(info, pixels, sizeof(uint32_t) * w);
-+ fBackbufferSurface = SkSurface::MakeRaster(info);
+- fBackbufferSurface = SkSurfaces::WrapPixels(info, pixels, sizeof(uint32_t) * w);
++ fBackbufferSurface = SkSurfaces::Raster(info);
}
sk_sp<SkSurface> RasterWindowContext_win::getBackbufferSurface() { return fBackbufferSurface; }
-@@ -77,7 +78,9 @@ sk_sp<SkSurface> RasterWindowContext_win::getBackbufferSurface() { return fBackb
- void RasterWindowContext_win::swapBuffers() {
+@@ -75,8 +76,10 @@
+ void RasterWindowContext_win::onSwapBuffers() {
BITMAPINFO* bmpInfo = reinterpret_cast<BITMAPINFO*>(fSurfaceMemory.get());
HDC dc = GetDC(fWnd);
- StretchDIBits(dc, 0, 0, fWidth, fHeight, 0, 0, fWidth, fHeight, bmpInfo->bmiColors, bmpInfo,
+- DIB_RGB_COLORS, SRCCOPY);
+ SkPixmap pixmap;
+ fBackbufferSurface->peekPixels(&pixmap);
+ StretchDIBits(dc, 0, 0, fWidth, fHeight, 0, 0, fWidth, fHeight, pixmap.addr(), bmpInfo,
- DIB_RGB_COLORS, SRCCOPY);
++ DIB_RGB_COLORS, SRCCOPY);
ReleaseDC(fWnd, dc);
}
+
diff --git a/vcl/inc/skia/gdiimpl.hxx b/vcl/inc/skia/gdiimpl.hxx
index d86f89ee6f4e..c8986831ab13 100644
--- a/vcl/inc/skia/gdiimpl.hxx
+++ b/vcl/inc/skia/gdiimpl.hxx
@@ -28,6 +28,7 @@
#include <skia/utils.hxx>
#include <SkPaint.h>
+#include <SkBlendMode.h>
#include <optional>
class SkiaFlushIdle;
diff --git a/vcl/skia/SkiaHelper.cxx b/vcl/skia/SkiaHelper.cxx
index 16cbdd306fd1..ec668315ef62 100644
--- a/vcl/skia/SkiaHelper.cxx
+++ b/vcl/skia/SkiaHelper.cxx
@@ -46,11 +46,42 @@ bool isVCLSkiaEnabled() { return false; }
#include <SkGraphics.h>
#include <GrDirectContext.h>
#include <SkRuntimeEffect.h>
-#include <SkOpts_spi.h>
+#include <SkStream.h>
+#include <SkTileMode.h>
#include <skia_compiler.hxx>
#include <skia_opts.hxx>
+#if defined(MACOSX)
+#include <premac.h>
+#endif
#include <tools/sk_app/VulkanWindowContext.h>
#include <tools/sk_app/MetalWindowContext.h>
+#if defined(MACOSX)
+#include <postmac.h>
+#endif
+#include <src/core/SkOpts.h>
+#include <src/core/SkChecksum.h>
+#include <include/encode/SkPngEncoder.h>
+#include <ganesh/SkSurfaceGanesh.h>
+#if defined _MSC_VER
+#pragma warning(disable : 4100) // "unreferenced formal parameter"
+#pragma warning(disable : 4324) // "structure was padded due to alignment specifier"
+#endif
+#if defined __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wunused-parameter"
+#endif
+#if defined __GNUC__ && !defined __clang__
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-unused-parameter"
+#endif
+#include <src/image/SkImage_Base.h>
+#if defined __GNUC__ && !defined __clang__
+#pragma GCC diagnostic pop
+#endif
+#if defined __clang__
+#pragma clang diagnostic pop
+#endif
+
#include <fstream>
namespace SkiaHelper
@@ -513,9 +544,9 @@ sk_sp<SkSurface> createSkSurface(int width, int height, SkColorType type, SkAlph
{
if (GrDirectContext* grDirectContext = getSharedGrDirectContext())
{
- surface = SkSurface::MakeRenderTarget(grDirectContext, skgpu::Budgeted::kNo,
- SkImageInfo::Make(width, height, type, alpha),
- 0, surfaceProps());
+ surface = SkSurfaces::RenderTarget(grDirectContext, skgpu::Budgeted::kNo,
+ SkImageInfo::Make(width, height, type, alpha), 0,
+ surfaceProps());
if (surface)
{
#ifdef DBG_UTIL
@@ -534,7 +565,7 @@ sk_sp<SkSurface> createSkSurface(int width, int height, SkColorType type, SkAlph
break;
}
// Create raster surface as a fallback.
- surface = SkSurface::MakeRaster(SkImageInfo::Make(width, height, type, alpha), surfaceProps());
+ surface = SkSurfaces::Raster(SkImageInfo::Make(width, height, type, alpha), surfaceProps());
assert(surface);
if (surface)
{
@@ -559,7 +590,7 @@ sk_sp<SkImage> createSkImage(const SkBitmap& bitmap)
{
if (GrDirectContext* grDirectContext = getSharedGrDirectContext())
{
- sk_sp<SkSurface> surface = SkSurface::MakeRenderTarget(
+ sk_sp<SkSurface> surface = SkSurfaces::RenderTarget(
grDirectContext, skgpu::Budgeted::kNo,
bitmap.info().makeAlphaType(kPremul_SkAlphaType), 0, surfaceProps());
if (surface)
@@ -582,7 +613,7 @@ sk_sp<SkImage> createSkImage(const SkBitmap& bitmap)
break;
}
// Create raster image as a fallback.
- sk_sp<SkImage> image = SkImage::MakeFromBitmap(bitmap);
+ sk_sp<SkImage> image = SkImages::RasterFromBitmap(bitmap);
assert(image);
return image;
}
@@ -684,14 +715,14 @@ static o3tl::lru_map<uint32_t, uint32_t> checksumCache(256);
static uint32_t computeSkPixmapChecksum(const SkPixmap& pixmap)
{
- // Use uint32_t because that's what SkOpts::hash_fn() returns.
- static_assert(std::is_same_v<uint32_t, decltype(SkOpts::hash_fn(nullptr, 0, 0))>);
+ // Use uint32_t because that's what SkChecksum::Hash32() returns.
+ static_assert(std::is_same_v<uint32_t, decltype(SkChecksum::Hash32(nullptr, 0, 0))>);
const size_t dataRowBytes = pixmap.width() << pixmap.shiftPerPixel();
if (dataRowBytes == pixmap.rowBytes())
- return SkOpts::hash_fn(pixmap.addr(), pixmap.height() * dataRowBytes, 0);
+ return SkChecksum::Hash32(pixmap.addr(), pixmap.height() * dataRowBytes, 0);
uint32_t sum = 0;
for (int row = 0; row < pixmap.height(); ++row)
- sum = SkOpts::hash_fn(pixmap.addr(0, row), dataRowBytes, sum);
+ sum = SkChecksum::Hash32(pixmap.addr(0, row), dataRowBytes, sum);
return sum;
}
@@ -806,7 +837,10 @@ void prepareSkia(std::unique_ptr<sk_app::WindowContext> (*createGpuWindowContext
skiaSupportedByBackend = true;
}
-void dump(const SkBitmap& bitmap, const char* file) { dump(SkImage::MakeFromBitmap(bitmap), file); }
+void dump(const SkBitmap& bitmap, const char* file)
+{
+ dump(SkImages::RasterFromBitmap(bitmap), file);
+}
void dump(const sk_sp<SkSurface>& surface, const char* file)
{
@@ -816,7 +850,19 @@ void dump(const sk_sp<SkSurface>& surface, const char* file)
void dump(const sk_sp<SkImage>& image, const char* file)
{
- sk_sp<SkData> data = image->encodeToData(SkEncodedImageFormat::kPNG, 1);
+ SkBitmap bm;
+ if (!as_IB(image)->getROPixels(getSharedGrDirectContext(), &bm))
+ return;
+ SkPixmap pixmap;
+ if (!bm.peekPixels(&pixmap))
+ return;
+ SkPngEncoder::Options opts;
+ opts.fFilterFlags = SkPngEncoder::FilterFlag::kNone;
+ opts.fZLibLevel = 1;
+ SkDynamicMemoryWStream stream;
+ if (!SkPngEncoder::Encode(&stream, pixmap, opts))
+ return;
+ sk_sp<SkData> data = stream.detachAsData();
std::ofstream ostream(file, std::ios::binary);
ostream.write(static_cast<const char*>(data->data()), data->size());
}
diff --git a/vcl/skia/gdiimpl.cxx b/vcl/skia/gdiimpl.cxx
index 94e1f7c176fa..3c0957be4806 100644
--- a/vcl/skia/gdiimpl.cxx
+++ b/vcl/skia/gdiimpl.cxx
@@ -1445,7 +1445,7 @@ void SkiaSalGraphicsImpl::invert(basegfx::B2DPolygon const& rPoly, SalInvert eFl
aPaint.setStrokeWidth(2);
constexpr float intervals[] = { 4.0f, 4.0f };
aPaint.setStyle(SkPaint::kStroke_Style);
- aPaint.setPathEffect(SkDashPathEffect::Make(intervals, SK_ARRAY_COUNT(intervals), 0));
+ aPaint.setPathEffect(SkDashPathEffect::Make(intervals, std::size(intervals), 0));
}
else
{
diff --git a/vcl/skia/osx/bitmap.cxx b/vcl/skia/osx/bitmap.cxx
index d622f6419e95..1052efc32de7 100644
--- a/vcl/skia/osx/bitmap.cxx
+++ b/vcl/skia/osx/bitmap.cxx
@@ -26,6 +26,7 @@
#include <SkBitmap.h>
#include <SkCanvas.h>
+#include <SkShader.h>
using namespace SkiaHelper;
diff --git a/vcl/skia/salbmp.cxx b/vcl/skia/salbmp.cxx
index 97609c11d125..778917b6db0e 100644
--- a/vcl/skia/salbmp.cxx
+++ b/vcl/skia/salbmp.cxx
@@ -33,9 +33,11 @@
#include <skia/utils.hxx>
#include <skia/zone.hxx>
+#include <SkBitmap.h>
#include <SkCanvas.h>
#include <SkImage.h>
#include <SkPixelRef.h>
+#include <SkShader.h>
#include <SkSurface.h>
#include <SkSwizzle.h>
#include <SkColorFilter.h>
@@ -1123,7 +1125,7 @@ void SkiaSalBitmap::EnsureBitmapData()
<< static_cast<int>(mScaleQuality));
Size savedSize = mSize;
mSize = mPixelsSize;
- ResetToSkImage(SkImage::MakeFromBitmap(GetAsSkBitmap()));
+ ResetToSkImage(SkImages::RasterFromBitmap(GetAsSkBitmap()));
mSize = savedSize;
}
diff --git a/vcl/skia/win/gdiimpl.cxx b/vcl/skia/win/gdiimpl.cxx
index d063b440cf31..0d7d60f9207e 100644
--- a/vcl/skia/win/gdiimpl.cxx
+++ b/vcl/skia/win/gdiimpl.cxx
@@ -20,6 +20,7 @@
#include <comphelper/windowserrorstring.hxx>
#include <sal/log.hxx>
+#include <SkBitmap.h>
#include <SkCanvas.h>
#include <SkPaint.h>
#include <SkPixelRef.h>
@@ -244,7 +245,7 @@ bool WinSkiaSalGraphicsImpl::DrawTextLayout(const GenericSalLayout& rLayout)
// Resetting it here does not seem to cause any problem.
logFont.lfOrientation = 0;
logFont.lfEscapement = 0;
- typeface.reset(SkCreateTypefaceFromLOGFONT(logFont));
+ typeface = SkCreateTypefaceFromLOGFONT(logFont);
dwrite = false;
if (!typeface)
return false;
diff --git a/vcl/skia/x11/textrender.cxx b/vcl/skia/x11/textrender.cxx
index fed5daa8a117..81d6efa670c9 100644
--- a/vcl/skia/x11/textrender.cxx
+++ b/vcl/skia/x11/textrender.cxx
@@ -19,6 +19,15 @@
#include <sal/config.h>
+#if defined __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wunused-value"
+#endif
+#if defined __GNUC__ && !defined __clang__
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-unused-value"
+#endif
+
#include <skia/x11/textrender.hxx>
#include <unx/fc_fontoptions.hxx>
@@ -30,6 +39,13 @@
#include <SkFont.h>
#include <SkFontMgr_fontconfig.h>
+#if defined __GNUC__ && !defined __clang__
+#pragma GCC diagnostic pop
+#endif
+#if defined __clang__
+#pragma clang diagnostic pop
+#endif
+
void SkiaTextRender::DrawTextLayout(const GenericSalLayout& rLayout, const SalGraphics& rGraphics)
{
const FreetypeFontInstance& rInstance = static_cast<FreetypeFontInstance&>(rLayout.GetFont());