download.lst                                         |    4 
 external/skia/Library_skia.mk                        |  109 ++++++++-----------
 external/skia/UnpackedTarball_skia.mk                |    5 
 external/skia/clang11-flax-vector-conversion.patch.0 |    4 
 external/skia/constexpr-template.patch.0             |   34 +----
 external/skia/fix-graphite-ifdef.patch.1             |   48 --------
 external/skia/fix-pch.patch.1                        |   30 -----
 external/skia/fix-warnings.patch.1                   |    4 
 external/skia/inc/pch/precompiled_skia.hxx           |   44 -------
 external/skia/make-api-visible.patch.1               |   12 +-
 external/skia/missing-include.patch.0                |   20 ---
 external/skia/share-grcontext.patch.1                |   20 +--
 external/skia/tdf148624.patch.1                      |   60 ----------
 vcl/skia/SkiaHelper.cxx                              |    2 
 vcl/skia/gdiimpl.cxx                                 |    1 
 15 files changed, 92 insertions(+), 305 deletions(-)

New commits:
commit aef70869b0fae3001648ec2a2651ffc9c507678f
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Tue Jan 24 13:24:05 2023 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Wed Jan 25 06:39:05 2023 +0000

    Update skia to m110
    
    Removing those bits of the patches that appear to have been
    upstreamed.
    
    Change-Id: Ia7683c26af4c622ca4fccb828df023ae30e724a6
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146069
    Tested-by: Noel Grandin <noel.gran...@collabora.co.uk>
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/download.lst b/download.lst
index 6d77206cfec3..6c1af18404b5 100644
--- a/download.lst
+++ b/download.lst
@@ -501,8 +501,8 @@ RHINO_TARBALL := 
798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-SKIA_SHA256SUM := 
c094a6247e44104beaaa0d00c825beb6baf1a8e532dc22214747495317a65bd9
-SKIA_TARBALL := skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz
+SKIA_SHA256SUM := 
878112f9693be12292d5fad5e73367fa11c96909ae27d1d7d2e2cb5d01011ea7
+SKIA_TARBALL := skia-m110-aab9fb4100da797d25fe340e9a2fcb2ae30fc2e1.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 c0f91e1a463a..447a223592f1 100644
--- a/external/skia/Library_skia.mk
+++ b/external/skia/Library_skia.mk
@@ -112,7 +112,7 @@ $(eval $(call gb_Library_use_libraries,skia,\
 $(eval $(call gb_Library_set_include,skia,\
     $$(INCLUDE) \
     -I$(call gb_UnpackedTarball_get_dir,skia) \
-    -I$(call gb_UnpackedTarball_get_dir,skia)/include/third_party/skcms/ \
+    -I$(call gb_UnpackedTarball_get_dir,skia)/modules/skcms/ \
     -I$(call 
gb_UnpackedTarball_get_dir,skia)/third_party/vulkanmemoryallocator/ \
     -I$(call gb_UnpackedTarball_get_dir,skia)/include/third_party/vulkan/ \
     -I$(SRCDIR)/external/skia/inc/ \
@@ -145,7 +145,6 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/codec/SkPngCodec \
     UnpackedTarball/skia/src/codec/SkSampledCodec \
     UnpackedTarball/skia/src/codec/SkSampler \
-    UnpackedTarball/skia/src/codec/SkStreamBuffer \
     UnpackedTarball/skia/src/codec/SkSwizzler \
     UnpackedTarball/skia/src/codec/SkWbmpCodec \
     UnpackedTarball/skia/src/core/SkAAClip \
@@ -168,7 +167,6 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/core/SkBlitter_ARGB32 \
     UnpackedTarball/skia/src/core/SkBlitter_A8 \
     UnpackedTarball/skia/src/core/SkBlitter \
-    UnpackedTarball/skia/src/core/SkBlitter_RGB565 \
     UnpackedTarball/skia/src/core/SkBlitter_Sprite \
     UnpackedTarball/skia/src/core/SkBlockAllocator \
     UnpackedTarball/skia/src/core/SkBlurMask \
@@ -177,6 +175,7 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/core/SkCachedData \
     UnpackedTarball/skia/src/core/SkCanvas \
     UnpackedTarball/skia/src/core/SkCanvasPriv \
+    UnpackedTarball/skia/src/core/SkCapabilities \
     UnpackedTarball/skia/src/core/SkChromeRemoteGlyphCache \
     UnpackedTarball/skia/src/core/SkClipStack \
     UnpackedTarball/skia/src/core/SkClipStackDevice \
@@ -186,6 +185,7 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/core/SkColorSpace \
     UnpackedTarball/skia/src/core/SkColorSpaceXformSteps \
     UnpackedTarball/skia/src/core/SkCompressedDataUtils \
+    UnpackedTarball/skia/src/core/SkContainers \
     UnpackedTarball/skia/src/core/SkContourMeasure \
     UnpackedTarball/skia/src/core/SkConvertPixels \
     UnpackedTarball/skia/src/core/SkCpu \
@@ -224,7 +224,6 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/core/SkGlobalInitialization_core \
     UnpackedTarball/skia/src/core/SkGlyph \
     UnpackedTarball/skia/src/core/SkGlyphBuffer \
-    UnpackedTarball/skia/src/core/SkGlyphRun \
     UnpackedTarball/skia/src/core/SkGlyphRunPainter \
     UnpackedTarball/skia/src/core/SkGraphics \
     UnpackedTarball/skia/src/core/SkHalf \
@@ -234,8 +233,6 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/core/SkImageFilter \
     UnpackedTarball/skia/src/core/SkImageGenerator \
     UnpackedTarball/skia/src/core/SkImageInfo \
-    UnpackedTarball/skia/src/core/SkKeyContext \
-    UnpackedTarball/skia/src/core/SkKeyHelpers \
     UnpackedTarball/skia/src/core/SkLatticeIter \
     UnpackedTarball/skia/src/core/SkLineClipper \
     UnpackedTarball/skia/src/core/SkLocalMatrixImageFilter \
@@ -248,12 +245,10 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/core/SkMaskGamma \
     UnpackedTarball/skia/src/core/SkMath \
     UnpackedTarball/skia/src/core/SkMatrix \
-    UnpackedTarball/skia/src/core/SkMatrixImageFilter \
     UnpackedTarball/skia/src/core/SkMatrixInvert \
     UnpackedTarball/skia/src/core/SkM44 \
     UnpackedTarball/skia/src/core/SkMD5 \
     UnpackedTarball/skia/src/core/SkMesh \
-    UnpackedTarball/skia/src/core/SkMiniRecorder \
     UnpackedTarball/skia/src/core/SkMipmap \
     UnpackedTarball/skia/src/core/SkMipmapAccessor \
     UnpackedTarball/skia/src/core/SkModeColorFilter \
@@ -261,15 +256,14 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/core/SkOpts_erms \
     UnpackedTarball/skia/src/core/SkOverdrawCanvas \
     UnpackedTarball/skia/src/core/SkPaint \
-    UnpackedTarball/skia/src/core/SkPaintParamsKey \
     UnpackedTarball/skia/src/core/SkPaintPriv \
     UnpackedTarball/skia/src/core/SkPath \
     UnpackedTarball/skia/src/core/SkPathBuilder \
     UnpackedTarball/skia/src/core/SkPathEffect \
     UnpackedTarball/skia/src/core/SkPathMeasure \
     UnpackedTarball/skia/src/core/SkPathRef \
+    UnpackedTarball/skia/src/core/SkPathUtils \
     UnpackedTarball/skia/src/core/SkPath_serial \
-    UnpackedTarball/skia/src/core/SkPipelineData \
     UnpackedTarball/skia/src/core/SkPicture \
     UnpackedTarball/skia/src/core/SkPictureData \
     UnpackedTarball/skia/src/core/SkPictureFlat \
@@ -311,16 +305,14 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/core/SkScan_Hairline \
     UnpackedTarball/skia/src/core/SkScan_Path \
     UnpackedTarball/skia/src/core/SkSemaphore \
-    UnpackedTarball/skia/src/core/SkShaderCodeDictionary \
     UnpackedTarball/skia/src/core/SkSharedMutex \
+    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/SkSpriteBlitter_RGB565 \
     UnpackedTarball/skia/src/core/SkStream \
     UnpackedTarball/skia/src/core/SkStrikeCache \
-    UnpackedTarball/skia/src/core/SkStrikeForGPU \
     UnpackedTarball/skia/src/core/SkStrikeSpec \
     UnpackedTarball/skia/src/core/SkString \
     UnpackedTarball/skia/src/core/SkStringUtils \
@@ -332,6 +324,7 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/core/SkTaskGroup \
     UnpackedTarball/skia/src/core/SkTextBlob \
     UnpackedTarball/skia/src/core/SkTextBlobTrace \
+    UnpackedTarball/skia/src/core/SkTDArray \
     UnpackedTarball/skia/src/core/SkThreadID \
     UnpackedTarball/skia/src/core/SkTime \
     UnpackedTarball/skia/src/core/SkTSearch \
@@ -353,10 +346,6 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/core/SkYUVAPixmaps \
     UnpackedTarball/skia/src/core/SkYUVMath \
     UnpackedTarball/skia/src/core/SkYUVPlanesCache \
-    UnpackedTarball/skia/src/c/sk_effects \
-    UnpackedTarball/skia/src/c/sk_imageinfo \
-    UnpackedTarball/skia/src/c/sk_paint \
-    UnpackedTarball/skia/src/c/sk_surface \
     UnpackedTarball/skia/src/effects/imagefilters/SkAlphaThresholdImageFilter \
     UnpackedTarball/skia/src/effects/imagefilters/SkArithmeticImageFilter \
     UnpackedTarball/skia/src/effects/imagefilters/SkBlendImageFilter \
@@ -370,9 +359,9 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/effects/imagefilters/SkLightingImageFilter \
     UnpackedTarball/skia/src/effects/imagefilters/SkMagnifierImageFilter \
     
UnpackedTarball/skia/src/effects/imagefilters/SkMatrixConvolutionImageFilter \
+    UnpackedTarball/skia/src/effects/imagefilters/SkMatrixTransformImageFilter 
\
     UnpackedTarball/skia/src/effects/imagefilters/SkMergeImageFilter \
     UnpackedTarball/skia/src/effects/imagefilters/SkMorphologyImageFilter \
-    UnpackedTarball/skia/src/effects/imagefilters/SkOffsetImageFilter \
     UnpackedTarball/skia/src/effects/imagefilters/SkPictureImageFilter \
     UnpackedTarball/skia/src/effects/imagefilters/SkShaderImageFilter \
     UnpackedTarball/skia/src/effects/imagefilters/SkRuntimeImageFilter \
@@ -442,16 +431,16 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     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/SkLinearGradient \
     UnpackedTarball/skia/src/shaders/gradients/SkRadialGradient \
     UnpackedTarball/skia/src/shaders/gradients/SkSweepGradient \
     UnpackedTarball/skia/src/shaders/gradients/SkTwoPointConicalGradient \
-    UnpackedTarball/skia/src/shaders/gradients/Sk4fGradientBase \
-    UnpackedTarball/skia/src/shaders/gradients/Sk4fLinearGradient \
     UnpackedTarball/skia/src/shaders/SkBitmapProcShader \
     UnpackedTarball/skia/src/shaders/SkColorFilterShader \
     UnpackedTarball/skia/src/shaders/SkColorShader \
     UnpackedTarball/skia/src/shaders/SkComposeShader \
+    UnpackedTarball/skia/src/shaders/SkEmptyShader \
     UnpackedTarball/skia/src/shaders/SkImageShader \
     UnpackedTarball/skia/src/shaders/SkLocalMatrixShader \
     UnpackedTarball/skia/src/shaders/SkPerlinNoiseShader \
@@ -464,12 +453,9 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/sksl/dsl/DSLExpression \
     UnpackedTarball/skia/src/sksl/dsl/DSLFunction \
     UnpackedTarball/skia/src/sksl/dsl/DSLLayout \
-    UnpackedTarball/skia/src/sksl/dsl/DSLRuntimeEffects \
     UnpackedTarball/skia/src/sksl/dsl/DSLStatement \
-    UnpackedTarball/skia/src/sksl/dsl/DSLSymbols \
     UnpackedTarball/skia/src/sksl/dsl/DSLType \
     UnpackedTarball/skia/src/sksl/dsl/DSLVar \
-    UnpackedTarball/skia/src/sksl/dsl/priv/DSLFPs \
     UnpackedTarball/skia/src/sksl/dsl/priv/DSLWriter \
     UnpackedTarball/skia/src/sksl/ir/SkSLBinaryExpression \
     UnpackedTarball/skia/src/sksl/ir/SkSLBlock \
@@ -484,6 +470,7 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/sksl/ir/SkSLConstructorScalarCast \
     UnpackedTarball/skia/src/sksl/ir/SkSLConstructorSplat \
     UnpackedTarball/skia/src/sksl/ir/SkSLConstructorStruct \
+    UnpackedTarball/skia/src/sksl/ir/SkSLDiscardStatement \
     UnpackedTarball/skia/src/sksl/ir/SkSLDoStatement \
     UnpackedTarball/skia/src/sksl/ir/SkSLExpression \
     UnpackedTarball/skia/src/sksl/ir/SkSLExpressionStatement \
@@ -494,7 +481,11 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/sksl/ir/SkSLFunctionDefinition \
     UnpackedTarball/skia/src/sksl/ir/SkSLIfStatement \
     UnpackedTarball/skia/src/sksl/ir/SkSLIndexExpression \
+    UnpackedTarball/skia/src/sksl/ir/SkSLInterfaceBlock \
+    UnpackedTarball/skia/src/sksl/ir/SkSLLayout \
+    UnpackedTarball/skia/src/sksl/ir/SkSLLiteral \
     UnpackedTarball/skia/src/sksl/ir/SkSLModifiers \
+    UnpackedTarball/skia/src/sksl/ir/SkSLProgram \
     UnpackedTarball/skia/src/sksl/ir/SkSLPrefixExpression \
     UnpackedTarball/skia/src/sksl/ir/SkSLPostfixExpression \
     UnpackedTarball/skia/src/sksl/ir/SkSLSetting \
@@ -508,24 +499,22 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/sksl/ir/SkSLVariable \
     UnpackedTarball/skia/src/sksl/ir/SkSLVariableReference \
     UnpackedTarball/skia/src/sksl/SkSLAnalysis \
-    UnpackedTarball/skia/src/sksl/SkSLBuiltinMap \
     UnpackedTarball/skia/src/sksl/SkSLBuiltinTypes \
     UnpackedTarball/skia/src/sksl/SkSLCompiler \
     UnpackedTarball/skia/src/sksl/SkSLConstantFolder \
     UnpackedTarball/skia/src/sksl/SkSLContext \
-    UnpackedTarball/skia/src/sksl/SkSLDSLParser \
-    UnpackedTarball/skia/src/sksl/SkSLDehydrator \
     UnpackedTarball/skia/src/sksl/SkSLErrorReporter \
     UnpackedTarball/skia/src/sksl/SkSLInliner \
+    UnpackedTarball/skia/src/sksl/SkSLIntrinsicList \
     UnpackedTarball/skia/src/sksl/SkSLLexer \
     UnpackedTarball/skia/src/sksl/SkSLMangler \
+    UnpackedTarball/skia/src/sksl/SkSLModuleLoader \
     UnpackedTarball/skia/src/sksl/SkSLOperator \
     UnpackedTarball/skia/src/sksl/SkSLOutputStream \
+    UnpackedTarball/skia/src/sksl/SkSLParser \
     UnpackedTarball/skia/src/sksl/SkSLPool \
     UnpackedTarball/skia/src/sksl/SkSLPosition \
-    UnpackedTarball/skia/src/sksl/SkSLRehydrator \
     UnpackedTarball/skia/src/sksl/SkSLSampleUsage \
-    UnpackedTarball/skia/src/sksl/SkSLSharedCompiler \
     UnpackedTarball/skia/src/sksl/SkSLString \
     UnpackedTarball/skia/src/sksl/SkSLThreadContext \
     UnpackedTarball/skia/src/sksl/SkSLUtil \
@@ -533,9 +522,12 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/sksl/analysis/SkSLCheckProgramStructure \
     UnpackedTarball/skia/src/sksl/analysis/SkSLFinalizationChecks \
     UnpackedTarball/skia/src/sksl/analysis/SkSLGetLoopUnrollInfo \
+    UnpackedTarball/skia/src/sksl/analysis/SkSLHasSideEffects \
     UnpackedTarball/skia/src/sksl/analysis/SkSLIsConstantExpression \
     UnpackedTarball/skia/src/sksl/analysis/SkSLIsSameExpressionTree \
+    UnpackedTarball/skia/src/sksl/analysis/SkSLIsTrivialExpression \
     UnpackedTarball/skia/src/sksl/analysis/SkSLProgramUsage \
+    UnpackedTarball/skia/src/sksl/analysis/SkSLSymbolTableStackBuilder \
     UnpackedTarball/skia/src/sksl/analysis/SkSLSwitchCaseContainsExit \
     UnpackedTarball/skia/src/sksl/codegen/SkSLGLSLCodeGenerator \
     UnpackedTarball/skia/src/sksl/codegen/SkSLMetalCodeGenerator \
@@ -545,11 +537,16 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/sksl/codegen/SkSLVMCodeGenerator \
     UnpackedTarball/skia/src/sksl/codegen/SkSLWGSLCodeGenerator \
     UnpackedTarball/skia/src/sksl/tracing/SkVMDebugTrace \
-    UnpackedTarball/skia/src/sksl/transform/SkSLBuiltinVariableScanner \
+    UnpackedTarball/skia/src/sksl/transform/SkSLAddConstToVarModifiers \
     UnpackedTarball/skia/src/sksl/transform/SkSLEliminateDeadFunctions \
     UnpackedTarball/skia/src/sksl/transform/SkSLEliminateDeadGlobalVariables \
     UnpackedTarball/skia/src/sksl/transform/SkSLEliminateDeadLocalVariables \
+    UnpackedTarball/skia/src/sksl/transform/SkSLEliminateEmptyStatements \
     UnpackedTarball/skia/src/sksl/transform/SkSLEliminateUnreachableCode \
+    UnpackedTarball/skia/src/sksl/transform/SkSLFindAndDeclareBuiltinFunctions 
\
+    UnpackedTarball/skia/src/sksl/transform/SkSLFindAndDeclareBuiltinVariables 
\
+    UnpackedTarball/skia/src/sksl/transform/SkSLRenamePrivateSymbols \
+    UnpackedTarball/skia/src/sksl/transform/SkSLReplaceConstVarsWithLiterals \
     UnpackedTarball/skia/src/utils/SkBase64 \
     UnpackedTarball/skia/src/utils/SkCamera \
     UnpackedTarball/skia/src/utils/SkCanvasStack \
@@ -560,6 +557,7 @@ $(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 \
@@ -577,10 +575,7 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/utils/SkShaderUtils \
     UnpackedTarball/skia/src/utils/SkShadowTessellator \
     UnpackedTarball/skia/src/utils/SkShadowUtils \
-    UnpackedTarball/skia/src/utils/SkShaperJSONWriter \
     UnpackedTarball/skia/src/utils/SkTextUtils \
-    UnpackedTarball/skia/src/utils/SkThreadUtils_pthread \
-    UnpackedTarball/skia/src/utils/SkThreadUtils_win \
     UnpackedTarball/skia/src/utils/SkUTF \
     UnpackedTarball/skia/src/utils/SkVMVisualizer \
     UnpackedTarball/skia/src/xps/SkXPSDevice \
@@ -597,6 +592,16 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/gpu/ResourceKey \
     UnpackedTarball/skia/src/gpu/ShaderErrorHandler \
     UnpackedTarball/skia/src/gpu/Swizzle \
+    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/GrSurfaceProxyView \
+    UnpackedTarball/skia/src/gpu/ganesh/PathRenderer \
+    UnpackedTarball/skia/src/gpu/ganesh/PathRendererChain \
+    UnpackedTarball/skia/src/gpu/ganesh/StencilMaskHelper \
+    UnpackedTarball/skia/src/gpu/ganesh/SurfaceDrawContext \
     UnpackedTarball/skia/src/gpu/ganesh/effects/GrBezierEffect \
     UnpackedTarball/skia/src/gpu/ganesh/effects/GrBicubicEffect \
     UnpackedTarball/skia/src/gpu/ganesh/effects/GrBitmapTextGeoProc \
@@ -623,7 +628,6 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/gpu/ganesh/geometry/GrShape \
     UnpackedTarball/skia/src/gpu/ganesh/geometry/GrStyledShape \
     UnpackedTarball/skia/src/gpu/ganesh/glsl/GrGLSLBlend \
-    UnpackedTarball/skia/src/gpu/ganesh/glsl/GrGLSL \
     UnpackedTarball/skia/src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder \
     UnpackedTarball/skia/src/gpu/ganesh/glsl/GrGLSLProgramBuilder \
     UnpackedTarball/skia/src/gpu/ganesh/glsl/GrGLSLProgramDataManager \
@@ -637,7 +641,6 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/gpu/ganesh/GrAHardwareBufferUtils \
     UnpackedTarball/skia/src/gpu/ganesh/GrAttachment \
     UnpackedTarball/skia/src/gpu/ganesh/GrBackendSemaphore \
-    UnpackedTarball/skia/src/gpu/ganesh/GrBackendSurfaceMutableState \
     UnpackedTarball/skia/src/gpu/ganesh/GrBackendSurface \
     UnpackedTarball/skia/src/gpu/ganesh/GrBackendTextureImageGenerator \
     UnpackedTarball/skia/src/gpu/ganesh/GrBackendUtils \
@@ -729,7 +732,6 @@ $(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/BaseDevice \
     UnpackedTarball/skia/src/gpu/ganesh/SkGr \
     UnpackedTarball/skia/src/gpu/ganesh/SurfaceContext \
     UnpackedTarball/skia/src/gpu/ganesh/SurfaceFillContext \
@@ -739,21 +741,24 @@ $(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/ganesh/text/GrDistanceFieldAdjustTable \
-    UnpackedTarball/skia/src/gpu/ganesh/text/GrSDFMaskFilter \
-    UnpackedTarball/skia/src/gpu/ganesh/text/GrSDFTControl \
-    UnpackedTarball/skia/src/gpu/ganesh/text/GrSlug \
-    UnpackedTarball/skia/src/gpu/ganesh/text/GrTextBlob \
-    UnpackedTarball/skia/src/gpu/ganesh/text/GrTextBlobRedrawCoordinator \
     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/StrikeCache \
+    UnpackedTarball/skia/src/text/gpu/SubRunContainer \
     UnpackedTarball/skia/src/text/gpu/SubRunAllocator \
+    UnpackedTarball/skia/src/text/gpu/SDFMaskFilter \
+    UnpackedTarball/skia/src/text/gpu/SDFTControl \
+    UnpackedTarball/skia/src/text/gpu/TextBlob \
+    UnpackedTarball/skia/src/text/gpu/TextBlobRedrawCoordinator \
 ))
 
 $(eval $(call gb_Library_add_generated_exception_objects,skia,\
@@ -799,19 +804,10 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/gpu/ganesh/ops/TessellationPathRenderer \
     UnpackedTarball/skia/src/gpu/ganesh/ops/TextureOp \
     UnpackedTarball/skia/src/gpu/ganesh/ops/TriangulatingPathRenderer \
-    UnpackedTarball/skia/src/gpu/ganesh/v1/ClipStack \
-    UnpackedTarball/skia/src/gpu/ganesh/v1/Device \
-    UnpackedTarball/skia/src/gpu/ganesh/v1/Device_drawTexture \
-    UnpackedTarball/skia/src/gpu/ganesh/v1/PathRenderer \
-    UnpackedTarball/skia/src/gpu/ganesh/v1/PathRendererChain \
-    UnpackedTarball/skia/src/gpu/ganesh/v1/StencilMaskHelper \
-    UnpackedTarball/skia/src/gpu/ganesh/v1/SurfaceDrawContext \
-    UnpackedTarball/skia/src/gpu/ganesh/v1/SurfaceFillContext_v1 \
 ))
 
 ifeq ($(SKIA_GPU),VULKAN)
 $(eval $(call gb_Library_add_generated_exception_objects,skia,\
-    UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkAMDMemoryAllocator \
     UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkBuffer \
     UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkCaps \
     UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkCommandBuffer \
@@ -819,14 +815,11 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkDescriptorPool \
     UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkDescriptorSet \
     UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkDescriptorSetManager \
-    UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkExtensions \
     UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkFramebuffer \
     UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkGpu \
     UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkImage \
     UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkImageView \
-    UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkInterface \
     UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkMSAALoadManager \
-    UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkMemory \
     UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkOpsRenderPass \
     UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkPipeline \
     UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkPipelineStateBuilder \
@@ -846,6 +839,10 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
     UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkUniformHandler \
     UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkUtil \
     UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkVaryingHandler \
+    UnpackedTarball/skia/src/gpu/vk/VulkanAMDMemoryAllocator \
+    UnpackedTarball/skia/src/gpu/vk/VulkanExtensions \
+    UnpackedTarball/skia/src/gpu/vk/VulkanInterface \
+    UnpackedTarball/skia/src/gpu/vk/VulkanMemory \
 ))
 
 $(eval $(call gb_Library_add_generated_exception_objects,skia,\
@@ -877,10 +874,6 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,skia,\
         $(LO_CLANG_CXXFLAGS_INTRINSICS_AVX2) 
$(LO_CLANG_CXXFLAGS_INTRINSICS_F16C) $(LO_CLANG_CXXFLAGS_INTRINSICS_FMA) \
         $(LO_SKIA_AVOID_INLINE_COPIES) \
 ))
-$(eval $(call gb_Library_add_generated_exception_objects,skia,\
-    UnpackedTarball/skia/src/opts/SkOpts_sse41, $(CXXFLAGS_INTRINSICS_SSE41) 
$(LO_CLANG_CXXFLAGS_INTRINSICS_SSE41) \
-        $(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) \
@@ -1012,7 +1005,7 @@ endif
 # this without optimizations would mean having each pixel of saved images be
 # processed by unoptimized code.
 $(eval $(call gb_Library_add_generated_exception_objects,skia,\
-    UnpackedTarball/skia/third_party/skcms/skcms, $(gb_COMPILEROPTFLAGS) \
+    UnpackedTarball/skia/modules/skcms/skcms, $(gb_COMPILEROPTFLAGS) \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/skia/UnpackedTarball_skia.mk 
b/external/skia/UnpackedTarball_skia.mk
index e8a75960658c..aec7edabdba7 100644
--- a/external/skia/UnpackedTarball_skia.mk
+++ b/external/skia/UnpackedTarball_skia.mk
@@ -34,12 +34,9 @@ skia_patches := \
     skia_sk_cpu_sse_level_0_by_default.patch.1 \
     fix-warnings.patch.1 \
     windows-libraries-system32.patch.1 \
-    fix-graphite-ifdef.patch.1 \
     allow-no-es2restrictions.patch.1 \
     vk_mem_alloc.patch.1 \
-    tdf148624.patch.1 \
     constexpr-template.patch.0 \
-    missing-include.patch.0 \
 
 $(eval $(call gb_UnpackedTarball_set_patchlevel,skia,1))
 
@@ -48,7 +45,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,skia,\
 ))
 
 $(eval $(call gb_UnpackedTarball_set_post_action,skia,\
-    mv third_party/skcms/skcms.cc third_party/skcms/skcms.cpp \
+    mv modules/skcms/skcms.cc modules/skcms/skcms.cpp \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/skia/clang11-flax-vector-conversion.patch.0 
b/external/skia/clang11-flax-vector-conversion.patch.0
index 40cf4e0a4fd5..aebe66c907d6 100644
--- a/external/skia/clang11-flax-vector-conversion.patch.0
+++ b/external/skia/clang11-flax-vector-conversion.patch.0
@@ -1,8 +1,8 @@
 --- src/opts/SkRasterPipeline_opts.h
 +++ src/opts/SkRasterPipeline_opts.h
-@@ -68,7 +68,7 @@
- };
+@@ -43,7 +43,7 @@
  
+ using NoCtx = const void*;
  
 -#if !defined(__clang__)
 +#if !defined(__clang__) || __clang_major__ >= 11
diff --git a/external/skia/constexpr-template.patch.0 
b/external/skia/constexpr-template.patch.0
index 883f31e0f1b6..4123227ba637 100644
--- a/external/skia/constexpr-template.patch.0
+++ b/external/skia/constexpr-template.patch.0
@@ -23,23 +23,12 @@
          collectArgs(args, std::forward<RemainingArgs>(remaining)...);
      }
  
---- include/sksl/DSLVar.h
-+++ include/sksl/DSLVar.h
-@@ -35,7 +35,7 @@
-     /**
-      * Creates an empty, unpopulated var. Can be replaced with a real var 
later via `swap`.
-      */
--    DSLVarBase() : fType(kVoid_Type), fDeclared(true) {}
-+    DSLVarBase();
- 
-     /**
-      * Constructs a new variable with the specified type and name. The name 
is used (in mangled
 --- src/gpu/ganesh/effects/GrBlendFragmentProcessor.h
 +++ src/gpu/ganesh/effects/GrBlendFragmentProcessor.h
 @@ -10,8 +10,7 @@
- 
- #include "include/core/SkBlendMode.h"
  #include "include/core/SkRefCnt.h"
+ 
+ #include <memory>
 -
 -class GrFragmentProcessor;
 +#include "src/gpu/ganesh/GrFragmentProcessor.h"
@@ -48,25 +37,14 @@
  
 --- src/sksl/dsl/DSLFunction.cpp
 +++ src/sksl/dsl/DSLFunction.cpp
-@@ -34,6 +34,10 @@
- 
- namespace dsl {
+@@ -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,
-                        SkTArray<DSLParameter*> params, Position pos) {
+                        SkSpan<DSLParameter*> params, Position pos) {
      fPosition = pos;
---- src/sksl/dsl/DSLVar.cpp
-+++ src/sksl/dsl/DSLVar.cpp
-@@ -46,6 +46,8 @@
- 
- namespace dsl {
- 
-+DSLVarBase::DSLVarBase() : fType(kVoid_Type), fDeclared(true) {}
-+
- DSLVarBase::DSLVarBase(DSLType type, std::string_view name, DSLExpression 
initialValue,
-                        Position pos, Position namePos)
-     : DSLVarBase(DSLModifiers(), std::move(type), name, 
std::move(initialValue), pos, namePos) {}
diff --git a/external/skia/fix-graphite-ifdef.patch.1 
b/external/skia/fix-graphite-ifdef.patch.1
deleted file mode 100644
index 4ed2ff2527b4..000000000000
--- a/external/skia/fix-graphite-ifdef.patch.1
+++ /dev/null
@@ -1,48 +0,0 @@
-diff --git a/include/core/SkImage.h b/include/core/SkImage.h
-index 9ca9317408..fee18fe58c 100644
---- a/include/core/SkImage.h
-+++ b/include/core/SkImage.h
-@@ -17,7 +17,7 @@
- #if SK_SUPPORT_GPU
- #include "include/gpu/GrTypes.h"
- #endif
--#if SK_GRAPHITE_ENABLED
-+#ifdef SK_GRAPHITE_ENABLED
- #include "include/gpu/graphite/GraphiteTypes.h"
- #endif
- #include <functional>  // std::function
-@@ -49,7 +49,7 @@ class SkYUVAPixmaps;
- 
- enum class SkEncodedImageFormat;
- 
--#if SK_GRAPHITE_ENABLED
-+#ifdef SK_GRAPHITE_ENABLED
- namespace skgpu::graphite {
- class Recorder;
- };
-diff --git a/include/core/SkTypes.h b/include/core/SkTypes.h
-index 5301361a2b..8adaf3ac09 100644
---- a/include/core/SkTypes.h
-+++ b/include/core/SkTypes.h
-@@ -236,7 +236,7 @@
- #  define SK_SUPPORT_GPU 1
- #endif
- 
--#if SK_SUPPORT_GPU || SK_GRAPHITE_ENABLED
-+#if SK_SUPPORT_GPU || defined(SK_GRAPHITE_ENABLED)
- #  if !defined(SK_ENABLE_SKSL)
- #    define SK_ENABLE_SKSL
- #  endif
-diff --git a/tools/sk_app/WindowContext.h b/tools/sk_app/WindowContext.h
-index 65ab8b9aa4..c1bc7fb03a 100644
---- a/tools/sk_app/WindowContext.h
-+++ b/tools/sk_app/WindowContext.h
-@@ -58,7 +58,7 @@ protected:
-     virtual bool isGpuContext() { return true;  }
- 
-     sk_sp<GrDirectContext> fContext;
--#if SK_GRAPHITE_ENABLED
-+#ifdef SK_GRAPHITE_ENABLED
-     std::unique_ptr<skgpu::graphite::Context> fGraphiteContext;
-     std::unique_ptr<skgpu::graphite::Recorder> fGraphiteRecorder;
- #endif
diff --git a/external/skia/fix-pch.patch.1 b/external/skia/fix-pch.patch.1
index a2fe81562720..f3e70739354e 100644
--- a/external/skia/fix-pch.patch.1
+++ b/external/skia/fix-pch.patch.1
@@ -1,15 +1,3 @@
-diff --git a/include/core/SkColor.h b/include/core/SkColor.h
-index a6e63def23..1c0655c3d7 100644
---- a/include/core/SkColor.h
-+++ b/include/core/SkColor.h
-@@ -420,6 +420,7 @@ using SkColor4f = SkRGBA4f<kUnpremul_SkAlphaType>;
- 
- template <> SK_API SkColor4f SkColor4f::FromColor(SkColor);
- template <> SK_API SkColor   SkColor4f::toSkColor() const;
-+template <> uint32_t SkColor4f::toBytes_RGBA() const;
- 
- namespace SkColors {
- constexpr SkColor4f kTransparent = {0, 0, 0, 0};
 diff --git a/include/private/SkColorData.h b/include/private/SkColorData.h
 index a59e7b0446..960b4c0313 100644
 --- a/include/private/SkColorData.h
@@ -79,21 +67,11 @@ index af4909aaaf..825ec35c83 100644
  #include <dwrite.h>
  #include <d2d1.h>
  
-diff --git a/third_party/skcms/skcms.cc b/third_party/skcms/skcms.cc
+diff --git a/modules/skcms/skcms.cc b/modules/skcms/skcms.cc
 index 1b643f45cf..c1981110da 100644
---- a/third_party/skcms/skcms.cc
-+++ b/third_party/skcms/skcms.cc
-@@ -130,7 +130,8 @@ static float minus_1_ulp(float x) {
- // Most transfer functions we work with are sRGBish.
- // For exotic HDR transfer functions, we encode them using a tf.g that makes 
no sense,
- // and repurpose the other fields to hold the parameters of the HDR functions.
--enum TFKind { Bad, sRGBish, PQish, HLGish, HLGinvish };
-+enum TFKind_skcms { Bad, sRGBish, PQish, HLGish, HLGinvish };
-+#define TFKind TFKind_skcms
- struct TF_PQish  { float A,B,C,D,E,F; };
- struct TF_HLGish { float R,G,a,b,c,K_minus_1; };
- // We didn't originally support a scale factor K for HLG, and instead just 
stored 0 in
-@@ -2318,7 +2319,9 @@ typedef enum {
+--- a/modules/skcms/skcms.cc
++++ b/modules/skcms/skcms.cc
+@@ -2371,7 +2372,9 @@ typedef enum {
      Op_store_hhhh,
      Op_store_fff,
      Op_store_ffff,
diff --git a/external/skia/fix-warnings.patch.1 
b/external/skia/fix-warnings.patch.1
index 2aefd91c52e4..46d55e493bd3 100644
--- a/external/skia/fix-warnings.patch.1
+++ b/external/skia/fix-warnings.patch.1
@@ -32,8 +32,8 @@ index f143dab013..be3cde0f4f 100644
      bool isAniso() const { return maxAniso != 0; }
  
  private:
--    SkSamplingOptions(int maxAniso) : maxAniso(maxAniso) {}
-+    SkSamplingOptions(int maxAniso_) : maxAniso(maxAniso_) {}
+-    constexpr SkSamplingOptions(int maxAniso) : maxAniso(maxAniso) {}
++    constexpr SkSamplingOptions(int maxAniso_) : maxAniso(maxAniso_) {}
  };
  
  #endif
diff --git a/external/skia/inc/pch/precompiled_skia.hxx 
b/external/skia/inc/pch/precompiled_skia.hxx
index e9631b68daf7..dcef8fcb7f6d 100644
--- a/external/skia/inc/pch/precompiled_skia.hxx
+++ b/external/skia/inc/pch/precompiled_skia.hxx
@@ -77,17 +77,6 @@
 #include <sal/log.hxx>
 #endif // PCH_LEVEL >= 2
 #if PCH_LEVEL >= 3
-#include <include/c/sk_canvas.h>
-#include <include/c/sk_colorspace.h>
-#include <include/c/sk_data.h>
-#include <include/c/sk_image.h>
-#include <include/c/sk_imageinfo.h>
-#include <include/c/sk_maskfilter.h>
-#include <include/c/sk_paint.h>
-#include <include/c/sk_path.h>
-#include <include/c/sk_picture.h>
-#include <include/c/sk_shader.h>
-#include <include/c/sk_surface.h>
 #include <include/codec/SkAndroidCodec.h>
 #include <include/codec/SkCodec.h>
 #include <include/core/SkAlphaType.h>
@@ -223,7 +212,6 @@
 #include <include/private/SkMacros.h>
 #include <include/private/SkMalloc.h>
 #include <include/private/SkMutex.h>
-#include <include/private/SkNx.h>
 #include <include/private/SkOnce.h>
 #include <include/private/SkOpts_spi.h>
 #include <include/private/SkPathRef.h>
@@ -255,7 +243,7 @@
 #include <include/private/chromium/SkChromeRemoteGlyphCache.h>
 #include <include/private/gpu/ganesh/GrImageContext.h>
 #include <include/private/gpu/ganesh/GrTypesPriv.h>
-#include <include/third_party/skcms/skcms.h>
+#include <modules/skcms/skcms.h>
 #include <include/utils/SkBase64.h>
 #include <include/utils/SkCamera.h>
 #include <include/utils/SkCanvasStateUtils.h>
@@ -288,7 +276,6 @@
 #include <src/codec/SkPngPriv.h>
 #include <src/codec/SkSampledCodec.h>
 #include <src/codec/SkSampler.h>
-#include <src/codec/SkStreamBuffer.h>
 #include <src/codec/SkSwizzler.h>
 #include <src/codec/SkWbmpCodec.h>
 #include <src/core/SkAAClip.h>
@@ -319,7 +306,6 @@
 #include <src/core/SkClipStackDevice.h>
 #include <src/core/SkColorFilterBase.h>
 #include <src/core/SkColorFilterPriv.h>
-#include <src/core/SkColorFilter_Matrix.h>
 #include <src/core/SkColorSpacePriv.h>
 #include <src/core/SkColorSpaceXformSteps.h>
 #include <src/core/SkCompressedDataUtils.h>
@@ -350,7 +336,6 @@
 #include <src/core/SkGeometry.h>
 #include <src/core/SkGlyph.h>
 #include <src/core/SkGlyphBuffer.h>
-#include <src/core/SkGlyphRun.h>
 #include <src/core/SkGlyphRunPainter.h>
 #include <src/core/SkGpuBlurUtils.h>
 #include <src/core/SkICCPriv.h>
@@ -358,8 +343,6 @@
 #include <src/core/SkImageFilterTypes.h>
 #include <src/core/SkImageFilter_Base.h>
 #include <src/core/SkImagePriv.h>
-#include <src/core/SkKeyContext.h>
-#include <src/core/SkKeyHelpers.h>
 #include <src/core/SkLRUCache.h>
 #include <src/core/SkLatticeIter.h>
 #include <src/core/SkLeanWindows.h>
@@ -373,35 +356,29 @@
 #include <src/core/SkMaskFilterBase.h>
 #include <src/core/SkMaskGamma.h>
 #include <src/core/SkMathPriv.h>
-#include <src/core/SkMatrixImageFilter.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/SkMiniRecorder.h>
 #include <src/core/SkMipmap.h>
 #include <src/core/SkMipmapAccessor.h>
 #include <src/core/SkMipmapBuilder.h>
-#include <src/core/SkModeColorFilter.h>
 #include <src/core/SkNextID.h>
 #include <src/core/SkOSFile.h>
 #include <src/core/SkOpts.h>
 #include <src/core/SkPaintDefaults.h>
-#include <src/core/SkPaintParamsKey.h>
 #include <src/core/SkPaintPriv.h>
 #include <src/core/SkPathEffectBase.h>
 #include <src/core/SkPathMakers.h>
 #include <src/core/SkPathMeasurePriv.h>
 #include <src/core/SkPathPriv.h>
-#include <src/core/SkPictureCommon.h>
 #include <src/core/SkPictureData.h>
 #include <src/core/SkPictureFlat.h>
 #include <src/core/SkPicturePlayback.h>
 #include <src/core/SkPicturePriv.h>
 #include <src/core/SkPictureRecord.h>
-#include <src/core/SkPipelineData.h>
 #include <src/core/SkPixelRefPriv.h>
 #include <src/core/SkPixmapPriv.h>
 #include <src/core/SkPointPriv.h>
@@ -433,14 +410,12 @@
 #include <src/core/SkScan.h>
 #include <src/core/SkScanPriv.h>
 #include <src/core/SkScopeExit.h>
-#include <src/core/SkShaderCodeDictionary.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/SkStrikeCache.h>
-#include <src/core/SkStrikeForGPU.h>
 #include <src/core/SkStrikeSpec.h>
 #include <src/core/SkStringUtils.h>
 #include <src/core/SkStroke.h>
@@ -460,7 +435,6 @@
 #include <src/core/SkTraceEventCommon.h>
 #include <src/core/SkTypefaceCache.h>
 #include <src/core/SkTypeface_remote.h>
-#include <src/core/SkUniform.h>
 #include <src/core/SkUtils.h>
 #include <src/core/SkVM.h>
 #include <src/core/SkVMBlitter.h>
@@ -485,7 +459,6 @@
 #include <src/gpu/Blend.h>
 #include <src/gpu/KeyBuilder.h>
 #include <src/gpu/ResourceKey.h>
-#include <src/gpu/ganesh/BaseDevice.h>
 #include <src/gpu/ganesh/GrCaps.h>
 #include <src/gpu/ganesh/GrColorInfo.h>
 #include <src/gpu/ganesh/GrColorSpaceXform.h>
@@ -528,11 +501,6 @@
 #include <src/gpu/ganesh/glsl/GrGLSLProgramDataManager.h>
 #include <src/gpu/ganesh/glsl/GrGLSLUniformHandler.h>
 #include <src/gpu/ganesh/gradients/GrGradientShader.h>
-#include <src/gpu/ganesh/text/GrSDFMaskFilter.h>
-#include <src/gpu/ganesh/text/GrSDFTControl.h>
-#include <src/gpu/ganesh/text/GrTextBlob.h>
-#include <src/gpu/ganesh/text/GrTextBlobRedrawCoordinator.h>
-#include <src/gpu/ganesh/v1/SurfaceDrawContext_v1.h>
 #include <src/image/SkImage_Base.h>
 #include <src/image/SkImage_Gpu.h>
 #include <src/image/SkImage_Lazy.h>
@@ -572,21 +540,12 @@
 #include <src/sfnt/SkOTUtils.h>
 #include <src/shaders/SkBitmapProcShader.h>
 #include <src/shaders/SkColorFilterShader.h>
-#include <src/shaders/SkColorShader.h>
-#include <src/shaders/SkComposeShader.h>
-#include <src/shaders/SkEmptyShader.h>
 #include <src/shaders/SkImageShader.h>
 #include <src/shaders/SkLocalMatrixShader.h>
 #include <src/shaders/SkPictureShader.h>
 #include <src/shaders/SkShaderBase.h>
 #include <src/shaders/SkTransformShader.h>
-#include <src/shaders/gradients/Sk4fGradientBase.h>
-#include <src/shaders/gradients/Sk4fLinearGradient.h>
-#include <src/shaders/gradients/SkGradientShaderPriv.h>
 #include <src/shaders/gradients/SkLinearGradient.h>
-#include <src/shaders/gradients/SkRadialGradient.h>
-#include <src/shaders/gradients/SkSweepGradient.h>
-#include <src/shaders/gradients/SkTwoPointConicalGradient.h>
 #include <src/text/gpu/StrikeCache.h>
 #include <src/utils/SkBlitterTrace.h>
 #include <src/utils/SkCanvasStack.h>
@@ -604,7 +563,6 @@
 #include <src/utils/SkPolyUtils.h>
 #include <src/utils/SkShaderUtils.h>
 #include <src/utils/SkShadowTessellator.h>
-#include <src/utils/SkShaperJSONWriter.h>
 #include <src/utils/SkTestCanvas.h>
 #include <src/utils/SkUTF.h>
 #include <src/utils/SkVMVisualizer.h>
diff --git a/external/skia/make-api-visible.patch.1 
b/external/skia/make-api-visible.patch.1
index a90bd99431c7..df1277fecb87 100644
--- a/external/skia/make-api-visible.patch.1
+++ b/external/skia/make-api-visible.patch.1
@@ -28,7 +28,7 @@ diff --git a/tools/sk_app/unix/WindowContextFactory_unix.h 
b/tools/sk_app/unix/W
 index 11bd2d2ac2..09c92dc417 100644
 --- a/tools/sk_app/unix/WindowContextFactory_unix.h
 +++ b/tools/sk_app/unix/WindowContextFactory_unix.h
-@@ -36,15 +36,15 @@ struct XlibWindowInfo {
+@@ -36,20 +36,20 @@ struct XlibWindowInfo {
      int          fHeight;
  };
  
@@ -43,6 +43,11 @@ index 11bd2d2ac2..09c92dc417 100644
 +SK_API std::unique_ptr<WindowContext> MakeDawnVulkanForXlib(const 
XlibWindowInfo&, const DisplayParams&);
  #endif
  
+ #if defined(SK_DAWN) && defined(SK_GRAPHITE_ENABLED)
+ std::unique_ptr<WindowContext> MakeGraphiteDawnVulkanForXlib(const 
XlibWindowInfo&,
+                                                              const 
DisplayParams&);
+ #endif
+ 
 -std::unique_ptr<WindowContext> MakeRasterForXlib(const XlibWindowInfo&, const 
DisplayParams&);
 +SK_API std::unique_ptr<WindowContext> MakeRasterForXlib(const 
XlibWindowInfo&, const DisplayParams&);
  
@@ -52,7 +57,7 @@ diff --git a/tools/sk_app/win/WindowContextFactory_win.h 
b/tools/sk_app/win/Wind
 index c05a4f0acf..fc27cd2afb 100644
 --- a/tools/sk_app/win/WindowContextFactory_win.h
 +++ b/tools/sk_app/win/WindowContextFactory_win.h
-@@ -20,21 +20,21 @@ struct DisplayParams;
+@@ -20,24 +20,24 @@ struct DisplayParams;
  
  namespace window_context_factory {
  
@@ -73,6 +78,9 @@ 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
+ std::unique_ptr<WindowContext> MakeGraphiteDawnD3D12ForWin(HWND, const 
DisplayParams&);
+ #endif
  #endif
  
 -std::unique_ptr<WindowContext> MakeRasterForWin(HWND, const DisplayParams&);
diff --git a/external/skia/missing-include.patch.0 
b/external/skia/missing-include.patch.0
deleted file mode 100644
index 5d1d0609b989..000000000000
--- a/external/skia/missing-include.patch.0
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/core/SkShaderCodeDictionary.h
-+++ src/core/SkShaderCodeDictionary.h
-@@ -9,6 +9,7 @@
- #define SkShaderCodeDictionary_DEFINED
- 
- #include <array>
-+#include <string>
- #include <unordered_map>
- #include <vector>
- #include "include/core/SkSpan.h"
---- third_party/vulkanmemoryallocator/include/vk_mem_alloc.h
-+++ third_party/vulkanmemoryallocator/include/vk_mem_alloc.h
-@@ -2570,6 +2570,7 @@
- #include <cstring>
- #include <utility>
- #include <type_traits>
-+#include <stdio.h>
- 
- #ifdef _MSC_VER
-     #include <intrin.h> // For functions like __popcnt, _BitScanForward etc.
diff --git a/external/skia/share-grcontext.patch.1 
b/external/skia/share-grcontext.patch.1
index 2a957c284358..c2f132047971 100644
--- a/external/skia/share-grcontext.patch.1
+++ b/external/skia/share-grcontext.patch.1
@@ -278,7 +278,7 @@ index c9db528ca4..634034da5a 100644
      PFN_vkGetInstanceProcAddr getInstanceProc = fGetInstanceProcAddr;
 -    GrVkBackendContext backendContext;
 +    GrVkBackendContext& backendContext = fGlobalShared->backendContext;
-     GrVkExtensions extensions;
+     skgpu::VulkanExtensions extensions;
 -    VkPhysicalDeviceFeatures2 features;
 -    if (!sk_gpu_test::CreateVkBackendContext(getInstanceProc, 
&backendContext, &extensions,
 -                                             &features, &fDebugCallback, 
&fPresentQueueIndex,
@@ -327,10 +327,10 @@ index c9db528ca4..634034da5a 100644
 +    localGetPhysicalDeviceProperties(backendContext.fPhysicalDevice, 
&d->physDeviceProperties);
 +    uint32_t physDevVersion = d->physDeviceProperties.apiVersion;
  
--    fInterface.reset(new GrVkInterface(backendContext.fGetProc, fInstance, 
fDevice,
-+    d->fInterface.reset(new GrVkInterface(backendContext.fGetProc, 
d->fInstance, d->fDevice,
-                                        backendContext.fInstanceVersion, 
physDevVersion,
-                                        &extensions));
+-    fInterface.reset(new skgpu::VulkanInterface(backendContext.fGetProc, 
fInstance, fDevice,
++    d->fInterface.reset(new skgpu::VulkanInterface(backendContext.fGetProc, 
d->fInstance, d->fDevice,
+                                                 
backendContext.fInstanceVersion, physDevVersion,
+                                                 &extensions));
  
 -    GET_PROC(DestroyInstance);
 -    if (fDebugCallback != VK_NULL_HANDLE) {
@@ -650,8 +650,8 @@ index c9db528ca4..634034da5a 100644
      GrFlushInfo info;
      info.fNumSemaphores = 1;
      info.fSignalSemaphores = &beSemaphore;
--    GrBackendSurfaceMutableState 
presentState(VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, fPresentQueueIndex);
-+    GrBackendSurfaceMutableState 
presentState(VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, fShared->fPresentQueueIndex);
+-    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();
  
@@ -666,7 +666,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,18 +19,22 @@
+@@ -19,20 +19,24 @@
  #include "tools/gpu/vk/VkTestUtils.h"
  #include "tools/sk_app/WindowContext.h"
  
@@ -674,6 +674,8 @@ index 7e1fdd9af5..946bca7522 100644
 +
  class GrRenderTarget;
  
+ namespace skgpu { struct VulkanInterface; }
+ 
  namespace sk_app {
  
 -class VulkanWindowContext : public WindowContext {
@@ -742,7 +744,7 @@ index 7e1fdd9af5..946bca7522 100644
 +    VkDevice fDevice = VK_NULL_HANDLE;
 +    VkDebugReportCallbackEXT fDebugCallback = VK_NULL_HANDLE;
 +
-     sk_sp<const GrVkInterface> fInterface;
+     sk_sp<const skgpu::VulkanInterface> fInterface;
  
 -    VkSurfaceKHR      fSurface;
 -    VkSwapchainKHR    fSwapchain;
diff --git a/external/skia/tdf148624.patch.1 b/external/skia/tdf148624.patch.1
deleted file mode 100644
index c42beca22903..000000000000
--- a/external/skia/tdf148624.patch.1
+++ /dev/null
@@ -1,60 +0,0 @@
-commit b2cecde549c76cbd1c8b7d0cee2c6799936c1e7a
-Author: Greg Daniel <egdan...@google.com>
-Date:   Thu Jun 16 11:29:08 2022 -0400
-
-    Fix not using texture barrier on StrokeTessOp.
-    
-    Previously we were overwriting the renderpassXferBarriers flag on
-    ProgramInfo to set it to kNone. This flag is meant to say whether or not
-    the entire render pass uses barriers or not. This is needed in Vulkan
-    because all pipelines in a render pass that has an input attachment
-    must bind the input attachment regardless if it is used or not. So the
-    pipeline must be created with a layout for an input attachment
-    descriptor set.
-    
-    This change just removes to performance optimization to only use the
-    barrier on the stencil and not fill draw. This use case shouldn't
-    come up too often and also shouldn't be a big perf hit regardless.
-    The way GrAppliedClip is created/used it is hard for us to create
-    multiple different Pipeline objects: one for stencil and one for the
-    fill.
-    
-    Bug: skia:13402
-    Change-Id: I15ce74b4d41b90d3dd4169a1f4fb77ed87c8b26d
-    Reviewed-on: https://skia-review.googlesource.com/c/skia/+/549898
-    Reviewed-by: Michael Ludwig <michaellud...@google.com>
-    Commit-Queue: Greg Daniel <egdan...@google.com>
-
-diff --git a/src/gpu/ganesh/ops/StrokeTessellateOp.cpp 
b/src/gpu/ganesh/ops/StrokeTessellateOp.cpp
-index 8f47441eb9..de8153cd0f 100644
---- a/src/gpu/ganesh/ops/StrokeTessellateOp.cpp
-+++ b/src/gpu/ganesh/ops/StrokeTessellateOp.cpp
-@@ -179,7 +179,12 @@ void 
StrokeTessellateOp::prePrepareTessellator(GrTessellationShader::ProgramArgs
-         fStencilProgram = GrTessellationShader::MakeProgram(args, 
fTessellationShader, pipeline,
-                                                             &kMarkStencil);
-         fillStencil = &kTestAndResetStencil;
--        args.fXferBarrierFlags = GrXferBarrierFlags::kNone;
-+        // TODO: Currently if we have a texture barrier for a dst read it 
will get put in before
-+        // both the stencil draw and the fill draw. In reality we only really 
need the barrier
-+        // once to guard the reads of the color buffer in the fill from the 
previous writes. Maybe
-+        // we can investigate how to remove one of these barriers but it is 
probably not something
-+        // that is required a lot and thus the extra barrier shouldn't be too 
much of a perf hit to
-+        // general Skia use.
-     }
- 
-     fFillProgram = GrTessellationShader::MakeProgram(args, 
fTessellationShader, pipeline,
-diff --git a/src/gpu/ganesh/vk/GrVkPipelineStateBuilder.cpp 
b/src/gpu/ganesh/vk/GrVkPipelineStateBuilder.cpp
-index 54bc7f857a..0d61b8c4cb 100644
---- a/src/gpu/ganesh/vk/GrVkPipelineStateBuilder.cpp
-+++ b/src/gpu/ganesh/vk/GrVkPipelineStateBuilder.cpp
-@@ -279,6 +279,10 @@ GrVkPipelineState* 
GrVkPipelineStateBuilder::finalize(const GrProgramDesc& desc,
-         }
-     }
- 
-+    // The vulkan spec says that if a subpass has an input attachment, then 
the input attachment
-+    // descriptor set must be bound to all pipelines in that subpass. This 
includes pipelines that
-+    // don't actually use the input attachment. Thus we look at the 
renderPassBarriers and not just
-+    // the DstProxyView barrier flags to determine if we use the input 
attachment.
-     bool usesInput = SkToBool(fProgramInfo.renderPassBarriers() & 
GrXferBarrierFlags::kTexture);
-     uint32_t layoutCount =
-         usesInput ? GrVkUniformHandler::kDescSetCount : 
(GrVkUniformHandler::kDescSetCount - 1);
diff --git a/vcl/skia/SkiaHelper.cxx b/vcl/skia/SkiaHelper.cxx
index 02ded1c84d32..d307ad7d089e 100644
--- a/vcl/skia/SkiaHelper.cxx
+++ b/vcl/skia/SkiaHelper.cxx
@@ -748,7 +748,7 @@ void setBlenderXor(SkPaint* paint)
         // Skia does not allow binary operators in the default ES2Strict mode, 
but that's only
         // because of OpenGL support. We don't use OpenGL, and it's safe for 
all modes that we do use.
         // 
https://groups.google.com/g/skia-discuss/c/EPLuQbg64Kc/m/2uDXFIGhAwAJ
-        opts.enforceES2Restrictions = false;
+        opts.maxVersionAllowed = SkSL::Version::k300;
         auto effect = SkRuntimeEffect::MakeForBlender(SkString(diff), opts);
         if (!effect.effect)
         {
diff --git a/vcl/skia/gdiimpl.cxx b/vcl/skia/gdiimpl.cxx
index 15d901d93ff2..6fb496c086b0 100644
--- a/vcl/skia/gdiimpl.cxx
+++ b/vcl/skia/gdiimpl.cxx
@@ -34,6 +34,7 @@
 #include <SkGradientShader.h>
 #include <SkPath.h>
 #include <SkRegion.h>
+#include <SkPathEffect.h>
 #include <SkDashPathEffect.h>
 #include <GrBackendSurface.h>
 #include <SkTextBlob.h>

Reply via email to