summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/update_pch3
-rw-r--r--config_host/config_skia.h.in2
-rw-r--r--configure.ac65
-rw-r--r--download.lst4
-rw-r--r--external/skia/Library_skia.mk202
-rw-r--r--external/skia/UnpackedTarball_skia.mk5
-rw-r--r--external/skia/c++20.patch.017
-rw-r--r--external/skia/constexpr-debug-std-max.patch.116
-rw-r--r--external/skia/disable-freetype-colrv1.124
-rw-r--r--external/skia/fix-gcc-x86.patch.116
-rw-r--r--external/skia/fix-pch.patch.145
-rw-r--r--external/skia/fix-without-gl.patch.07
-rw-r--r--external/skia/inc/pch/precompiled_skia.hxx451
-rw-r--r--external/skia/make-api-visible.patch.130
14 files changed, 242 insertions, 645 deletions
diff --git a/bin/update_pch b/bin/update_pch
index e47a97994bb2..e59e72172deb 100755
--- a/bin/update_pch
+++ b/bin/update_pch
@@ -474,7 +474,8 @@ def filter_ignore(line, module):
'src/sksl/SkSLCPP.h',
'src/gpu/vk/GrVkAMDMemoryAllocator.h',
'src/gpu/GrUtil.h',
- 'src/sksl/dsl/',
+ 'src/sksl/', # conflict between SkSL::Expression and SkSL::dsl::Expression
+ 'include/sksl/',
]
for i in ignore_list:
diff --git a/config_host/config_skia.h.in b/config_host/config_skia.h.in
index 367920665704..b98ba14d31ec 100644
--- a/config_host/config_skia.h.in
+++ b/config_host/config_skia.h.in
@@ -50,6 +50,8 @@ are the same.
#define SK_ASSUME_GL 1
#define SK_ASSUME_GL_ES 0
+#define SK_ENABLE_SKSL 1
+
// See https://codereview.chromium.org/2089583002 . This makes raster drawing
// faster in some cases, it was made conditional because of some tests failing,
// but if I'm reading the review correctly the code is in fact fine and just
diff --git a/configure.ac b/configure.ac
index bd929450971c..e44f1ab9e312 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9397,6 +9397,7 @@ if test "$using_freetype_fontconfig" = yes -a "$test_system_freetype" != no; the
# FreeType's docs/VERSION.DLL provides a table mapping between the three
#
# 9.9.3 is 2.2.0
+ # When the minimal version is at least 2.8.1, remove Skia's check down below.
PKG_CHECK_MODULES(FREETYPE, freetype2 >= 9.9.3)
FREETYPE_CFLAGS=$(printf '%s' "$FREETYPE_CFLAGS" | sed -e "s/-I/${ISYSTEM?}/g")
FilterLibs "${FREETYPE_LIBS}"
@@ -11974,38 +11975,52 @@ AC_SUBST(POPPLER_CFLAGS)
AC_SUBST(POPPLER_LIBS)
# Skia?
-AC_MSG_CHECKING([whether to build Skia])
ENABLE_SKIA=
if test "$enable_skia" != "no" -a "$build_skia" = "yes" -a -z "$DISABLE_GUI"; then
- if test "$enable_skia" = "debug"; then
- AC_MSG_RESULT([yes (debug)])
- ENABLE_SKIA_DEBUG=TRUE
- else
- AC_MSG_RESULT([yes])
- ENABLE_SKIA_DEBUG=
- fi
- ENABLE_SKIA=TRUE
- AC_DEFINE(HAVE_FEATURE_SKIA)
- BUILD_TYPE="$BUILD_TYPE SKIA"
+ # Skia now requires at least freetype2 >= 2.8.1, which is less that what LO requires as system freetype.
+ if test "$SYSTEM_FREETYPE" = TRUE; then
+ PKG_CHECK_EXISTS(freetype2 >= 21.0.15, # 21.0.15 = 2.8.1
+ [skia_freetype_ok=yes],
+ [skia_freetype_ok=no])
+ else # internal is ok
+ skia_freetype_ok=yes
+ fi
+ AC_MSG_CHECKING([whether to build Skia])
+ if test "$skia_freetype_ok" = "yes"; then
+ if test "$enable_skia" = "debug"; then
+ AC_MSG_RESULT([yes (debug)])
+ ENABLE_SKIA_DEBUG=TRUE
+ else
+ AC_MSG_RESULT([yes])
+ ENABLE_SKIA_DEBUG=
+ fi
+ ENABLE_SKIA=TRUE
+ AC_DEFINE(HAVE_FEATURE_SKIA)
+ BUILD_TYPE="$BUILD_TYPE SKIA"
- if test "$OS" = "MACOSX"; then
- AC_DEFINE(SK_SUPPORT_GPU,1)
- AC_DEFINE(SK_METAL,1)
- SKIA_GPU=METAL
- AC_SUBST(SKIA_GPU)
- else
- AC_DEFINE(SK_SUPPORT_GPU,1)
- AC_DEFINE(SK_VULKAN,1)
- SKIA_GPU=VULKAN
- AC_SUBST(SKIA_GPU)
- fi
+ if test "$OS" = "MACOSX"; then
+ AC_DEFINE(SK_SUPPORT_GPU,1)
+ AC_DEFINE(SK_METAL,1)
+ SKIA_GPU=METAL
+ AC_SUBST(SKIA_GPU)
+ else
+ AC_DEFINE(SK_SUPPORT_GPU,1)
+ AC_DEFINE(SK_VULKAN,1)
+ SKIA_GPU=VULKAN
+ AC_SUBST(SKIA_GPU)
+ fi
- if test -n "$MAC_OS_X_VERSION_MIN_REQUIRED" -a "$MAC_OS_X_VERSION_MIN_REQUIRED" -lt "101200"; then
- SKIA_DISABLE_VMA_USE_STL_SHARED_MUTEX=1
- AC_SUBST(SKIA_DISABLE_VMA_USE_STL_SHARED_MUTEX)
+ if test -n "$MAC_OS_X_VERSION_MIN_REQUIRED" -a "$MAC_OS_X_VERSION_MIN_REQUIRED" -lt "101200"; then
+ SKIA_DISABLE_VMA_USE_STL_SHARED_MUTEX=1
+ AC_SUBST(SKIA_DISABLE_VMA_USE_STL_SHARED_MUTEX)
+ fi
+ else
+ AC_MSG_RESULT([no (freetype too old)])
+ add_warning "freetype version is too old for Skia library, at least 2.8.1 required, Skia support disabled"
fi
else
+ AC_MSG_CHECKING([whether to build Skia])
AC_MSG_RESULT([no])
fi
AC_SUBST(ENABLE_SKIA)
diff --git a/download.lst b/download.lst
index 1a46b56daff4..59367d25c67b 100644
--- a/download.lst
+++ b/download.lst
@@ -237,8 +237,8 @@ export RHINO_SHA256SUM := 1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131
export RHINO_TARBALL := 798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
export SERF_SHA256SUM := 549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc
export SERF_TARBALL := serf-1.3.9.tar.bz2
-export SKIA_SHA256SUM := abe0b94d54edb717c58d74263f4ed3d27824d2ce9e9f2ce85a21ab38d993f94d
-export SKIA_TARBALL := skia-m90-45c57e116ee0ce214bdf78405a4762722e4507d9.tar.xz
+export SKIA_SHA256SUM := f69f9164ee982a8254722e1100aa7d31f78a5cd5e084418a3e202b55104fc3e2
+export SKIA_TARBALL := skia-m94-975fcdd755dfc5d57cddbb25857e0c4ac29abe98.tar.xz
export STAROFFICE_SHA256SUM := f94fb0ad8216f97127bedef163a45886b43c62deac5e5b0f5e628e234220c8db
export STAROFFICE_VERSION_MICRO := 7
export STAROFFICE_TARBALL := libstaroffice-0.0.$(STAROFFICE_VERSION_MICRO).tar.xz
diff --git a/external/skia/Library_skia.mk b/external/skia/Library_skia.mk
index a749bac5d575..60b8a3caccb1 100644
--- a/external/skia/Library_skia.mk
+++ b/external/skia/Library_skia.mk
@@ -159,6 +159,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/core/SkBitmapProcState \
UnpackedTarball/skia/src/core/SkBitmapProcState_matrixProcs \
UnpackedTarball/skia/src/core/SkBlendMode \
+ UnpackedTarball/skia/src/core/SkBlendModeBlender \
UnpackedTarball/skia/src/core/SkBlitRow_D32 \
UnpackedTarball/skia/src/core/SkBlitter_ARGB32 \
UnpackedTarball/skia/src/core/SkBlitter_A8 \
@@ -241,7 +242,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/core/SkMath \
UnpackedTarball/skia/src/core/SkMatrix \
UnpackedTarball/skia/src/core/SkMatrixImageFilter \
- UnpackedTarball/skia/src/core/SkMatrix44 \
+ UnpackedTarball/skia/src/core/SkMatrixInvert \
UnpackedTarball/skia/src/core/SkM44 \
UnpackedTarball/skia/src/core/SkMD5 \
UnpackedTarball/skia/src/core/SkMiniRecorder \
@@ -313,6 +314,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/core/SkStrikeSpec \
UnpackedTarball/skia/src/core/SkString \
UnpackedTarball/skia/src/core/SkStringUtils \
+ UnpackedTarball/skia/src/core/SkStringView \
UnpackedTarball/skia/src/core/SkStroke \
UnpackedTarball/skia/src/core/SkStrokeRec \
UnpackedTarball/skia/src/core/SkStrokerPriv \
@@ -354,7 +356,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/effects/imagefilters/SkComposeImageFilter \
UnpackedTarball/skia/src/effects/imagefilters/SkDisplacementMapImageFilter \
UnpackedTarball/skia/src/effects/imagefilters/SkDropShadowImageFilter \
- UnpackedTarball/skia/src/effects/imagefilters/SkImageFilters \
UnpackedTarball/skia/src/effects/imagefilters/SkImageImageFilter \
UnpackedTarball/skia/src/effects/imagefilters/SkLightingImageFilter \
UnpackedTarball/skia/src/effects/imagefilters/SkMagnifierImageFilter \
@@ -364,7 +365,9 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/effects/imagefilters/SkOffsetImageFilter \
UnpackedTarball/skia/src/effects/imagefilters/SkPictureImageFilter \
UnpackedTarball/skia/src/effects/imagefilters/SkShaderImageFilter \
+ UnpackedTarball/skia/src/effects/imagefilters/SkRuntimeImageFilter \
UnpackedTarball/skia/src/effects/imagefilters/SkTileImageFilter \
+ UnpackedTarball/skia/src/effects/SkBlenders \
UnpackedTarball/skia/src/effects/SkColorMatrix \
UnpackedTarball/skia/src/effects/SkColorMatrixFilter \
UnpackedTarball/skia/src/effects/SkCornerPathEffect \
@@ -377,7 +380,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/effects/SkLumaColorFilter \
UnpackedTarball/skia/src/effects/SkOpPathEffect \
UnpackedTarball/skia/src/effects/SkOverdrawColorFilter \
- UnpackedTarball/skia/src/effects/SkPackBits \
UnpackedTarball/skia/src/effects/SkShaderMaskFilter \
UnpackedTarball/skia/src/effects/SkTableColorFilter \
UnpackedTarball/skia/src/effects/SkTableMaskFilter \
@@ -445,55 +447,77 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/shaders/SkPerlinNoiseShader \
UnpackedTarball/skia/src/shaders/SkPictureShader \
UnpackedTarball/skia/src/shaders/SkShader \
+ UnpackedTarball/skia/src/shaders/SkTransformShader \
UnpackedTarball/skia/src/sksl/dsl/DSLBlock \
+ UnpackedTarball/skia/src/sksl/dsl/DSLCase \
UnpackedTarball/skia/src/sksl/dsl/DSLCore \
UnpackedTarball/skia/src/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 \
UnpackedTarball/skia/src/sksl/ir/SkSLConstructor \
+ UnpackedTarball/skia/src/sksl/ir/SkSLConstructorArray \
+ UnpackedTarball/skia/src/sksl/ir/SkSLConstructorArrayCast \
+ UnpackedTarball/skia/src/sksl/ir/SkSLConstructorCompound \
+ UnpackedTarball/skia/src/sksl/ir/SkSLConstructorCompoundCast \
+ UnpackedTarball/skia/src/sksl/ir/SkSLConstructorDiagonalMatrix \
+ UnpackedTarball/skia/src/sksl/ir/SkSLConstructorMatrixResize \
+ UnpackedTarball/skia/src/sksl/ir/SkSLConstructorScalarCast \
+ UnpackedTarball/skia/src/sksl/ir/SkSLConstructorSplat \
+ UnpackedTarball/skia/src/sksl/ir/SkSLConstructorStruct \
+ UnpackedTarball/skia/src/sksl/ir/SkSLDoStatement \
+ UnpackedTarball/skia/src/sksl/ir/SkSLExpressionStatement \
+ UnpackedTarball/skia/src/sksl/ir/SkSLFieldAccess \
+ UnpackedTarball/skia/src/sksl/ir/SkSLForStatement \
+ UnpackedTarball/skia/src/sksl/ir/SkSLFunctionCall \
+ UnpackedTarball/skia/src/sksl/ir/SkSLFunctionDeclaration \
+ UnpackedTarball/skia/src/sksl/ir/SkSLIfStatement \
+ UnpackedTarball/skia/src/sksl/ir/SkSLIndexExpression \
UnpackedTarball/skia/src/sksl/ir/SkSLPrefixExpression \
+ UnpackedTarball/skia/src/sksl/ir/SkSLPostfixExpression \
UnpackedTarball/skia/src/sksl/ir/SkSLSetting \
UnpackedTarball/skia/src/sksl/ir/SkSLSwitchStatement \
UnpackedTarball/skia/src/sksl/ir/SkSLSwizzle \
UnpackedTarball/skia/src/sksl/ir/SkSLSymbolTable \
+ UnpackedTarball/skia/src/sksl/ir/SkSLTernaryExpression \
UnpackedTarball/skia/src/sksl/ir/SkSLType \
+ UnpackedTarball/skia/src/sksl/ir/SkSLVarDeclarations \
UnpackedTarball/skia/src/sksl/ir/SkSLVariable \
UnpackedTarball/skia/src/sksl/ir/SkSLVariableReference \
UnpackedTarball/skia/src/sksl/SkSLASTNode \
UnpackedTarball/skia/src/sksl/SkSLAnalysis \
UnpackedTarball/skia/src/sksl/SkSLBuiltinTypes \
- UnpackedTarball/skia/src/sksl/SkSLCFGGenerator \
UnpackedTarball/skia/src/sksl/SkSLCompiler \
UnpackedTarball/skia/src/sksl/SkSLConstantFolder \
UnpackedTarball/skia/src/sksl/SkSLContext \
- UnpackedTarball/skia/src/sksl/SkSLCPPCodeGenerator \
- UnpackedTarball/skia/src/sksl/SkSLCPPUniformCTypes \
- UnpackedTarball/skia/src/sksl/SkSLDefinitionMap \
+ UnpackedTarball/skia/src/sksl/SkSLDSLParser \
UnpackedTarball/skia/src/sksl/SkSLDehydrator \
- UnpackedTarball/skia/src/sksl/SkSLGLSLCodeGenerator \
- UnpackedTarball/skia/src/sksl/SkSLHCodeGenerator \
UnpackedTarball/skia/src/sksl/SkSLIRGenerator \
UnpackedTarball/skia/src/sksl/SkSLInliner \
UnpackedTarball/skia/src/sksl/SkSLLexer \
UnpackedTarball/skia/src/sksl/SkSLMangler \
- UnpackedTarball/skia/src/sksl/SkSLMetalCodeGenerator \
UnpackedTarball/skia/src/sksl/SkSLOperators \
UnpackedTarball/skia/src/sksl/SkSLOutputStream \
UnpackedTarball/skia/src/sksl/SkSLParser \
UnpackedTarball/skia/src/sksl/SkSLPool \
- UnpackedTarball/skia/src/sksl/SkSLPipelineStageCodeGenerator \
UnpackedTarball/skia/src/sksl/SkSLRehydrator \
UnpackedTarball/skia/src/sksl/SkSLSampleUsage \
- UnpackedTarball/skia/src/sksl/SkSLSPIRVCodeGenerator \
- UnpackedTarball/skia/src/sksl/SkSLSPIRVtoHLSL \
- UnpackedTarball/skia/src/sksl/SkSLSectionAndParameterHelper \
UnpackedTarball/skia/src/sksl/SkSLString \
UnpackedTarball/skia/src/sksl/SkSLUtil \
- UnpackedTarball/skia/src/sksl/SkSLVMGenerator \
+ UnpackedTarball/skia/src/sksl/codegen/SkSLGLSLCodeGenerator \
+ UnpackedTarball/skia/src/sksl/codegen/SkSLMetalCodeGenerator \
+ UnpackedTarball/skia/src/sksl/codegen/SkSLPipelineStageCodeGenerator \
+ UnpackedTarball/skia/src/sksl/codegen/SkSLSPIRVCodeGenerator \
+ UnpackedTarball/skia/src/sksl/codegen/SkSLSPIRVtoHLSL \
+ UnpackedTarball/skia/src/sksl/codegen/SkSLVMCodeGenerator \
UnpackedTarball/skia/src/utils/SkBase64 \
UnpackedTarball/skia/src/utils/SkCamera \
UnpackedTarball/skia/src/utils/SkCanvasStack \
@@ -504,7 +528,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/SkInterpolator \
UnpackedTarball/skia/src/utils/SkJSON \
UnpackedTarball/skia/src/utils/SkJSONWriter \
UnpackedTarball/skia/src/utils/SkMatrix22 \
@@ -512,6 +535,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/utils/SkNullCanvas \
UnpackedTarball/skia/src/utils/SkNWayCanvas \
UnpackedTarball/skia/src/utils/SkOSPath \
+ UnpackedTarball/skia/src/utils/SkOrderedFontMgr \
UnpackedTarball/skia/src/utils/SkPaintFilterCanvas \
UnpackedTarball/skia/src/utils/SkParseColor \
UnpackedTarball/skia/src/utils/SkParse \
@@ -532,47 +556,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
ifneq ($(SKIA_GPU),)
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/core/SkGpuBlurUtils \
- UnpackedTarball/skia/src/gpu/ccpr/GrCCAtlas \
- UnpackedTarball/skia/src/gpu/ccpr/GrCCClipPath \
- UnpackedTarball/skia/src/gpu/ccpr/GrCCClipProcessor \
- UnpackedTarball/skia/src/gpu/ccpr/GrCCConicShader \
- UnpackedTarball/skia/src/gpu/ccpr/GrCCCoverageProcessor \
- UnpackedTarball/skia/src/gpu/ccpr/GrCCCubicShader \
- UnpackedTarball/skia/src/gpu/ccpr/GrCCDrawPathsOp \
- UnpackedTarball/skia/src/gpu/ccpr/GrCCFiller \
- UnpackedTarball/skia/src/gpu/ccpr/GrCCFillGeometry \
- UnpackedTarball/skia/src/gpu/ccpr/GrCCPathCache \
- UnpackedTarball/skia/src/gpu/ccpr/GrCCPathProcessor \
- UnpackedTarball/skia/src/gpu/ccpr/GrCCPerFlushResources \
- UnpackedTarball/skia/src/gpu/ccpr/GrCCQuadraticShader \
- UnpackedTarball/skia/src/gpu/ccpr/GrCCStrokeGeometry \
- UnpackedTarball/skia/src/gpu/ccpr/GrCCStroker \
- UnpackedTarball/skia/src/gpu/ccpr/GrCoverageCountingPathRenderer \
- UnpackedTarball/skia/src/gpu/ccpr/GrGSCoverageProcessor \
- UnpackedTarball/skia/src/gpu/ccpr/GrOctoBounds \
- UnpackedTarball/skia/src/gpu/ccpr/GrSampleMaskProcessor \
- UnpackedTarball/skia/src/gpu/ccpr/GrStencilAtlasOp \
- UnpackedTarball/skia/src/gpu/ccpr/GrVSCoverageProcessor \
- UnpackedTarball/skia/src/gpu/effects/generated/GrAARectEffect \
- UnpackedTarball/skia/src/gpu/effects/generated/GrAlphaThresholdFragmentProcessor \
- UnpackedTarball/skia/src/gpu/effects/generated/GrArithmeticProcessor \
- UnpackedTarball/skia/src/gpu/effects/generated/GrBlurredEdgeFragmentProcessor \
- UnpackedTarball/skia/src/gpu/effects/generated/GrCircleBlurFragmentProcessor \
- UnpackedTarball/skia/src/gpu/effects/generated/GrCircleEffect \
- UnpackedTarball/skia/src/gpu/effects/generated/GrClampFragmentProcessor \
- UnpackedTarball/skia/src/gpu/effects/generated/GrColorMatrixFragmentProcessor \
- UnpackedTarball/skia/src/gpu/effects/generated/GrComposeLerpEffect \
- UnpackedTarball/skia/src/gpu/effects/generated/GrConfigConversionEffect \
- UnpackedTarball/skia/src/gpu/effects/generated/GrConstColorProcessor \
- UnpackedTarball/skia/src/gpu/effects/generated/GrDitherEffect \
- UnpackedTarball/skia/src/gpu/effects/generated/GrEllipseEffect \
- UnpackedTarball/skia/src/gpu/effects/generated/GrDeviceSpaceEffect \
- UnpackedTarball/skia/src/gpu/effects/generated/GrHSLToRGBFilterEffect \
- UnpackedTarball/skia/src/gpu/effects/generated/GrMagnifierEffect \
- UnpackedTarball/skia/src/gpu/effects/generated/GrOverrideInputFragmentProcessor \
- UnpackedTarball/skia/src/gpu/effects/generated/GrRectBlurEffect \
- UnpackedTarball/skia/src/gpu/effects/generated/GrRGBToHSLFilterEffect \
- UnpackedTarball/skia/src/gpu/effects/generated/GrRRectBlurEffect \
UnpackedTarball/skia/src/gpu/effects/GrBezierEffect \
UnpackedTarball/skia/src/gpu/effects/GrBicubicEffect \
UnpackedTarball/skia/src/gpu/effects/GrBitmapTextGeoProc \
@@ -585,6 +568,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/gpu/effects/GrGaussianConvolutionFragmentProcessor \
UnpackedTarball/skia/src/gpu/effects/GrMatrixConvolutionEffect \
UnpackedTarball/skia/src/gpu/effects/GrMatrixEffect \
+ UnpackedTarball/skia/src/gpu/effects/GrModulateAtlasCoverageEffect \
UnpackedTarball/skia/src/gpu/effects/GrOvalEffect \
UnpackedTarball/skia/src/gpu/effects/GrPorterDuffXferProcessor \
UnpackedTarball/skia/src/gpu/effects/GrRRectEffect \
@@ -599,46 +583,29 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/gpu/geometry/GrStyledShape \
UnpackedTarball/skia/src/gpu/glsl/GrGLSLBlend \
UnpackedTarball/skia/src/gpu/glsl/GrGLSL \
- UnpackedTarball/skia/src/gpu/glsl/GrGLSLFragmentProcessor \
UnpackedTarball/skia/src/gpu/glsl/GrGLSLFragmentShaderBuilder \
- UnpackedTarball/skia/src/gpu/glsl/GrGLSLGeometryProcessor \
- UnpackedTarball/skia/src/gpu/glsl/GrGLSLPrimitiveProcessor \
UnpackedTarball/skia/src/gpu/glsl/GrGLSLProgramBuilder \
UnpackedTarball/skia/src/gpu/glsl/GrGLSLProgramDataManager \
UnpackedTarball/skia/src/gpu/glsl/GrGLSLShaderBuilder \
UnpackedTarball/skia/src/gpu/glsl/GrGLSLUniformHandler \
UnpackedTarball/skia/src/gpu/glsl/GrGLSLVarying \
UnpackedTarball/skia/src/gpu/glsl/GrGLSLVertexGeoBuilder \
- UnpackedTarball/skia/src/gpu/glsl/GrGLSLXferProcessor \
- UnpackedTarball/skia/src/gpu/gradients/generated/GrClampedGradientEffect \
- UnpackedTarball/skia/src/gpu/gradients/generated/GrDualIntervalGradientColorizer \
- UnpackedTarball/skia/src/gpu/gradients/generated/GrLinearGradientLayout \
- UnpackedTarball/skia/src/gpu/gradients/generated/GrRadialGradientLayout \
- UnpackedTarball/skia/src/gpu/gradients/generated/GrSingleIntervalGradientColorizer \
- UnpackedTarball/skia/src/gpu/gradients/generated/GrSweepGradientLayout \
- UnpackedTarball/skia/src/gpu/gradients/generated/GrTiledGradientEffect \
- UnpackedTarball/skia/src/gpu/gradients/generated/GrTwoPointConicalGradientLayout \
- UnpackedTarball/skia/src/gpu/gradients/generated/GrUnrolledBinaryGradientColorizer \
UnpackedTarball/skia/src/gpu/gradients/GrGradientBitmapCache \
UnpackedTarball/skia/src/gpu/gradients/GrGradientShader \
UnpackedTarball/skia/src/gpu/GrAATriangulator \
UnpackedTarball/skia/src/gpu/GrAHardwareBufferImageGenerator \
UnpackedTarball/skia/src/gpu/GrAHardwareBufferUtils \
UnpackedTarball/skia/src/gpu/GrAttachment \
- UnpackedTarball/skia/src/gpu/GrAuditTrail \
UnpackedTarball/skia/src/gpu/GrBackendSemaphore \
UnpackedTarball/skia/src/gpu/GrBackendSurfaceMutableState \
UnpackedTarball/skia/src/gpu/GrBackendSurface \
UnpackedTarball/skia/src/gpu/GrBackendTextureImageGenerator \
UnpackedTarball/skia/src/gpu/GrBackendUtils \
- UnpackedTarball/skia/src/gpu/GrBitmapTextureMaker \
UnpackedTarball/skia/src/gpu/GrBlockAllocator \
UnpackedTarball/skia/src/gpu/GrBlurUtils \
UnpackedTarball/skia/src/gpu/GrBufferAllocPool \
UnpackedTarball/skia/src/gpu/GrCaps \
UnpackedTarball/skia/src/gpu/GrClientMappedBufferManager \
- UnpackedTarball/skia/src/gpu/GrClipStack \
- UnpackedTarball/skia/src/gpu/GrClipStackClip \
UnpackedTarball/skia/src/gpu/GrColorInfo \
UnpackedTarball/skia/src/gpu/GrColorSpaceXform \
UnpackedTarball/skia/src/gpu/GrContext_Base \
@@ -656,28 +623,25 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/gpu/GrDrawOpTest \
UnpackedTarball/skia/src/gpu/GrDriverBugWorkarounds \
UnpackedTarball/skia/src/gpu/GrDynamicAtlas \
+ UnpackedTarball/skia/src/gpu/GrEagerVertexAllocator \
UnpackedTarball/skia/src/gpu/GrFinishCallbacks \
UnpackedTarball/skia/src/gpu/GrFixedClip \
UnpackedTarball/skia/src/gpu/GrFragmentProcessor \
+ UnpackedTarball/skia/src/gpu/GrGeometryProcessor \
UnpackedTarball/skia/src/gpu/GrGpu \
UnpackedTarball/skia/src/gpu/GrGpuBuffer \
UnpackedTarball/skia/src/gpu/GrGpuResource \
UnpackedTarball/skia/src/gpu/GrImageContext \
- UnpackedTarball/skia/src/gpu/GrImageTextureMaker \
UnpackedTarball/skia/src/gpu/GrManagedResource \
UnpackedTarball/skia/src/gpu/GrMemoryPool \
+ UnpackedTarball/skia/src/gpu/GrMeshDrawTarget \
UnpackedTarball/skia/src/gpu/GrOnFlushResourceProvider \
UnpackedTarball/skia/src/gpu/GrOpFlushState \
UnpackedTarball/skia/src/gpu/GrOpsRenderPass \
UnpackedTarball/skia/src/gpu/GrOpsTask \
UnpackedTarball/skia/src/gpu/GrPaint \
- UnpackedTarball/skia/src/gpu/GrPath \
- UnpackedTarball/skia/src/gpu/GrPathProcessor \
- UnpackedTarball/skia/src/gpu/GrPathRenderer \
- UnpackedTarball/skia/src/gpu/GrPathRendererChain \
- UnpackedTarball/skia/src/gpu/GrPathRendering \
+ UnpackedTarball/skia/src/gpu/GrPersistentCacheUtils \
UnpackedTarball/skia/src/gpu/GrPipeline \
- UnpackedTarball/skia/src/gpu/GrPrimitiveProcessor \
UnpackedTarball/skia/src/gpu/GrProcessorAnalysis \
UnpackedTarball/skia/src/gpu/GrProcessor \
UnpackedTarball/skia/src/gpu/GrProcessorSet \
@@ -691,27 +655,21 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/gpu/GrRectanizerSkyline \
UnpackedTarball/skia/src/gpu/GrRenderTask \
UnpackedTarball/skia/src/gpu/GrRenderTaskCluster \
- UnpackedTarball/skia/src/gpu/GrReducedClip \
UnpackedTarball/skia/src/gpu/GrRenderTarget \
UnpackedTarball/skia/src/gpu/GrRenderTargetProxy \
UnpackedTarball/skia/src/gpu/GrResourceAllocator \
UnpackedTarball/skia/src/gpu/GrResourceCache \
UnpackedTarball/skia/src/gpu/GrResourceProvider \
UnpackedTarball/skia/src/gpu/GrRingBuffer \
- UnpackedTarball/skia/src/gpu/GrSamplePatternDictionary \
UnpackedTarball/skia/src/gpu/GrShaderCaps \
UnpackedTarball/skia/src/gpu/GrShaderUtils \
UnpackedTarball/skia/src/gpu/GrShaderVar \
- UnpackedTarball/skia/src/gpu/GrSoftwarePathRenderer \
UnpackedTarball/skia/src/gpu/GrSPIRVUniformHandler \
UnpackedTarball/skia/src/gpu/GrSPIRVVaryingHandler \
UnpackedTarball/skia/src/gpu/GrStagingBufferManager \
- UnpackedTarball/skia/src/gpu/GrStencilMaskHelper \
UnpackedTarball/skia/src/gpu/GrStencilSettings \
UnpackedTarball/skia/src/gpu/GrStyle \
- UnpackedTarball/skia/src/gpu/GrSurfaceContext \
- UnpackedTarball/skia/src/gpu/GrSurfaceDrawContext \
- UnpackedTarball/skia/src/gpu/GrSurfaceFillContext \
+ UnpackedTarball/skia/src/gpu/GrSubRunAllocator \
UnpackedTarball/skia/src/gpu/GrSurface \
UnpackedTarball/skia/src/gpu/GrSurfaceProxy \
UnpackedTarball/skia/src/gpu/GrSwizzle \
@@ -719,16 +677,15 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/gpu/GrTestUtils \
UnpackedTarball/skia/src/gpu/GrTriangulator \
UnpackedTarball/skia/src/gpu/GrUniformDataManager \
- UnpackedTarball/skia/src/gpu/GrTextureAdjuster \
UnpackedTarball/skia/src/gpu/GrTexture \
- UnpackedTarball/skia/src/gpu/GrTextureMaker \
- UnpackedTarball/skia/src/gpu/GrTextureProducer \
UnpackedTarball/skia/src/gpu/GrTextureProxy \
UnpackedTarball/skia/src/gpu/GrTextureRenderTargetProxy \
UnpackedTarball/skia/src/gpu/GrTextureResolveRenderTask \
UnpackedTarball/skia/src/gpu/GrThreadSafeCache \
+ UnpackedTarball/skia/src/gpu/GrThreadSafePipelineBuilder \
UnpackedTarball/skia/src/gpu/GrTransferFromRenderTask \
UnpackedTarball/skia/src/gpu/GrUtil \
+ UnpackedTarball/skia/src/gpu/GrVertexChunkArray \
UnpackedTarball/skia/src/gpu/GrWaitRenderTask \
UnpackedTarball/skia/src/gpu/GrWritePixelsRenderTask \
UnpackedTarball/skia/src/gpu/GrXferProcessor \
@@ -737,18 +694,12 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/gpu/mock/GrMockCaps \
UnpackedTarball/skia/src/gpu/mock/GrMockGpu \
UnpackedTarball/skia/src/gpu/mock/GrMockTypes \
- UnpackedTarball/skia/src/gpu/ops/GrAAConvexPathRenderer \
UnpackedTarball/skia/src/gpu/ops/GrAAConvexTessellator \
- UnpackedTarball/skia/src/gpu/ops/GrAAHairLinePathRenderer \
- UnpackedTarball/skia/src/gpu/ops/GrAALinearizingConvexPathRenderer \
UnpackedTarball/skia/src/gpu/ops/GrAtlasTextOp \
UnpackedTarball/skia/src/gpu/ops/GrClearOp \
- UnpackedTarball/skia/src/gpu/ops/GrDashLinePathRenderer \
UnpackedTarball/skia/src/gpu/ops/GrDashOp \
- UnpackedTarball/skia/src/gpu/ops/GrDefaultPathRenderer \
UnpackedTarball/skia/src/gpu/ops/GrDrawableOp \
UnpackedTarball/skia/src/gpu/ops/GrDrawAtlasOp \
- UnpackedTarball/skia/src/gpu/ops/GrDrawPathOp \
UnpackedTarball/skia/src/gpu/ops/GrDrawVerticesOp \
UnpackedTarball/skia/src/gpu/ops/GrFillRectOp \
UnpackedTarball/skia/src/gpu/ops/GrFillRRectOp \
@@ -762,31 +713,33 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/gpu/ops/GrSimpleMeshDrawOpHelper \
UnpackedTarball/skia/src/gpu/ops/GrSimpleMeshDrawOpHelperWithStencil \
UnpackedTarball/skia/src/gpu/ops/GrSmallPathAtlasMgr \
- UnpackedTarball/skia/src/gpu/ops/GrSmallPathRenderer \
- UnpackedTarball/skia/src/gpu/ops/GrStencilAndCoverPathRenderer \
- UnpackedTarball/skia/src/gpu/ops/GrStencilPathOp \
UnpackedTarball/skia/src/gpu/ops/GrSmallPathShapeData \
UnpackedTarball/skia/src/gpu/ops/GrStrokeRectOp \
- UnpackedTarball/skia/src/gpu/ops/GrTriangulatingPathRenderer \
UnpackedTarball/skia/src/gpu/ops/GrTextureOp \
- UnpackedTarball/skia/src/gpu/SkGpuDevice \
- UnpackedTarball/skia/src/gpu/SkGpuDevice_drawTexture \
+ UnpackedTarball/skia/src/gpu/BaseDevice \
UnpackedTarball/skia/src/gpu/SkGr \
- UnpackedTarball/skia/src/gpu/tessellate/GrDrawAtlasPathOp \
- UnpackedTarball/skia/src/gpu/tessellate/GrFillPathShader \
+ UnpackedTarball/skia/src/gpu/SurfaceContext \
+ UnpackedTarball/skia/src/gpu/SurfaceFillContext \
+ UnpackedTarball/skia/src/gpu/tessellate/GrAtlasRenderTask \
+ UnpackedTarball/skia/src/gpu/tessellate/GrPathCurveTessellator \
UnpackedTarball/skia/src/gpu/tessellate/GrPathInnerTriangulateOp \
- UnpackedTarball/skia/src/gpu/tessellate/GrPathTessellator \
- UnpackedTarball/skia/src/gpu/tessellate/GrStencilPathShader \
+ UnpackedTarball/skia/src/gpu/tessellate/GrPathStencilCoverOp \
+ UnpackedTarball/skia/src/gpu/tessellate/GrPathTessellateOp \
+ UnpackedTarball/skia/src/gpu/tessellate/GrPathWedgeTessellator \
+ UnpackedTarball/skia/src/gpu/tessellate/GrStrokeFixedCountTessellator \
UnpackedTarball/skia/src/gpu/tessellate/GrStrokeHardwareTessellator \
- UnpackedTarball/skia/src/gpu/tessellate/GrStrokeIndirectTessellator \
UnpackedTarball/skia/src/gpu/tessellate/GrStrokeTessellateOp \
- UnpackedTarball/skia/src/gpu/tessellate/GrStrokeTessellateShader \
- UnpackedTarball/skia/src/gpu/tessellate/GrTessellatingStencilFillOp \
- UnpackedTarball/skia/src/gpu/tessellate/GrTessellationPathRenderer \
+ UnpackedTarball/skia/src/gpu/tessellate/shaders/GrPathTessellationShader \
+ UnpackedTarball/skia/src/gpu/tessellate/shaders/GrPathTessellationShader_Hardware \
+ UnpackedTarball/skia/src/gpu/tessellate/shaders/GrPathTessellationShader_MiddleOut \
+ UnpackedTarball/skia/src/gpu/tessellate/shaders/GrStrokeTessellationShader \
+ UnpackedTarball/skia/src/gpu/tessellate/shaders/GrStrokeTessellationShader_HardwareImpl \
+ UnpackedTarball/skia/src/gpu/tessellate/shaders/GrStrokeTessellationShader_InstancedImpl \
+ UnpackedTarball/skia/src/gpu/tessellate/shaders/GrTessellationShader \
UnpackedTarball/skia/src/gpu/text/GrAtlasManager \
UnpackedTarball/skia/src/gpu/text/GrDistanceFieldAdjustTable \
UnpackedTarball/skia/src/gpu/text/GrSDFMaskFilter \
- UnpackedTarball/skia/src/gpu/text/GrSDFTOptions \
+ UnpackedTarball/skia/src/gpu/text/GrSDFTControl \
UnpackedTarball/skia/src/gpu/text/GrStrikeCache \
UnpackedTarball/skia/src/gpu/text/GrTextBlobCache \
UnpackedTarball/skia/src/gpu/text/GrTextBlob \
@@ -796,6 +749,30 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/image/SkSurface_Gpu \
))
+$(eval $(call gb_Library_add_generated_exception_objects,skia,\
+ UnpackedTarball/skia/src/gpu/GrAuditTrail \
+ UnpackedTarball/skia/src/gpu/GrClipStack \
+ UnpackedTarball/skia/src/gpu/GrPathRenderer \
+ UnpackedTarball/skia/src/gpu/GrPathRendererChain \
+ UnpackedTarball/skia/src/gpu/GrSoftwarePathRenderer \
+ UnpackedTarball/skia/src/gpu/GrStencilMaskHelper \
+ UnpackedTarball/skia/src/gpu/ops/GrAAConvexPathRenderer \
+ UnpackedTarball/skia/src/gpu/ops/GrAAHairLinePathRenderer \
+ UnpackedTarball/skia/src/gpu/ops/GrAALinearizingConvexPathRenderer \
+ UnpackedTarball/skia/src/gpu/ops/GrAtlasInstancedHelper \
+ UnpackedTarball/skia/src/gpu/ops/GrAtlasPathRenderer \
+ UnpackedTarball/skia/src/gpu/ops/GrDashLinePathRenderer \
+ UnpackedTarball/skia/src/gpu/ops/GrDefaultPathRenderer \
+ UnpackedTarball/skia/src/gpu/ops/GrDrawAtlasPathOp \
+ UnpackedTarball/skia/src/gpu/ops/GrSmallPathRenderer \
+ UnpackedTarball/skia/src/gpu/ops/GrTriangulatingPathRenderer \
+ UnpackedTarball/skia/src/gpu/tessellate/GrTessellationPathRenderer \
+ UnpackedTarball/skia/src/gpu/v1/Device \
+ UnpackedTarball/skia/src/gpu/v1/Device_drawTexture \
+ UnpackedTarball/skia/src/gpu/v1/SurfaceDrawContext \
+ UnpackedTarball/skia/src/gpu/v1/SurfaceFillContext_v1 \
+))
+
ifeq ($(SKIA_GPU),VULKAN)
$(eval $(call gb_Library_add_generated_exception_objects,skia,\
UnpackedTarball/skia/src/gpu/vk/GrVkAMDMemoryAllocator \
@@ -938,6 +915,7 @@ $(eval $(call gb_Library_add_generated_objcxxobjects,skia,\
UnpackedTarball/skia/src/gpu/mtl/GrMtlCaps \
UnpackedTarball/skia/src/gpu/mtl/GrMtlCommandBuffer \
UnpackedTarball/skia/src/gpu/mtl/GrMtlDepthStencil \
+ UnpackedTarball/skia/src/gpu/mtl/GrMtlFramebuffer \
UnpackedTarball/skia/src/gpu/mtl/GrMtlGpu \
UnpackedTarball/skia/src/gpu/mtl/GrMtlOpsRenderPass \
UnpackedTarball/skia/src/gpu/mtl/GrMtlPipelineState \
diff --git a/external/skia/UnpackedTarball_skia.mk b/external/skia/UnpackedTarball_skia.mk
index e1ea21b3cd35..7cb688c8cfd8 100644
--- a/external/skia/UnpackedTarball_skia.mk
+++ b/external/skia/UnpackedTarball_skia.mk
@@ -11,8 +11,6 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,skia))
$(eval $(call gb_UnpackedTarball_set_tarball,skia,$(SKIA_TARBALL)))
-# * c++20.patch.0 has been reported upstream at
-# <https://groups.google.com/forum/#!topic/skia-discuss/pYZQq_sLnv8> "C++20 operator== issue":
skia_patches := \
fix-pch.patch.1 \
fix-ddi.patch \
@@ -21,7 +19,6 @@ skia_patches := \
fix-alpha-difference-copy.patch.1 \
libvulkan-name.patch.1 \
share-grcontext.patch.1 \
- fix-gcc-x86.patch.1 \
clang11-flax-vector-conversion.patch.0 \
clang-attributes-warning.patch.1 \
fontconfig-get-typeface.patch.0 \
@@ -32,13 +29,13 @@ skia_patches := \
windows-typeface-directwrite.patch.0 \
windows-raster-surface-no-copies.patch.1 \
fix-windows-dwrite.patch.1 \
- c++20.patch.0 \
constexpr-debug-std-max.patch.1 \
swap-buffers-rect.patch.1 \
ubsan.patch.0 \
fast-png-write.patch.1 \
skia_sk_cpu_sse_level_0_by_default.patch.1 \
fix-warnings.patch.1 \
+ disable-freetype-colrv1.1 \
$(eval $(call gb_UnpackedTarball_set_patchlevel,skia,1))
diff --git a/external/skia/c++20.patch.0 b/external/skia/c++20.patch.0
deleted file mode 100644
index 34edcb065735..000000000000
--- a/external/skia/c++20.patch.0
+++ /dev/null
@@ -1,17 +0,0 @@
---- include/private/SkTemplates.h
-+++ include/private/SkTemplates.h
-@@ -453,12 +453,12 @@
-
- template<typename C, std::size_t... Is>
- constexpr auto SkMakeArrayFromIndexSequence(C c, std::index_sequence<Is...>)
---> std::array<std::result_of_t<C(std::size_t)>, sizeof...(Is)> {
-+-> std::array<std::invoke_result_t<C, std::size_t>, sizeof...(Is)> {
- return {{ c(Is)... }};
- }
-
- template<size_t N, typename C> constexpr auto SkMakeArray(C c)
---> std::array<std::result_of_t<C(std::size_t)>, N> {
-+-> std::array<std::invoke_result_t<C, std::size_t>, N> {
- return SkMakeArrayFromIndexSequence(c, std::make_index_sequence<N>{});
- }
-
diff --git a/external/skia/constexpr-debug-std-max.patch.1 b/external/skia/constexpr-debug-std-max.patch.1
index 03a549c8fd4a..b20e4d218bc8 100644
--- a/external/skia/constexpr-debug-std-max.patch.1
+++ b/external/skia/constexpr-debug-std-max.patch.1
@@ -1,5 +1,5 @@
diff --git a/src/sksl/SkSLASTNode.h b/src/sksl/SkSLASTNode.h
-index e6d3015d33..d95b43a778 100644
+index f266e75493..84a958411d 100644
--- a/src/sksl/SkSLASTNode.h
+++ b/src/sksl/SkSLASTNode.h
@@ -18,6 +18,18 @@
@@ -21,12 +21,12 @@ index e6d3015d33..d95b43a778 100644
/**
* Represents a node in the abstract syntax tree (AST). The AST is based directly on the parse tree;
* it is a parsed-but-not-yet-analyzed version of the program.
-@@ -251,7 +263,7 @@ struct ASTNode {
- };
-
- struct NodeData {
-- char fBytes[std::max({sizeof(Token::Kind),
-+ char fBytes[skia_max({sizeof(Token::Kind),
- sizeof(StringFragment),
+@@ -233,7 +245,7 @@ struct ASTNode {
+ // We use fBytes as a union which can hold any type of AST node, and use placement-new to
+ // copy AST objects into fBytes. Note that none of the AST objects have interesting
+ // destructors, so we do not bother doing a placement-delete on any of them in ~NodeData.
+- char fBytes[std::max({sizeof(Operator),
++ char fBytes[skia_max({sizeof(Operator),
+ sizeof(skstd::string_view),
sizeof(bool),
sizeof(SKSL_INT),
diff --git a/external/skia/disable-freetype-colrv1.1 b/external/skia/disable-freetype-colrv1.1
new file mode 100644
index 000000000000..2d24e42ad38a
--- /dev/null
+++ b/external/skia/disable-freetype-colrv1.1
@@ -0,0 +1,24 @@
+diff --git a/src/ports/SkFontHost_FreeType.cpp b/src/ports/SkFontHost_FreeType.cpp
+index 62127ba8d9..73bfaa2af3 100644
+--- a/src/ports/SkFontHost_FreeType.cpp
++++ b/src/ports/SkFontHost_FreeType.cpp
+@@ -1100,6 +1100,7 @@ void SkScalerContext_FreeType::generateMetrics(SkGlyph* glyph) {
+ FT_UInt layerGlyphIndex;
+ FT_UInt layerColorIndex;
+
++#undef TT_SUPPORT_COLRV1 // Unstable API.
+ #ifdef TT_SUPPORT_COLRV1
+ FT_OpaquePaint opaqueLayerPaint;
+ opaqueLayerPaint.p = nullptr;
+diff --git a/src/ports/SkFontHost_FreeType_common.cpp b/src/ports/SkFontHost_FreeType_common.cpp
+index 8488e859b9..baab503bfb 100644
+--- a/src/ports/SkFontHost_FreeType_common.cpp
++++ b/src/ports/SkFontHost_FreeType_common.cpp
+@@ -30,6 +30,7 @@
+ // In the past, FT_GlyphSlot_Own_Bitmap was defined in this header file.
+ #include FT_SYNTHESIS_H
+
++#undef TT_SUPPORT_COLRV1 // Unstable API.
+ #ifdef TT_SUPPORT_COLRV1
+ #include "src/core/SkScopeExit.h"
+ #endif
diff --git a/external/skia/fix-gcc-x86.patch.1 b/external/skia/fix-gcc-x86.patch.1
deleted file mode 100644
index 097c59475c5b..000000000000
--- a/external/skia/fix-gcc-x86.patch.1
+++ /dev/null
@@ -1,16 +0,0 @@
---- skia/third_party/skcms/src/Transform_inl.h 2020-04-13 00:38:56.363207994 +0200
-+++ skia/third_party/skcms/src/Transform_inl.h~ 2020-04-13 00:39:18.215603244 +0200
-@@ -689,11 +689,11 @@
- && (defined(__mips64) || defined(__i386) || defined(__s390x__))
- #define MAYBE_NOINLINE __attribute__((noinline))
- #else
-- #define MAYBE_NOINLINE
-+ #define MAYBE_NOINLINE static
- #endif
-
- MAYBE_NOINLINE
--static void clut(const skcms_A2B* a2b, F* r, F* g, F* b, F a) {
-+void clut(const skcms_A2B* a2b, F* r, F* g, F* b, F a) {
- const int dim = (int)a2b->input_channels;
- assert (0 < dim && dim <= 4);
-
diff --git a/external/skia/fix-pch.patch.1 b/external/skia/fix-pch.patch.1
index 14199fc2feb2..3331d54cfe2c 100644
--- a/external/skia/fix-pch.patch.1
+++ b/external/skia/fix-pch.patch.1
@@ -22,23 +22,23 @@ index aba610eacf..792da4e9fb 100644
+
#endif
diff --git a/src/core/SkM44.cpp b/src/core/SkM44.cpp
-index 248917423f..3d0bc00307 100644
+index 0cd138e6cc..ad7f7eca74 100644
--- a/src/core/SkM44.cpp
+++ b/src/core/SkM44.cpp
-@@ -283,6 +283,8 @@ SkM44 Sk3LookAt(const SkV3& eye, const SkV3& center, const SkV3& up) {
+@@ -283,6 +283,8 @@ SkM44 SkM44::LookAt(const SkV3& eye, const SkV3& center, const SkV3& up) {
return m;
}
+#undef near
+#undef far
- SkM44 Sk3Perspective(float near, float far, float angle) {
+ SkM44 SkM44::Perspective(float near, float far, float angle) {
SkASSERT(far > near);
diff --git a/src/gpu/gl/GrGLGpu.cpp b/src/gpu/gl/GrGLGpu.cpp
-index 76f69754c6..01ce4a1e2d 100644
+index afe3698f99..119ae41093 100644
--- a/src/gpu/gl/GrGLGpu.cpp
+++ b/src/gpu/gl/GrGLGpu.cpp
-@@ -3531,6 +3531,8 @@ void GrGLGpu::xferBarrier(GrRenderTarget* rt, GrXferBarrierType type) {
+@@ -3536,6 +3536,8 @@ void GrGLGpu::xferBarrier(GrRenderTarget* rt, GrXferBarrierType type) {
}
}
@@ -47,17 +47,6 @@ index 76f69754c6..01ce4a1e2d 100644
void GrGLGpu::insertManualFramebufferBarrier() {
SkASSERT(this->caps()->requiresManualFBBarrierAfterTessellatedStencilDraw());
GL_CALL(MemoryBarrier(GR_GL_FRAMEBUFFER_BARRIER_BIT));
-diff --git a/src/gpu/text/GrTextBlobCache.h b/src/gpu/text/GrTextBlobCache.h
-index c973384081..8943198ddd 100644
---- a/src/gpu/text/GrTextBlobCache.h
-+++ b/src/gpu/text/GrTextBlobCache.h
-@@ -91,4 +91,6 @@ private:
- SkMessageBus<PurgeBlobMessage>::Inbox fPurgeBlobInbox SK_GUARDED_BY(fSpinLock);
- };
-
-+template<> SkMessageBus<GrTextBlobCache::PurgeBlobMessage>* SkMessageBus<GrTextBlobCache::PurgeBlobMessage>::Get();
-+
- #endif
diff --git a/src/gpu/vk/GrVkSemaphore.cpp b/src/gpu/vk/GrVkSemaphore.cpp
index 23bf656bf8..f926ebfdc2 100644
--- a/src/gpu/vk/GrVkSemaphore.cpp
@@ -84,7 +73,7 @@ index af4909aaaf..825ec35c83 100644
#include <d2d1.h>
diff --git a/third_party/skcms/skcms.cc b/third_party/skcms/skcms.cc
-index 4f983439b9..f6fc53c91a 100644
+index 33e3514253..af9313a958 100644
--- a/third_party/skcms/skcms.cc
+++ b/third_party/skcms/skcms.cc
@@ -130,7 +130,8 @@ static float minus_1_ulp(float x) {
@@ -97,7 +86,7 @@ index 4f983439b9..f6fc53c91a 100644
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
-@@ -2059,7 +2060,9 @@ typedef enum {
+@@ -2061,7 +2062,9 @@ typedef enum {
Op_store_hhhh,
Op_store_fff,
Op_store_ffff,
@@ -108,3 +97,23 @@ index 4f983439b9..f6fc53c91a 100644
#if defined(__clang__)
template <int N, typename T> using Vec = T __attribute__((ext_vector_type(N)));
+diff --git a/src/sksl/ir/SkSLPoison.h b/src/sksl/ir/SkSLPoison.h
+index 43e3a1c2bd..6f88251eea 100644
+--- a/src/sksl/ir/SkSLPoison.h
++++ b/src/sksl/ir/SkSLPoison.h
+@@ -5,6 +5,9 @@
+ * found in the LICENSE file.
+ */
+
++#ifndef SKSL_POISON
++#define SKSL_POISON
++
+ #include "src/sksl/SkSLCompiler.h"
+ #include "src/sksl/SkSLContext.h"
+
+@@ -38,3 +41,5 @@ private:
+ };
+
+ } // namespace SkSL
++
++#endif
diff --git a/external/skia/fix-without-gl.patch.0 b/external/skia/fix-without-gl.patch.0
index 476978ff2b33..f0409d15e35a 100644
--- a/external/skia/fix-without-gl.patch.0
+++ b/external/skia/fix-without-gl.patch.0
@@ -32,19 +32,18 @@ diff --git a/src/gpu/gl/GrGLContext.h b/src/gpu/gl/GrGLContext.h
index 66bfe29331..034cd21838 100644
--- ./src/gpu/gl/GrGLContext.h
+++ ./src/gpu/gl/GrGLContext.h
-@@ -45,10 +45,11 @@ public:
- GrGLDriverVersion driverVersion() const { return fDriverVersion; }
+@@ -45,9 +45,11 @@ public:
const GrGLCaps* caps() const { return fGLCaps.get(); }
GrGLCaps* caps() { return fGLCaps.get(); }
+
+#ifdef SK_GL
bool hasExtension(const char* ext) const {
return fInterface->hasExtension(ext);
}
--
+#endif
+
const GrGLExtensions& extensions() const { return fInterface->fExtensions; }
- protected:
diff --git a/src/gpu/gl/GrGLGpu.h b/src/gpu/gl/GrGLGpu.h
index 8e550c36e6..27fb5efe9b 100644
--- ./src/gpu/gl/GrGLGpu.h
diff --git a/external/skia/inc/pch/precompiled_skia.hxx b/external/skia/inc/pch/precompiled_skia.hxx
index 760dea10de62..f10eac6b43b5 100644
--- a/external/skia/inc/pch/precompiled_skia.hxx
+++ b/external/skia/inc/pch/precompiled_skia.hxx
@@ -13,17 +13,17 @@
manual changes will be rewritten by the next run of update_pch.sh (which presumably
also fixes all possible problems, so it's usually better to use it).
- Generated on 2021-03-01 17:09:09 using:
+ Generated on 2021-08-24 13:03:12 using:
./bin/update_pch external/skia skia --cutoff=1 --exclude:system --include:module --include:local
If after updating build fails, use the following command to locate conflicting headers:
./bin/update_pch_bisect ./external/skia/inc/pch/precompiled_skia.hxx "make external/skia.build" --find-conflicts
*/
+#include <sal/config.h>
#if PCH_LEVEL >= 1
#include <algorithm>
#include <array>
-#include <assert.h>
#include <atomic>
#include <bitset>
#include <cctype>
@@ -34,12 +34,10 @@
#include <cmath>
#include <cstddef>
#include <cstdio>
-#include <cstdlib>
#include <cstring>
#include <ctype.h>
#include <deque>
#include <errno.h>
-#include <float.h>
#include <forward_list>
#include <fstream>
#include <functional>
@@ -52,10 +50,9 @@
#include <math.h>
#include <memory>
#include <new>
+#include <numeric>
#include <png.h>
#include <queue>
-#include <set>
-#include <skcms.h>
#include <sstream>
#include <stdarg.h>
#include <stddef.h>
@@ -65,7 +62,6 @@
#include <string>
#include <thread>
#include <tuple>
-#include <type_traits>
#include <unordered_map>
#include <unordered_set>
#include <utility>
@@ -93,6 +89,7 @@
#include <include/core/SkBBHFactory.h>
#include <include/core/SkBitmap.h>
#include <include/core/SkBlendMode.h>
+#include <include/core/SkBlender.h>
#include <include/core/SkCanvas.h>
#include <include/core/SkColor.h>
#include <include/core/SkColorFilter.h>
@@ -107,7 +104,6 @@
#include <include/core/SkDocument.h>
#include <include/core/SkDrawable.h>
#include <include/core/SkExecutor.h>
-#include <include/core/SkFilterQuality.h>
#include <include/core/SkFlattenable.h>
#include <include/core/SkFont.h>
#include <include/core/SkFontMetrics.h>
@@ -124,7 +120,6 @@
#include <include/core/SkMaskFilter.h>
#include <include/core/SkMath.h>
#include <include/core/SkMatrix.h>
-#include <include/core/SkMatrix44.h>
#include <include/core/SkOverdrawCanvas.h>
#include <include/core/SkPaint.h>
#include <include/core/SkPath.h>
@@ -148,12 +143,13 @@
#include <include/core/SkSerialProcs.h>
#include <include/core/SkShader.h>
#include <include/core/SkSize.h>
+#include <include/core/SkSpan.h>
#include <include/core/SkStream.h>
#include <include/core/SkString.h>
+#include <include/core/SkStringView.h>
#include <include/core/SkStrokeRec.h>
#include <include/core/SkSurface.h>
#include <include/core/SkSurfaceCharacterization.h>
-#include <include/core/SkSurfaceProps.h>
#include <include/core/SkSwizzle.h>
#include <include/core/SkTextBlob.h>
#include <include/core/SkTileMode.h>
@@ -167,6 +163,7 @@
#include <include/core/SkYUVAPixmaps.h>
#include <include/effects/Sk1DPathEffect.h>
#include <include/effects/Sk2DPathEffect.h>
+#include <include/effects/SkBlenders.h>
#include <include/effects/SkBlurMaskFilter.h>
#include <include/effects/SkColorMatrix.h>
#include <include/effects/SkColorMatrixFilter.h>
@@ -177,6 +174,7 @@
#include <include/effects/SkHighContrastFilter.h>
#include <include/effects/SkImageFilters.h>
#include <include/effects/SkLumaColorFilter.h>
+#include <include/effects/SkOpPathEffect.h>
#include <include/effects/SkOverdrawColorFilter.h>
#include <include/effects/SkPerlinNoiseShader.h>
#include <include/effects/SkRuntimeEffect.h>
@@ -188,30 +186,16 @@
#include <include/encode/SkJpegEncoder.h>
#include <include/encode/SkPngEncoder.h>
#include <include/encode/SkWebpEncoder.h>
-#include <include/gpu/GrBackendDrawableInfo.h>
-#include <include/gpu/GrBackendSemaphore.h>
#include <include/gpu/GrBackendSurface.h>
-#include <include/gpu/GrBackendSurfaceMutableState.h>
-#include <include/gpu/GrConfig.h>
#include <include/gpu/GrContextOptions.h>
#include <include/gpu/GrContextThreadSafeProxy.h>
#include <include/gpu/GrDirectContext.h>
-#include <include/gpu/GrDriverBugWorkarounds.h>
#include <include/gpu/GrRecordingContext.h>
-#include <include/gpu/GrTypes.h>
-#include <include/gpu/GrYUVABackendTextures.h>
-#include <include/gpu/mock/GrMockTypes.h>
-#include <include/gpu/vk/GrVkBackendContext.h>
-#include <include/gpu/vk/GrVkExtensions.h>
#include <include/gpu/vk/GrVkTypes.h>
#include <include/pathops/SkPathOps.h>
#include <include/ports/SkRemotableFontMgr.h>
-#include <include/private/GrContext_Base.h>
#include <include/private/GrImageContext.h>
#include <include/private/GrResourceKey.h>
-#include <include/private/GrSingleOwner.h>
-#include <include/private/GrTypesPriv.h>
-#include <include/private/GrVkTypesPriv.h>
#include <include/private/SkChecksum.h>
#include <include/private/SkColorData.h>
#include <include/private/SkDeque.h>
@@ -228,7 +212,14 @@
#include <include/private/SkNx.h>
#include <include/private/SkOnce.h>
#include <include/private/SkPathRef.h>
+#include <include/private/SkSLDefines.h>
+#include <include/private/SkSLLayout.h>
+#include <include/private/SkSLModifiers.h>
+#include <include/private/SkSLProgramElement.h>
#include <include/private/SkSLSampleUsage.h>
+#include <include/private/SkSLStatement.h>
+#include <include/private/SkSLString.h>
+#include <include/private/SkSLSymbol.h>
#include <include/private/SkSafe32.h>
#include <include/private/SkSemaphore.h>
#include <include/private/SkShadowFlags.h>
@@ -237,6 +228,7 @@
#include <include/private/SkTDArray.h>
#include <include/private/SkTFitsIn.h>
#include <include/private/SkTHash.h>
+#include <include/private/SkTOptional.h>
#include <include/private/SkTPin.h>
#include <include/private/SkTemplates.h>
#include <include/private/SkThreadAnnotations.h>
@@ -249,10 +241,10 @@
#include <include/utils/SkCanvasStateUtils.h>
#include <include/utils/SkCustomTypeface.h>
#include <include/utils/SkEventTracer.h>
-#include <include/utils/SkInterpolator.h>
#include <include/utils/SkNWayCanvas.h>
#include <include/utils/SkNoDrawCanvas.h>
#include <include/utils/SkNullCanvas.h>
+#include <include/utils/SkOrderedFontMgr.h>
#include <include/utils/SkPaintFilterCanvas.h>
#include <include/utils/SkParse.h>
#include <include/utils/SkParsePath.h>
@@ -283,7 +275,6 @@
#include <src/codec/SkWbmpCodec.h>
#include <src/codec/SkWebpCodec.h>
#include <src/core/SkAAClip.h>
-#include <src/core/SkASAN.h>
#include <src/core/SkATrace.h>
#include <src/core/SkAdvancedTypefaceMetrics.h>
#include <src/core/SkAnalyticEdge.h>
@@ -297,14 +288,15 @@
#include <src/core/SkBitmapCache.h>
#include <src/core/SkBitmapDevice.h>
#include <src/core/SkBitmapProcState.h>
+#include <src/core/SkBlendModeBlender.h>
#include <src/core/SkBlendModePriv.h>
+#include <src/core/SkBlenderBase.h>
#include <src/core/SkBlitRow.h>
#include <src/core/SkBlitter.h>
#include <src/core/SkBlurMask.h>
#include <src/core/SkBuffer.h>
#include <src/core/SkCachedData.h>
#include <src/core/SkCanvasPriv.h>
-#include <src/core/SkClipOpPriv.h>
#include <src/core/SkClipStack.h>
#include <src/core/SkClipStackDevice.h>
#include <src/core/SkColorFilterBase.h>
@@ -317,7 +309,6 @@
#include <src/core/SkCoreBlitters.h>
#include <src/core/SkCpu.h>
#include <src/core/SkCubicClipper.h>
-#include <src/core/SkDeferredDisplayListPriv.h>
#include <src/core/SkDescriptor.h>
#include <src/core/SkDevice.h>
#include <src/core/SkDiscardableMemory.h>
@@ -344,7 +335,6 @@
#include <src/core/SkGlyphRunPainter.h>
#include <src/core/SkGpuBlurUtils.h>
#include <src/core/SkICCPriv.h>
-#include <src/core/SkIPoint16.h>
#include <src/core/SkImageFilterCache.h>
#include <src/core/SkImageFilterTypes.h>
#include <src/core/SkImageFilter_Base.h>
@@ -364,6 +354,7 @@
#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>
@@ -378,6 +369,7 @@
#include <src/core/SkOpts.h>
#include <src/core/SkPaintDefaults.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>
@@ -419,7 +411,6 @@
#include <src/core/SkScanPriv.h>
#include <src/core/SkScopeExit.h>
#include <src/core/SkSharedMutex.h>
-#include <src/core/SkSpan.h>
#include <src/core/SkSpecialImage.h>
#include <src/core/SkSpecialSurface.h>
#include <src/core/SkSpriteBlitter.h>
@@ -434,7 +425,6 @@
#include <src/core/SkTDPQueue.h>
#include <src/core/SkTDynamicHash.h>
#include <src/core/SkTInternalLList.h>
-#include <src/core/SkTLList.h>
#include <src/core/SkTLazy.h>
#include <src/core/SkTSearch.h>
#include <src/core/SkTSort.h>
@@ -448,6 +438,7 @@
#include <src/core/SkTypeface_remote.h>
#include <src/core/SkUtils.h>
#include <src/core/SkVM.h>
+#include <src/core/SkVMBlitter.h>
#include <src/core/SkValidationUtils.h>
#include <src/core/SkVertState.h>
#include <src/core/SkVerticesPriv.h>
@@ -463,353 +454,62 @@
#include <src/effects/SkEmbossMask.h>
#include <src/effects/SkEmbossMaskFilter.h>
#include <src/effects/SkOpPE.h>
-#include <src/effects/SkPackBits.h>
#include <src/effects/SkTrimPE.h>
-#include <src/effects/imagefilters/SkPictureImageFilter.h>
-#include <src/effects/imagefilters/SkTileImageFilter.h>
-#include <src/gpu/GrAATriangulator.h>
-#include <src/gpu/GrAHardwareBufferImageGenerator.h>
-#include <src/gpu/GrAHardwareBufferUtils.h>
-#include <src/gpu/GrAppliedClip.h>
-#include <src/gpu/GrAttachment.h>
-#include <src/gpu/GrAuditTrail.h>
-#include <src/gpu/GrAutoLocaleSetter.h>
-#include <src/gpu/GrBackendSurfaceMutableStateImpl.h>
-#include <src/gpu/GrBackendTextureImageGenerator.h>
-#include <src/gpu/GrBackendUtils.h>
-#include <src/gpu/GrBaseContextPriv.h>
-#include <src/gpu/GrBitmapTextureMaker.h>
+#include <src/effects/imagefilters/SkRuntimeImageFilter.h>
+#include <src/gpu/BaseDevice.h>
#include <src/gpu/GrBlend.h>
-#include <src/gpu/GrBlockAllocator.h>
-#include <src/gpu/GrBlurUtils.h>
-#include <src/gpu/GrBuffer.h>
-#include <src/gpu/GrBufferAllocPool.h>
#include <src/gpu/GrCaps.h>
-#include <src/gpu/GrClientMappedBufferManager.h>
-#include <src/gpu/GrClip.h>
-#include <src/gpu/GrClipStack.h>
-#include <src/gpu/GrClipStackClip.h>
-#include <src/gpu/GrColor.h>
#include <src/gpu/GrColorInfo.h>
#include <src/gpu/GrColorSpaceXform.h>
#include <src/gpu/GrContextThreadSafeProxyPriv.h>
-#include <src/gpu/GrCopyRenderTask.h>
-#include <src/gpu/GrCpuBuffer.h>
-#include <src/gpu/GrDDLTask.h>
-#include <src/gpu/GrDataUtils.h>
-#include <src/gpu/GrDefaultGeoProcFactory.h>
-#include <src/gpu/GrDeferredProxyUploader.h>
#include <src/gpu/GrDirectContextPriv.h>
-#include <src/gpu/GrDistanceFieldGenFromVector.h>
-#include <src/gpu/GrDrawIndirectCommand.h>
#include <src/gpu/GrDrawOpAtlas.h>
-#include <src/gpu/GrDrawOpTest.h>
-#include <src/gpu/GrDrawingManager.h>
-#include <src/gpu/GrDynamicAtlas.h>
-#include <src/gpu/GrEagerVertexAllocator.h>
#include <src/gpu/GrFPArgs.h>
-#include <src/gpu/GrFinishCallbacks.h>
-#include <src/gpu/GrFixedClip.h>
#include <src/gpu/GrFragmentProcessor.h>
-#include <src/gpu/GrGeometryProcessor.h>
-#include <src/gpu/GrGlyph.h>
-#include <src/gpu/GrGpu.h>
-#include <src/gpu/GrGpuBuffer.h>
-#include <src/gpu/GrGpuResource.h>
-#include <src/gpu/GrGpuResourceCacheAccess.h>
#include <src/gpu/GrGpuResourcePriv.h>
#include <src/gpu/GrImageContextPriv.h>
#include <src/gpu/GrImageInfo.h>
-#include <src/gpu/GrImageTextureMaker.h>
-#include <src/gpu/GrInnerFanTriangulator.h>
-#include <src/gpu/GrManagedResource.h>
-#include <src/gpu/GrMemoryPool.h>
-#include <src/gpu/GrNativeRect.h>
-#include <src/gpu/GrOnFlushResourceProvider.h>
-#include <src/gpu/GrOpFlushState.h>
-#include <src/gpu/GrOpsRenderPass.h>
-#include <src/gpu/GrOpsTask.h>
#include <src/gpu/GrPaint.h>
-#include <src/gpu/GrPath.h>
-#include <src/gpu/GrPathProcessor.h>
-#include <src/gpu/GrPathRenderer.h>
-#include <src/gpu/GrPathRendererChain.h>
-#include <src/gpu/GrPathRendering.h>
-#include <src/gpu/GrPersistentCacheUtils.h>
-#include <src/gpu/GrPipeline.h>
-#include <src/gpu/GrPrimitiveProcessor.h>
-#include <src/gpu/GrProcessor.h>
-#include <src/gpu/GrProcessorAnalysis.h>
-#include <src/gpu/GrProcessorSet.h>
-#include <src/gpu/GrProcessorUnitTest.h>
-#include <src/gpu/GrProgramDesc.h>
-#include <src/gpu/GrProgramInfo.h>
#include <src/gpu/GrProxyProvider.h>
#include <src/gpu/GrRecordingContextPriv.h>
-#include <src/gpu/GrRectanizerPow2.h>
-#include <src/gpu/GrRectanizerSkyline.h>
-#include <src/gpu/GrReducedClip.h>
-#include <src/gpu/GrRenderTarget.h>
-#include <src/gpu/GrRenderTargetProxy.h>
#include <src/gpu/GrRenderTask.h>
-#include <src/gpu/GrRenderTaskCluster.h>
-#include <src/gpu/GrResourceAllocator.h>
-#include <src/gpu/GrResourceCache.h>
#include <src/gpu/GrResourceProvider.h>
-#include <src/gpu/GrResourceProviderPriv.h>
-#include <src/gpu/GrRingBuffer.h>
-#include <src/gpu/GrSPIRVUniformHandler.h>
-#include <src/gpu/GrSPIRVVaryingHandler.h>
-#include <src/gpu/GrSWMaskHelper.h>
-#include <src/gpu/GrSamplePatternDictionary.h>
#include <src/gpu/GrSamplerState.h>
-#include <src/gpu/GrScissorState.h>
-#include <src/gpu/GrSemaphore.h>
#include <src/gpu/GrShaderCaps.h>
-#include <src/gpu/GrShaderUtils.h>
-#include <src/gpu/GrShaderVar.h>
-#include <src/gpu/GrSimpleMesh.h>
-#include <src/gpu/GrSoftwarePathRenderer.h>
-#include <src/gpu/GrStagingBufferManager.h>
-#include <src/gpu/GrStencilClip.h>
-#include <src/gpu/GrStencilMaskHelper.h>
-#include <src/gpu/GrStencilSettings.h>
#include <src/gpu/GrStyle.h>
-#include <src/gpu/GrSurface.h>
-#include <src/gpu/GrSurfaceContext.h>
-#include <src/gpu/GrSurfaceDrawContext.h>
-#include <src/gpu/GrSurfaceFillContext.h>
-#include <src/gpu/GrSurfaceProxy.h>
-#include <src/gpu/GrSurfaceProxyPriv.h>
#include <src/gpu/GrSurfaceProxyView.h>
-#include <src/gpu/GrSwizzle.h>
-#include <src/gpu/GrTTopoSort.h>
-#include <src/gpu/GrTestUtils.h>
#include <src/gpu/GrTexture.h>
-#include <src/gpu/GrTextureAdjuster.h>
-#include <src/gpu/GrTextureMaker.h>
-#include <src/gpu/GrTextureProducer.h>
#include <src/gpu/GrTextureProxy.h>
-#include <src/gpu/GrTextureProxyCacheAccess.h>
-#include <src/gpu/GrTextureProxyPriv.h>
-#include <src/gpu/GrTextureRenderTargetProxy.h>
-#include <src/gpu/GrTextureResolveRenderTask.h>
#include <src/gpu/GrThreadSafeCache.h>
-#include <src/gpu/GrTracing.h>
-#include <src/gpu/GrTransferFromRenderTask.h>
-#include <src/gpu/GrTriangulator.h>
-#include <src/gpu/GrUniformDataManager.h>
-#include <src/gpu/GrUserStencilSettings.h>
-#include <src/gpu/GrVertexWriter.h>
-#include <src/gpu/GrVx.h>
-#include <src/gpu/GrWaitRenderTask.h>
-#include <src/gpu/GrWindowRectangles.h>
-#include <src/gpu/GrWritePixelsRenderTask.h>
-#include <src/gpu/GrXferProcessor.h>
#include <src/gpu/GrYUVATextureProxies.h>
-#include <src/gpu/SkGpuDevice.h>
#include <src/gpu/SkGr.h>
-#include <src/gpu/ccpr/GrAutoMapVertexBuffer.h>
-#include <src/gpu/ccpr/GrCCAtlas.h>
-#include <src/gpu/ccpr/GrCCClipPath.h>
-#include <src/gpu/ccpr/GrCCClipProcessor.h>
-#include <src/gpu/ccpr/GrCCConicShader.h>
-#include <src/gpu/ccpr/GrCCCoverageProcessor.h>
-#include <src/gpu/ccpr/GrCCCubicShader.h>
-#include <src/gpu/ccpr/GrCCDrawPathsOp.h>
-#include <src/gpu/ccpr/GrCCFillGeometry.h>
-#include <src/gpu/ccpr/GrCCFiller.h>
-#include <src/gpu/ccpr/GrCCPathCache.h>
-#include <src/gpu/ccpr/GrCCPathProcessor.h>
-#include <src/gpu/ccpr/GrCCPerFlushResources.h>
-#include <src/gpu/ccpr/GrCCPerOpsTaskPaths.h>
-#include <src/gpu/ccpr/GrCCQuadraticShader.h>
-#include <src/gpu/ccpr/GrCCStrokeGeometry.h>
-#include <src/gpu/ccpr/GrCCStroker.h>
-#include <src/gpu/ccpr/GrCoverageCountingPathRenderer.h>
-#include <src/gpu/ccpr/GrGSCoverageProcessor.h>
-#include <src/gpu/ccpr/GrOctoBounds.h>
-#include <src/gpu/ccpr/GrSampleMaskProcessor.h>
-#include <src/gpu/ccpr/GrStencilAtlasOp.h>
-#include <src/gpu/ccpr/GrVSCoverageProcessor.h>
-#include <src/gpu/effects/GrAtlasedShaderHelpers.h>
-#include <src/gpu/effects/GrBezierEffect.h>
+#include <src/gpu/SurfaceFillContext.h>
#include <src/gpu/effects/GrBicubicEffect.h>
-#include <src/gpu/effects/GrBitmapTextGeoProc.h>
#include <src/gpu/effects/GrBlendFragmentProcessor.h>
-#include <src/gpu/effects/GrConvexPolyEffect.h>
-#include <src/gpu/effects/GrCoverageSetOpXP.h>
#include <src/gpu/effects/GrCustomXfermode.h>
-#include <src/gpu/effects/GrDisableColorXP.h>
-#include <src/gpu/effects/GrDistanceFieldGeoProc.h>
-#include <src/gpu/effects/GrGaussianConvolutionFragmentProcessor.h>
#include <src/gpu/effects/GrMatrixConvolutionEffect.h>
#include <src/gpu/effects/GrMatrixEffect.h>
-#include <src/gpu/effects/GrOvalEffect.h>
#include <src/gpu/effects/GrPorterDuffXferProcessor.h>
-#include <src/gpu/effects/GrRRectEffect.h>
-#include <src/gpu/effects/GrShadowGeoProc.h>
#include <src/gpu/effects/GrSkSLFP.h>
#include <src/gpu/effects/GrTextureEffect.h>
#include <src/gpu/effects/GrYUVtoRGBEffect.h>
-#include <src/gpu/effects/generated/GrAARectEffect.h>
-#include <src/gpu/effects/generated/GrAlphaThresholdFragmentProcessor.h>
-#include <src/gpu/effects/generated/GrArithmeticProcessor.h>
-#include <src/gpu/effects/generated/GrBlurredEdgeFragmentProcessor.h>
-#include <src/gpu/effects/generated/GrCircleBlurFragmentProcessor.h>
-#include <src/gpu/effects/generated/GrCircleEffect.h>
-#include <src/gpu/effects/generated/GrClampFragmentProcessor.h>
-#include <src/gpu/effects/generated/GrColorMatrixFragmentProcessor.h>
-#include <src/gpu/effects/generated/GrComposeLerpEffect.h>
-#include <src/gpu/effects/generated/GrConfigConversionEffect.h>
-#include <src/gpu/effects/generated/GrConstColorProcessor.h>
-#include <src/gpu/effects/generated/GrDeviceSpaceEffect.h>
-#include <src/gpu/effects/generated/GrDitherEffect.h>
-#include <src/gpu/effects/generated/GrEllipseEffect.h>
-#include <src/gpu/effects/generated/GrHSLToRGBFilterEffect.h>
-#include <src/gpu/effects/generated/GrMagnifierEffect.h>
-#include <src/gpu/effects/generated/GrOverrideInputFragmentProcessor.h>
-#include <src/gpu/effects/generated/GrRGBToHSLFilterEffect.h>
-#include <src/gpu/effects/generated/GrRRectBlurEffect.h>
-#include <src/gpu/effects/generated/GrRectBlurEffect.h>
#include <src/gpu/geometry/GrPathUtils.h>
-#include <src/gpu/geometry/GrQuad.h>
-#include <src/gpu/geometry/GrQuadBuffer.h>
-#include <src/gpu/geometry/GrQuadUtils.h>
-#include <src/gpu/geometry/GrRect.h>
-#include <src/gpu/geometry/GrShape.h>
#include <src/gpu/geometry/GrStyledShape.h>
-#include <src/gpu/gl/GrGLGpu.h>
-#include <src/gpu/gl/GrGLTexture.h>
-#include <src/gpu/gl/GrGLUtil.h>
-#include <src/gpu/glsl/GrGLSL.h>
-#include <src/gpu/glsl/GrGLSLBlend.h>
-#include <src/gpu/glsl/GrGLSLColorSpaceXformHelper.h>
-#include <src/gpu/glsl/GrGLSLFragmentProcessor.h>
#include <src/gpu/glsl/GrGLSLFragmentShaderBuilder.h>
-#include <src/gpu/glsl/GrGLSLGeometryProcessor.h>
-#include <src/gpu/glsl/GrGLSLPrimitiveProcessor.h>
-#include <src/gpu/glsl/GrGLSLProgramBuilder.h>
#include <src/gpu/glsl/GrGLSLProgramDataManager.h>
-#include <src/gpu/glsl/GrGLSLShaderBuilder.h>
#include <src/gpu/glsl/GrGLSLUniformHandler.h>
-#include <src/gpu/glsl/GrGLSLVarying.h>
-#include <src/gpu/glsl/GrGLSLVertexGeoBuilder.h>
-#include <src/gpu/glsl/GrGLSLXferProcessor.h>
-#include <src/gpu/gradients/GrGradientBitmapCache.h>
#include <src/gpu/gradients/GrGradientShader.h>
-#include <src/gpu/gradients/generated/GrClampedGradientEffect.h>
-#include <src/gpu/gradients/generated/GrDualIntervalGradientColorizer.h>
-#include <src/gpu/gradients/generated/GrLinearGradientLayout.h>
-#include <src/gpu/gradients/generated/GrRadialGradientLayout.h>
-#include <src/gpu/gradients/generated/GrSingleIntervalGradientColorizer.h>
-#include <src/gpu/gradients/generated/GrSweepGradientLayout.h>
-#include <src/gpu/gradients/generated/GrTiledGradientEffect.h>
-#include <src/gpu/gradients/generated/GrTwoPointConicalGradientLayout.h>
-#include <src/gpu/gradients/generated/GrUnrolledBinaryGradientColorizer.h>
-#include <src/gpu/mock/GrMockAttachment.h>
-#include <src/gpu/mock/GrMockBuffer.h>
-#include <src/gpu/mock/GrMockCaps.h>
-#include <src/gpu/mock/GrMockGpu.h>
-#include <src/gpu/mock/GrMockOpsRenderPass.h>
-#include <src/gpu/mock/GrMockTexture.h>
-#include <src/gpu/ops/GrAAConvexPathRenderer.h>
-#include <src/gpu/ops/GrAAConvexTessellator.h>
-#include <src/gpu/ops/GrAAHairLinePathRenderer.h>
-#include <src/gpu/ops/GrAALinearizingConvexPathRenderer.h>
-#include <src/gpu/ops/GrAtlasTextOp.h>
-#include <src/gpu/ops/GrClearOp.h>
-#include <src/gpu/ops/GrDashLinePathRenderer.h>
-#include <src/gpu/ops/GrDashOp.h>
-#include <src/gpu/ops/GrDefaultPathRenderer.h>
-#include <src/gpu/ops/GrDrawAtlasOp.h>
-#include <src/gpu/ops/GrDrawOp.h>
-#include <src/gpu/ops/GrDrawPathOp.h>
-#include <src/gpu/ops/GrDrawVerticesOp.h>
-#include <src/gpu/ops/GrDrawableOp.h>
-#include <src/gpu/ops/GrFillRRectOp.h>
-#include <src/gpu/ops/GrFillRectOp.h>
-#include <src/gpu/ops/GrLatticeOp.h>
-#include <src/gpu/ops/GrMeshDrawOp.h>
-#include <src/gpu/ops/GrOp.h>
-#include <src/gpu/ops/GrOvalOpFactory.h>
-#include <src/gpu/ops/GrQuadPerEdgeAA.h>
-#include <src/gpu/ops/GrRegionOp.h>
-#include <src/gpu/ops/GrShadowRRectOp.h>
-#include <src/gpu/ops/GrSimpleMeshDrawOpHelper.h>
-#include <src/gpu/ops/GrSimpleMeshDrawOpHelperWithStencil.h>
-#include <src/gpu/ops/GrSmallPathAtlasMgr.h>
-#include <src/gpu/ops/GrSmallPathRenderer.h>
-#include <src/gpu/ops/GrSmallPathShapeData.h>
-#include <src/gpu/ops/GrStencilAndCoverPathRenderer.h>
-#include <src/gpu/ops/GrStencilPathOp.h>
-#include <src/gpu/ops/GrStrokeRectOp.h>
-#include <src/gpu/ops/GrTextureOp.h>
-#include <src/gpu/ops/GrTriangulatingPathRenderer.h>
-#include <src/gpu/tessellate/GrDrawAtlasPathOp.h>
-#include <src/gpu/tessellate/GrFillPathShader.h>
-#include <src/gpu/tessellate/GrMiddleOutPolygonTriangulator.h>
-#include <src/gpu/tessellate/GrMidpointContourParser.h>
-#include <src/gpu/tessellate/GrPathInnerTriangulateOp.h>
-#include <src/gpu/tessellate/GrPathTessellator.h>
-#include <src/gpu/tessellate/GrStencilPathShader.h>
-#include <src/gpu/tessellate/GrStrokeHardwareTessellator.h>
-#include <src/gpu/tessellate/GrStrokeIndirectTessellator.h>
-#include <src/gpu/tessellate/GrStrokeIterator.h>
-#include <src/gpu/tessellate/GrStrokeTessellateOp.h>
-#include <src/gpu/tessellate/GrStrokeTessellateShader.h>
-#include <src/gpu/tessellate/GrTessellatingStencilFillOp.h>
-#include <src/gpu/tessellate/GrTessellationPathRenderer.h>
-#include <src/gpu/tessellate/GrWangsFormula.h>
-#include <src/gpu/text/GrAtlasManager.h>
-#include <src/gpu/text/GrDistanceFieldAdjustTable.h>
#include <src/gpu/text/GrSDFMaskFilter.h>
-#include <src/gpu/text/GrSDFTOptions.h>
+#include <src/gpu/text/GrSDFTControl.h>
#include <src/gpu/text/GrStrikeCache.h>
-#include <src/gpu/text/GrTextBlob.h>
#include <src/gpu/text/GrTextBlobCache.h>
-#include <src/gpu/vk/GrVkAttachment.h>
-#include <src/gpu/vk/GrVkBuffer.h>
#include <src/gpu/vk/GrVkCaps.h>
-#include <src/gpu/vk/GrVkCommandBuffer.h>
-#include <src/gpu/vk/GrVkCommandPool.h>
-#include <src/gpu/vk/GrVkDescriptorPool.h>
-#include <src/gpu/vk/GrVkDescriptorSet.h>
-#include <src/gpu/vk/GrVkDescriptorSetManager.h>
-#include <src/gpu/vk/GrVkFramebuffer.h>
-#include <src/gpu/vk/GrVkGpu.h>
-#include <src/gpu/vk/GrVkImage.h>
-#include <src/gpu/vk/GrVkImageLayout.h>
-#include <src/gpu/vk/GrVkImageView.h>
-#include <src/gpu/vk/GrVkInterface.h>
-#include <src/gpu/vk/GrVkMSAALoadManager.h>
-#include <src/gpu/vk/GrVkMemory.h>
-#include <src/gpu/vk/GrVkOpsRenderPass.h>
-#include <src/gpu/vk/GrVkPipeline.h>
-#include <src/gpu/vk/GrVkPipelineState.h>
-#include <src/gpu/vk/GrVkPipelineStateBuilder.h>
-#include <src/gpu/vk/GrVkPipelineStateDataManager.h>
-#include <src/gpu/vk/GrVkRenderPass.h>
-#include <src/gpu/vk/GrVkRenderTarget.h>
-#include <src/gpu/vk/GrVkResourceProvider.h>
-#include <src/gpu/vk/GrVkSampler.h>
-#include <src/gpu/vk/GrVkSamplerYcbcrConversion.h>
-#include <src/gpu/vk/GrVkSecondaryCBDrawContext.h>
-#include <src/gpu/vk/GrVkSemaphore.h>
-#include <src/gpu/vk/GrVkTexture.h>
-#include <src/gpu/vk/GrVkTextureRenderTarget.h>
-#include <src/gpu/vk/GrVkUniformHandler.h>
-#include <src/gpu/vk/GrVkUtil.h>
-#include <src/gpu/vk/GrVkVaryingHandler.h>
#include <src/image/SkImage_Base.h>
#include <src/image/SkImage_Gpu.h>
-#include <src/image/SkImage_GpuBase.h>
-#include <src/image/SkImage_GpuYUVA.h>
#include <src/image/SkImage_Lazy.h>
#include <src/image/SkReadPixelsRec.h>
#include <src/image/SkRescaleAndReadPixels.h>
#include <src/image/SkSurface_Base.h>
-#include <src/image/SkSurface_Gpu.h>
#include <src/images/SkImageEncoderPriv.h>
#include <src/lazy/SkDiscardableMemoryPool.h>
#include <src/pathops/SkAddIntersections.h>
@@ -836,7 +536,6 @@
#include <src/pathops/SkPathOpsTypes.h>
#include <src/pathops/SkPathWriter.h>
#include <src/pathops/SkReduceOrder.h>
-#include <src/ports/SkOSLibrary.h>
#include <src/sfnt/SkOTTableTypes.h>
#include <src/sfnt/SkOTTable_OS_2.h>
#include <src/sfnt/SkOTTable_head.h>
@@ -851,6 +550,7 @@
#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>
@@ -858,99 +558,6 @@
#include <src/shaders/gradients/SkRadialGradient.h>
#include <src/shaders/gradients/SkSweepGradient.h>
#include <src/shaders/gradients/SkTwoPointConicalGradient.h>
-#include <src/sksl/GLSL.std.450.h>
-#include <src/sksl/SkSLASTNode.h>
-#include <src/sksl/SkSLAnalysis.h>
-#include <src/sksl/SkSLBuiltinTypes.h>
-#include <src/sksl/SkSLCFGGenerator.h>
-#include <src/sksl/SkSLCPPCodeGenerator.h>
-#include <src/sksl/SkSLCPPUniformCTypes.h>
-#include <src/sksl/SkSLCodeGenerator.h>
-#include <src/sksl/SkSLCompiler.h>
-#include <src/sksl/SkSLConstantFolder.h>
-#include <src/sksl/SkSLContext.h>
-#include <src/sksl/SkSLDefines.h>
-#include <src/sksl/SkSLDefinitionMap.h>
-#include <src/sksl/SkSLDehydrator.h>
-#include <src/sksl/SkSLErrorReporter.h>
-#include <src/sksl/SkSLGLSLCodeGenerator.h>
-#include <src/sksl/SkSLHCodeGenerator.h>
-#include <src/sksl/SkSLIRGenerator.h>
-#include <src/sksl/SkSLInliner.h>
-#include <src/sksl/SkSLLexer.h>
-#include <src/sksl/SkSLMangler.h>
-#include <src/sksl/SkSLMemoryLayout.h>
-#include <src/sksl/SkSLMetalCodeGenerator.h>
-#include <src/sksl/SkSLOperators.h>
-#include <src/sksl/SkSLOutputStream.h>
-#include <src/sksl/SkSLParser.h>
-#include <src/sksl/SkSLPipelineStageCodeGenerator.h>
-#include <src/sksl/SkSLPool.h>
-#include <src/sksl/SkSLProgramSettings.h>
-#include <src/sksl/SkSLRehydrator.h>
-#include <src/sksl/SkSLSPIRVCodeGenerator.h>
-#include <src/sksl/SkSLSPIRVtoHLSL.h>
-#include <src/sksl/SkSLSectionAndParameterHelper.h>
-#include <src/sksl/SkSLString.h>
-#include <src/sksl/SkSLStringStream.h>
-#include <src/sksl/SkSLUtil.h>
-#include <src/sksl/SkSLVMGenerator.h>
-#include <src/sksl/ir/SkSLBinaryExpression.h>
-#include <src/sksl/ir/SkSLBlock.h>
-#include <src/sksl/ir/SkSLBoolLiteral.h>
-#include <src/sksl/ir/SkSLBreakStatement.h>
-#include <src/sksl/ir/SkSLCodeStringExpression.h>
-#include <src/sksl/ir/SkSLConstructor.h>
-#include <src/sksl/ir/SkSLContinueStatement.h>
-#include <src/sksl/ir/SkSLDiscardStatement.h>
-#include <src/sksl/ir/SkSLDoStatement.h>
-#include <src/sksl/ir/SkSLEnum.h>
-#include <src/sksl/ir/SkSLExpression.h>
-#include <src/sksl/ir/SkSLExpressionStatement.h>
-#include <src/sksl/ir/SkSLExtension.h>
-#include <src/sksl/ir/SkSLExternalFunctionCall.h>
-#include <src/sksl/ir/SkSLExternalFunctionReference.h>
-#include <src/sksl/ir/SkSLField.h>
-#include <src/sksl/ir/SkSLFieldAccess.h>
-#include <src/sksl/ir/SkSLFloatLiteral.h>
-#include <src/sksl/ir/SkSLForStatement.h>
-#include <src/sksl/ir/SkSLFunctionCall.h>
-#include <src/sksl/ir/SkSLFunctionDeclaration.h>
-#include <src/sksl/ir/SkSLFunctionDefinition.h>
-#include <src/sksl/ir/SkSLFunctionPrototype.h>
-#include <src/sksl/ir/SkSLFunctionReference.h>
-#include <src/sksl/ir/SkSLIfStatement.h>
-#include <src/sksl/ir/SkSLIndexExpression.h>
-#include <src/sksl/ir/SkSLInlineMarker.h>
-#include <src/sksl/ir/SkSLIntLiteral.h>
-#include <src/sksl/ir/SkSLInterfaceBlock.h>
-#include <src/sksl/ir/SkSLLayout.h>
-#include <src/sksl/ir/SkSLModifiers.h>
-#include <src/sksl/ir/SkSLModifiersDeclaration.h>
-#include <src/sksl/ir/SkSLNop.h>
-#include <src/sksl/ir/SkSLPostfixExpression.h>
-#include <src/sksl/ir/SkSLPrefixExpression.h>
-#include <src/sksl/ir/SkSLProgram.h>
-#include <src/sksl/ir/SkSLProgramElement.h>
-#include <src/sksl/ir/SkSLReturnStatement.h>
-#include <src/sksl/ir/SkSLSection.h>
-#include <src/sksl/ir/SkSLSetting.h>
-#include <src/sksl/ir/SkSLStatement.h>
-#include <src/sksl/ir/SkSLStructDefinition.h>
-#include <src/sksl/ir/SkSLSwitchCase.h>
-#include <src/sksl/ir/SkSLSwitchStatement.h>
-#include <src/sksl/ir/SkSLSwizzle.h>
-#include <src/sksl/ir/SkSLSymbol.h>
-#include <src/sksl/ir/SkSLSymbolAlias.h>
-#include <src/sksl/ir/SkSLSymbolTable.h>
-#include <src/sksl/ir/SkSLTernaryExpression.h>
-#include <src/sksl/ir/SkSLType.h>
-#include <src/sksl/ir/SkSLTypeReference.h>
-#include <src/sksl/ir/SkSLUnresolvedFunction.h>
-#include <src/sksl/ir/SkSLVarDeclarations.h>
-#include <src/sksl/ir/SkSLVariable.h>
-#include <src/sksl/ir/SkSLVariableReference.h>
-#include <src/sksl/spirv.h>
#include <src/utils/SkBitSet.h>
#include <src/utils/SkCanvasStack.h>
#include <src/utils/SkCharToGlyphCache.h>
@@ -967,11 +574,7 @@
#include <src/utils/SkShadowTessellator.h>
#include <src/utils/SkShaperJSONWriter.h>
#include <src/utils/SkUTF.h>
-#include <tools/gpu/vk/GrVulkanDefines.h>
-#include <tools/gpu/vk/VkTestUtils.h>
-#include <tools/sk_app/VulkanWindowContext.h>
#include <tools/sk_app/WindowContext.h>
-#include <vulkan/vulkan_core.h>
#endif // PCH_LEVEL >= 3
#if PCH_LEVEL >= 4
#include <skia_compiler.hxx>
diff --git a/external/skia/make-api-visible.patch.1 b/external/skia/make-api-visible.patch.1
index 6dbaf82b13bd..9b09506d388c 100644
--- a/external/skia/make-api-visible.patch.1
+++ b/external/skia/make-api-visible.patch.1
@@ -1,6 +1,8 @@
+diff --git a/tools/sk_app/WindowContext.h b/tools/sk_app/WindowContext.h
+index f143dab013..046c525365 100644
--- a/tools/sk_app/WindowContext.h
+++ b/tools/sk_app/WindowContext.h
-@@ -18,7 +18,7 @@
+@@ -17,7 +17,7 @@ class SkSurface;
namespace sk_app {
@@ -9,6 +11,19 @@
public:
WindowContext(const DisplayParams&);
+diff --git a/tools/sk_app/mac/WindowContextFactory_mac.h b/tools/sk_app/mac/WindowContextFactory_mac.h
+index e772030b95..224ff03f23 100644
+--- a/tools/sk_app/mac/WindowContextFactory_mac.h
++++ b/tools/sk_app/mac/WindowContextFactory_mac.h
+@@ -52,7 +52,7 @@ std::unique_ptr<WindowContext> MakeDawnMTLForMac(const MacWindowInfo&, const Dis
+ #endif
+
+ #ifdef SK_METAL
+-std::unique_ptr<WindowContext> MakeMetalForMac(const MacWindowInfo&, const DisplayParams&);
++SK_API std::unique_ptr<WindowContext> MakeMetalForMac(const MacWindowInfo&, const DisplayParams&);
+ #endif
+
+ } // namespace window_context_factory
diff --git a/tools/sk_app/unix/WindowContextFactory_unix.h b/tools/sk_app/unix/WindowContextFactory_unix.h
index 11bd2d2ac2..09c92dc417 100644
--- a/tools/sk_app/unix/WindowContextFactory_unix.h
@@ -65,16 +80,3 @@ index c05a4f0acf..fc27cd2afb 100644
} // namespace window_context_factory
-diff --git a/tools/sk_app/mac/WindowContextFactory_mac.h b/tools/sk_app/mac/WindowContextFactory_mac.h
-index acf860ae4b..cdb2ee8027 100644
---- a/tools/sk_app/mac/WindowContextFactory_mac.h
-+++ b/tools/sk_app/mac/WindowContextFactory_mac.h
-@@ -48,7 +48,7 @@ std::unique_ptr<WindowContext> MakeDawnMTLForMac(const MacWindowInfo&, const Dis
-
- std::unique_ptr<WindowContext> MakeRasterForMac(const MacWindowInfo&, const DisplayParams&);
- #ifdef SK_METAL
--std::unique_ptr<WindowContext> MakeMetalForMac(const MacWindowInfo&, const DisplayParams&);
-+SK_API std::unique_ptr<WindowContext> MakeMetalForMac(const MacWindowInfo&, const DisplayParams&);
- #endif
-
- } // namespace window_context_factory