diff options
-rwxr-xr-x | bin/update_pch | 3 | ||||
-rw-r--r-- | download.lst | 4 | ||||
-rw-r--r-- | external/skia/Library_skia.mk | 54 | ||||
-rw-r--r-- | external/skia/UnpackedTarball_skia.mk | 4 | ||||
-rw-r--r-- | external/skia/c++20.patch.0 | 17 | ||||
-rw-r--r-- | external/skia/constexpr-debug-std-max.patch.1 | 14 | ||||
-rw-r--r-- | external/skia/fix-gcc-x86.patch.1 | 16 | ||||
-rw-r--r-- | external/skia/fix-pch.patch.1 | 25 | ||||
-rw-r--r-- | external/skia/inc/pch/precompiled_skia.hxx | 67 | ||||
-rw-r--r-- | vcl/skia/gdiimpl.cxx | 13 |
10 files changed, 72 insertions, 145 deletions
diff --git a/bin/update_pch b/bin/update_pch index e47a97994bb2..a20c85f88f36 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/dsl/', # conflict between SkSL::Expression and SkSL::dsl::Expression + 'include/sksl/', ] for i in ignore_list: diff --git a/download.lst b/download.lst index cf97f1ff8d3c..3355422c9987 100644 --- a/download.lst +++ b/download.lst @@ -235,8 +235,8 @@ export RHINO_SHA256SUM := 1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131 export RHINO_TARBALL := 798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip export SERF_SHA256SUM := 6988d394b62c3494635b6f0760bc3079f9a0cd380baf0f6b075af1eb9fa5e700 export SERF_TARBALL := serf-1.2.1.tar.bz2 -export SKIA_SHA256SUM := abe0b94d54edb717c58d74263f4ed3d27824d2ce9e9f2ce85a21ab38d993f94d -export SKIA_TARBALL := skia-m90-45c57e116ee0ce214bdf78405a4762722e4507d9.tar.xz +export SKIA_SHA256SUM := cf90e16d8a093d6cb5756d515c98397c98ca2bb00b7c28cf0e884aa4e9ed7a82 +export SKIA_TARBALL := skia-m91-b99622c05aa071606921ab35a4b59fba5305669d.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 a1f1f1c30ef6..f57e6378de2d 100644 --- a/external/skia/Library_skia.mk +++ b/external/skia/Library_skia.mk @@ -339,7 +339,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 \ @@ -362,7 +361,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 \ @@ -431,6 +429,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ UnpackedTarball/skia/src/shaders/SkPictureShader \ UnpackedTarball/skia/src/shaders/SkShader \ 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 \ @@ -439,25 +438,42 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ 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/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/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/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/SkSLDehydrator \ UnpackedTarball/skia/src/sksl/SkSLGLSLCodeGenerator \ UnpackedTarball/skia/src/sksl/SkSLHCodeGenerator \ @@ -519,24 +535,8 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ 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 \ @@ -545,7 +545,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ 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 \ @@ -586,7 +585,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ 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 \ @@ -643,6 +641,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ 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 \ @@ -655,13 +654,9 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ 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/GrPipeline \ - UnpackedTarball/skia/src/gpu/GrPrimitiveProcessor \ UnpackedTarball/skia/src/gpu/GrProcessorAnalysis \ UnpackedTarball/skia/src/gpu/GrProcessor \ UnpackedTarball/skia/src/gpu/GrProcessorSet \ @@ -682,7 +677,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ 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 \ @@ -711,6 +705,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ 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/GrWaitRenderTask \ @@ -732,7 +727,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ 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 \ @@ -747,8 +741,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ 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 \ @@ -770,7 +762,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ 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 \ diff --git a/external/skia/UnpackedTarball_skia.mk b/external/skia/UnpackedTarball_skia.mk index e1ea21b3cd35..c2cc0506c032 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,7 +29,6 @@ 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 \ 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..68162b84a657 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 c97186891a..4a5c898653 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), +@@ -254,7 +266,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(StringFragment), sizeof(bool), sizeof(SKSL_INT), 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..66e6ce089e8f 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, diff --git a/external/skia/inc/pch/precompiled_skia.hxx b/external/skia/inc/pch/precompiled_skia.hxx index 760dea10de62..18df634e6d93 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-04-08 18:14:02 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,10 @@ #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> @@ -107,7 +105,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> @@ -228,7 +225,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> @@ -463,10 +467,7 @@ #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> @@ -530,14 +531,11 @@ #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/GrPixmap.h> #include <src/gpu/GrProcessor.h> #include <src/gpu/GrProcessorAnalysis.h> #include <src/gpu/GrProcessorSet.h> @@ -561,7 +559,6 @@ #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> @@ -595,6 +592,7 @@ #include <src/gpu/GrTextureRenderTargetProxy.h> #include <src/gpu/GrTextureResolveRenderTask.h> #include <src/gpu/GrThreadSafeCache.h> +#include <src/gpu/GrThreadSafePipelineBuilder.h> #include <src/gpu/GrTracing.h> #include <src/gpu/GrTransferFromRenderTask.h> #include <src/gpu/GrTriangulator.h> @@ -609,29 +607,12 @@ #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/effects/GrBicubicEffect.h> @@ -660,7 +641,6 @@ #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> @@ -688,7 +668,6 @@ #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> @@ -724,7 +703,6 @@ #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> @@ -741,8 +719,6 @@ #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> @@ -758,13 +734,14 @@ #include <src/gpu/tessellate/GrStrokeIterator.h> #include <src/gpu/tessellate/GrStrokeTessellateOp.h> #include <src/gpu/tessellate/GrStrokeTessellateShader.h> +#include <src/gpu/tessellate/GrStrokeTessellator.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> @@ -862,15 +839,12 @@ #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> @@ -891,7 +865,6 @@ #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> @@ -901,6 +874,13 @@ #include <src/sksl/ir/SkSLBreakStatement.h> #include <src/sksl/ir/SkSLCodeStringExpression.h> #include <src/sksl/ir/SkSLConstructor.h> +#include <src/sksl/ir/SkSLConstructorArray.h> +#include <src/sksl/ir/SkSLConstructorCompound.h> +#include <src/sksl/ir/SkSLConstructorCompoundCast.h> +#include <src/sksl/ir/SkSLConstructorDiagonalMatrix.h> +#include <src/sksl/ir/SkSLConstructorMatrixResize.h> +#include <src/sksl/ir/SkSLConstructorScalarCast.h> +#include <src/sksl/ir/SkSLConstructorSplat.h> #include <src/sksl/ir/SkSLContinueStatement.h> #include <src/sksl/ir/SkSLDiscardStatement.h> #include <src/sksl/ir/SkSLDoStatement.h> @@ -924,23 +904,18 @@ #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> diff --git a/vcl/skia/gdiimpl.cxx b/vcl/skia/gdiimpl.cxx index be31e0ee649a..828b7959244b 100644 --- a/vcl/skia/gdiimpl.cxx +++ b/vcl/skia/gdiimpl.cxx @@ -1434,7 +1434,14 @@ void SkiaSalGraphicsImpl::invert(basegfx::B2DPolygon const& rPoly, SalInvert eFl // with SkBlendMode::kDifference(?) and surfaces wider than 1024 pixels, resulting // in drawing errors. Work that around by fetching the relevant part of the surface // and drawing using CPU. - bool intelHack = (isGPU() && getVendor() == DriverBlocklist::VendorIntel && !mXorMode); + bool rasterHack = (isGPU() && getVendor() == DriverBlocklist::VendorIntel && !mXorMode); +#if defined LINUX + // With the chrome/m91 Skia version BackendTest::testDrawInvertTrackFrameWithRectangle() + // also has a problem with SkBlendMode::kDifference on AMD/Linux, leading to crashes or even + // driver instability. Also work around by drawing using CPU. + if (isGPU() && getVendor() == DriverBlocklist::VendorAMD && !mXorMode) + rasterHack = true; +#endif SkPath aPath; addPolygonToPath(rPoly, aPath); aPath.setFillType(SkPathFillType::kEvenOdd); @@ -1454,7 +1461,7 @@ void SkiaSalGraphicsImpl::invert(basegfx::B2DPolygon const& rPoly, SalInvert eFl aPaint.setPathEffect(SkDashPathEffect::Make(intervals, SK_ARRAY_COUNT(intervals), 0)); aPaint.setColor(SkColorSetARGB(255, 255, 255, 255)); aPaint.setBlendMode(SkBlendMode::kDifference); - if (!intelHack) + if (!rasterHack) getDrawCanvas()->drawPath(aPath, aPaint); else { @@ -1505,7 +1512,7 @@ void SkiaSalGraphicsImpl::invert(basegfx::B2DPolygon const& rPoly, SalInvert eFl aPaint.setShader( aBitmap.makeShader(SkTileMode::kRepeat, SkTileMode::kRepeat, SkSamplingOptions())); } - if (!intelHack) + if (!rasterHack) getDrawCanvas()->drawPath(aPath, aPaint); else { |