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 | 21 --- 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, 305 insertions(+), 101 deletions(-)
New commits: commit 9fd65d8f9485f44e8f18b4e68d0e70ba154ae636 Author: Stephan Bergmann <sberg...@redhat.com> AuthorDate: Wed Jan 25 13:14:58 2023 +0100 Commit: Stephan Bergmann <sberg...@redhat.com> CommitDate: Wed Jan 25 17:25:32 2023 +0000 Revert "Update skia to m110" This reverts commit aef70869b0fae3001648ec2a2651ffc9c507678f plus follow-up 4172fcb7514ff8a9e9740ff0939e9a2f611edbce "Fix no-pch Windows build: missing include". It caused my Windows build `instdir/program/soffice` to immediatley fail with > skia\include/core/SkRefCnt.h(62): fatal error: "assert(this->getRefCnt() > 0)" > warn:skia:10572:7804:external/skia/source/SkMemory_malloc.cxx:32: sk_abort_no_print on start. Change-Id: I751f83eda28d9a5a8f9dd4b2429389906ffce983 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146132 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sberg...@redhat.com> diff --git a/download.lst b/download.lst index 6c1af18404b5..6d77206cfec3 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 := 878112f9693be12292d5fad5e73367fa11c96909ae27d1d7d2e2cb5d01011ea7 -SKIA_TARBALL := skia-m110-aab9fb4100da797d25fe340e9a2fcb2ae30fc2e1.tar.xz +SKIA_SHA256SUM := c094a6247e44104beaaa0d00c825beb6baf1a8e532dc22214747495317a65bd9 +SKIA_TARBALL := skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.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 447a223592f1..c0f91e1a463a 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)/modules/skcms/ \ + -I$(call gb_UnpackedTarball_get_dir,skia)/include/third_party/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,6 +145,7 @@ $(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 \ @@ -167,6 +168,7 @@ $(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 \ @@ -175,7 +177,6 @@ $(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 \ @@ -185,7 +186,6 @@ $(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,6 +224,7 @@ $(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 \ @@ -233,6 +234,8 @@ $(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 \ @@ -245,10 +248,12 @@ $(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 \ @@ -256,14 +261,15 @@ $(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 \ @@ -305,14 +311,16 @@ $(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 \ @@ -324,7 +332,6 @@ $(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 \ @@ -346,6 +353,10 @@ $(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 \ @@ -359,9 +370,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 \ @@ -431,16 +442,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 \ @@ -453,9 +464,12 @@ $(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 \ @@ -470,7 +484,6 @@ $(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 \ @@ -481,11 +494,7 @@ $(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 \ @@ -499,22 +508,24 @@ $(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 \ @@ -522,12 +533,9 @@ $(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 \ @@ -537,16 +545,11 @@ $(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/SkSLAddConstToVarModifiers \ + UnpackedTarball/skia/src/sksl/transform/SkSLBuiltinVariableScanner \ 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 \ @@ -557,7 +560,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 \ @@ -575,7 +577,10 @@ $(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 \ @@ -592,16 +597,6 @@ $(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 \ @@ -628,6 +623,7 @@ $(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 \ @@ -641,6 +637,7 @@ $(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 \ @@ -732,6 +729,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/BaseDevice \ UnpackedTarball/skia/src/gpu/ganesh/SkGr \ UnpackedTarball/skia/src/gpu/ganesh/SurfaceContext \ UnpackedTarball/skia/src/gpu/ganesh/SurfaceFillContext \ @@ -741,24 +739,21 @@ $(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,\ @@ -804,10 +799,19 @@ $(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 \ @@ -815,11 +819,14 @@ $(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 \ @@ -839,10 +846,6 @@ $(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,\ @@ -874,6 +877,10 @@ $(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) \ @@ -1005,7 +1012,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/modules/skcms/skcms, $(gb_COMPILEROPTFLAGS) \ + UnpackedTarball/skia/third_party/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 aec7edabdba7..e8a75960658c 100644 --- a/external/skia/UnpackedTarball_skia.mk +++ b/external/skia/UnpackedTarball_skia.mk @@ -34,9 +34,12 @@ 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)) @@ -45,7 +48,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,skia,\ )) $(eval $(call gb_UnpackedTarball_set_post_action,skia,\ - mv modules/skcms/skcms.cc modules/skcms/skcms.cpp \ + mv third_party/skcms/skcms.cc third_party/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 aebe66c907d6..40cf4e0a4fd5 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 -@@ -43,7 +43,7 @@ +@@ -68,7 +68,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 4123227ba637..883f31e0f1b6 100644 --- a/external/skia/constexpr-template.patch.0 +++ b/external/skia/constexpr-template.patch.0 @@ -23,12 +23,23 @@ 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/SkRefCnt.h" - #include <memory> + #include "include/core/SkBlendMode.h" + #include "include/core/SkRefCnt.h" - -class GrFragmentProcessor; +#include "src/gpu/ganesh/GrFragmentProcessor.h" @@ -37,14 +48,25 @@ --- src/sksl/dsl/DSLFunction.cpp +++ src/sksl/dsl/DSLFunction.cpp -@@ -41,6 +41,10 @@ - return context.fConfig->fIsBuiltinCode && SkSL::FindIntrinsicKind(name) != kNotIntrinsic; - } +@@ -34,6 +34,10 @@ + + namespace dsl { +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) { + SkTArray<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 new file mode 100644 index 000000000000..4ed2ff2527b4 --- /dev/null +++ b/external/skia/fix-graphite-ifdef.patch.1 @@ -0,0 +1,48 @@ +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 f3e70739354e..a2fe81562720 100644 --- a/external/skia/fix-pch.patch.1 +++ b/external/skia/fix-pch.patch.1 @@ -1,3 +1,15 @@ +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 @@ -67,11 +79,21 @@ index af4909aaaf..825ec35c83 100644 #include <dwrite.h> #include <d2d1.h> -diff --git a/modules/skcms/skcms.cc b/modules/skcms/skcms.cc +diff --git a/third_party/skcms/skcms.cc b/third_party/skcms/skcms.cc index 1b643f45cf..c1981110da 100644 ---- a/modules/skcms/skcms.cc -+++ b/modules/skcms/skcms.cc -@@ -2371,7 +2372,9 @@ typedef enum { +--- 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 { 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 46d55e493bd3..2aefd91c52e4 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: -- constexpr SkSamplingOptions(int maxAniso) : maxAniso(maxAniso) {} -+ constexpr SkSamplingOptions(int maxAniso_) : maxAniso(maxAniso_) {} +- SkSamplingOptions(int maxAniso) : maxAniso(maxAniso) {} ++ 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 dcef8fcb7f6d..e9631b68daf7 100644 --- a/external/skia/inc/pch/precompiled_skia.hxx +++ b/external/skia/inc/pch/precompiled_skia.hxx @@ -77,6 +77,17 @@ #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> @@ -212,6 +223,7 @@ #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> @@ -243,7 +255,7 @@ #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/third_party/skcms/skcms.h> #include <include/utils/SkBase64.h> #include <include/utils/SkCamera.h> #include <include/utils/SkCanvasStateUtils.h> @@ -276,6 +288,7 @@ #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> @@ -306,6 +319,7 @@ #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> @@ -336,6 +350,7 @@ #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> @@ -343,6 +358,8 @@ #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> @@ -356,29 +373,35 @@ #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> @@ -410,12 +433,14 @@ #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> @@ -435,6 +460,7 @@ #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> @@ -459,6 +485,7 @@ #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> @@ -501,6 +528,11 @@ #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> @@ -540,12 +572,21 @@ #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> @@ -563,6 +604,7 @@ #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 30eefa1860bf..a90bd99431c7 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,20 +36,20 @@ struct XlibWindowInfo { +@@ -36,15 +36,15 @@ struct XlibWindowInfo { int fHeight; }; @@ -43,11 +43,6 @@ 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&); @@ -57,16 +52,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 -@@ -13,31 +13,33 @@ struct DisplayParams; - - #include <memory> - -+#include "include/core/SkTypes.h" -+ - namespace sk_app { - - class WindowContext; - struct DisplayParams; +@@ -20,21 +20,21 @@ struct DisplayParams; namespace window_context_factory { @@ -87,9 +73,6 @@ 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 new file mode 100644 index 000000000000..5d1d0609b989 --- /dev/null +++ b/external/skia/missing-include.patch.0 @@ -0,0 +1,20 @@ +--- 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 c2f132047971..2a957c284358 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; - skgpu::VulkanExtensions extensions; + GrVkExtensions 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 skgpu::VulkanInterface(backendContext.fGetProc, fInstance, fDevice, -+ d->fInterface.reset(new skgpu::VulkanInterface(backendContext.fGetProc, d->fInstance, d->fDevice, - backendContext.fInstanceVersion, physDevVersion, - &extensions)); +- fInterface.reset(new GrVkInterface(backendContext.fGetProc, fInstance, fDevice, ++ d->fInterface.reset(new GrVkInterface(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; -- skgpu::MutableTextureState presentState(VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, fPresentQueueIndex); -+ skgpu::MutableTextureState presentState(VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, fShared->fPresentQueueIndex); +- GrBackendSurfaceMutableState presentState(VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, fPresentQueueIndex); ++ GrBackendSurfaceMutableState 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,20 +19,24 @@ +@@ -19,18 +19,22 @@ #include "tools/gpu/vk/VkTestUtils.h" #include "tools/sk_app/WindowContext.h" @@ -674,8 +674,6 @@ index 7e1fdd9af5..946bca7522 100644 + class GrRenderTarget; - namespace skgpu { struct VulkanInterface; } - namespace sk_app { -class VulkanWindowContext : public WindowContext { @@ -744,7 +742,7 @@ index 7e1fdd9af5..946bca7522 100644 + VkDevice fDevice = VK_NULL_HANDLE; + VkDebugReportCallbackEXT fDebugCallback = VK_NULL_HANDLE; + - sk_sp<const skgpu::VulkanInterface> fInterface; + sk_sp<const GrVkInterface> fInterface; - VkSurfaceKHR fSurface; - VkSwapchainKHR fSwapchain; diff --git a/external/skia/tdf148624.patch.1 b/external/skia/tdf148624.patch.1 new file mode 100644 index 000000000000..c42beca22903 --- /dev/null +++ b/external/skia/tdf148624.patch.1 @@ -0,0 +1,60 @@ +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 d307ad7d089e..02ded1c84d32 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.maxVersionAllowed = SkSL::Version::k300; + opts.enforceES2Restrictions = false; auto effect = SkRuntimeEffect::MakeForBlender(SkString(diff), opts); if (!effect.effect) { diff --git a/vcl/skia/gdiimpl.cxx b/vcl/skia/gdiimpl.cxx index 6fb496c086b0..15d901d93ff2 100644 --- a/vcl/skia/gdiimpl.cxx +++ b/vcl/skia/gdiimpl.cxx @@ -34,7 +34,6 @@ #include <SkGradientShader.h> #include <SkPath.h> #include <SkRegion.h> -#include <SkPathEffect.h> #include <SkDashPathEffect.h> #include <GrBackendSurface.h> #include <SkTextBlob.h>