diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2023-07-08 20:28:29 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2023-07-10 12:44:38 +0200 |
commit | f8c15850dbfaa46605e1e353ae1f49e69184e8a1 (patch) | |
tree | c8e2ef783ce0a9ca87a7e674ac3791ffe77103db | |
parent | 9a5329a266bd74abc4794f1fcbae3db07582dbde (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>
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()); |