[Libreoffice-commits] core.git: bin/update_pch download.lst external/skia vcl/skia
LuboÅ¡ LuÅák (via logerrit)
logerrit at kemper.freedesktop.org
Wed Apr 14 16:55:18 UTC 2021
bin/update_pch | 3 -
download.lst | 4 -
external/skia/Library_skia.mk | 54 ++++++++++++--------
external/skia/UnpackedTarball_skia.mk | 4 +
external/skia/c++20.patch.0 | 17 ++++++
external/skia/constexpr-debug-std-max.patch.1 | 14 ++---
external/skia/fix-gcc-x86.patch.1 | 16 ++++++
external/skia/fix-pch.patch.1 | 25 ++++++---
external/skia/inc/pch/precompiled_skia.hxx | 67 +++++++++++++++++---------
vcl/skia/gdiimpl.cxx | 13 +----
10 files changed, 145 insertions(+), 72 deletions(-)
New commits:
commit 302fb4c1ec4a24112f9a2028be4d424891f10b4c
Author: Luboš Luňák <l.lunak at collabora.com>
AuthorDate: Wed Apr 14 14:29:20 2021 +0200
Commit: Luboš Luňák <l.lunak at collabora.com>
CommitDate: Wed Apr 14 18:54:32 2021 +0200
Revert "update Skia to chrome/m91" (tdf#141680)
The m91 snapshot seems to cause a number of Vulkan problems.
My commit already worked around one, but there are apparently
others, such as very slow startup, or a failed Skia assertion
triggered by VCL Skia's copyArea().
This reverts commit 09d850e46903a528d4b08d3fdf03c3964d79fbc5.
Change-Id: I4f1832ba76db15cab8eccbe115d21c989da3c841
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114089
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak at collabora.com>
diff --git a/bin/update_pch b/bin/update_pch
index a20c85f88f36..e47a97994bb2 100755
--- a/bin/update_pch
+++ b/bin/update_pch
@@ -474,8 +474,7 @@ def filter_ignore(line, module):
'src/sksl/SkSLCPP.h',
'src/gpu/vk/GrVkAMDMemoryAllocator.h',
'src/gpu/GrUtil.h',
- 'src/sksl/dsl/', # conflict between SkSL::Expression and SkSL::dsl::Expression
- 'include/sksl/',
+ 'src/sksl/dsl/',
]
for i in ignore_list:
diff --git a/download.lst b/download.lst
index 3355422c9987..cf97f1ff8d3c 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 := cf90e16d8a093d6cb5756d515c98397c98ca2bb00b7c28cf0e884aa4e9ed7a82
-export SKIA_TARBALL := skia-m91-b99622c05aa071606921ab35a4b59fba5305669d.tar.xz
+export SKIA_SHA256SUM := abe0b94d54edb717c58d74263f4ed3d27824d2ce9e9f2ce85a21ab38d993f94d
+export SKIA_TARBALL := skia-m90-45c57e116ee0ce214bdf78405a4762722e4507d9.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 f57e6378de2d..a1f1f1c30ef6 100644
--- a/external/skia/Library_skia.mk
+++ b/external/skia/Library_skia.mk
@@ -339,6 +339,7 @@ $(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 \
@@ -361,6 +362,7 @@ $(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 \
@@ -429,7 +431,6 @@ $(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 \
@@ -438,42 +439,25 @@ $(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 \
@@ -535,8 +519,24 @@ $(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,6 +545,7 @@ $(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 \
@@ -585,6 +586,7 @@ $(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 \
@@ -641,7 +643,6 @@ $(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 \
@@ -654,9 +655,13 @@ $(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 \
@@ -677,6 +682,7 @@ $(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 \
@@ -705,7 +711,6 @@ $(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 \
@@ -727,6 +732,7 @@ $(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 \
@@ -741,6 +747,8 @@ $(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 \
@@ -762,7 +770,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/GrSDFTControl \
+ UnpackedTarball/skia/src/gpu/text/GrSDFTOptions \
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 c2cc0506c032..e1ea21b3cd35 100644
--- a/external/skia/UnpackedTarball_skia.mk
+++ b/external/skia/UnpackedTarball_skia.mk
@@ -11,6 +11,8 @@ $(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 \
@@ -19,6 +21,7 @@ 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 \
@@ -29,6 +32,7 @@ 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
new file mode 100644
index 000000000000..34edcb065735
--- /dev/null
+++ b/external/skia/c++20.patch.0
@@ -0,0 +1,17 @@
+--- 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 68162b84a657..03a549c8fd4a 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 c97186891a..4a5c898653 100644
+index e6d3015d33..d95b43a778 100644
--- a/src/sksl/SkSLASTNode.h
+++ b/src/sksl/SkSLASTNode.h
@@ -18,6 +18,18 @@
@@ -21,12 +21,12 @@ index c97186891a..4a5c898653 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.
-@@ -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),
+@@ -251,7 +263,7 @@ struct ASTNode {
+ };
+
+ struct NodeData {
+- char fBytes[std::max({sizeof(Token::Kind),
++ char fBytes[skia_max({sizeof(Token::Kind),
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
new file mode 100644
index 000000000000..097c59475c5b
--- /dev/null
+++ b/external/skia/fix-gcc-x86.patch.1
@@ -0,0 +1,16 @@
+--- 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 66e6ce089e8f..14199fc2feb2 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 0cd138e6cc..ad7f7eca74 100644
+index 248917423f..3d0bc00307 100644
--- a/src/core/SkM44.cpp
+++ b/src/core/SkM44.cpp
-@@ -283,6 +283,8 @@ SkM44 SkM44::LookAt(const SkV3& eye, const SkV3& center, const SkV3& up) {
+@@ -283,6 +283,8 @@ SkM44 Sk3LookAt(const SkV3& eye, const SkV3& center, const SkV3& up) {
return m;
}
+#undef near
+#undef far
- SkM44 SkM44::Perspective(float near, float far, float angle) {
+ SkM44 Sk3Perspective(float near, float far, float angle) {
SkASSERT(far > near);
diff --git a/src/gpu/gl/GrGLGpu.cpp b/src/gpu/gl/GrGLGpu.cpp
-index afe3698f99..119ae41093 100644
+index 76f69754c6..01ce4a1e2d 100644
--- a/src/gpu/gl/GrGLGpu.cpp
+++ b/src/gpu/gl/GrGLGpu.cpp
-@@ -3536,6 +3536,8 @@ void GrGLGpu::xferBarrier(GrRenderTarget* rt, GrXferBarrierType type) {
+@@ -3531,6 +3531,8 @@ void GrGLGpu::xferBarrier(GrRenderTarget* rt, GrXferBarrierType type) {
}
}
@@ -47,6 +47,17 @@ index afe3698f99..119ae41093 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
@@ -73,7 +84,7 @@ index af4909aaaf..825ec35c83 100644
#include <d2d1.h>
diff --git a/third_party/skcms/skcms.cc b/third_party/skcms/skcms.cc
-index 33e3514253..af9313a958 100644
+index 4f983439b9..f6fc53c91a 100644
--- a/third_party/skcms/skcms.cc
+++ b/third_party/skcms/skcms.cc
@@ -130,7 +130,8 @@ static float minus_1_ulp(float x) {
@@ -86,7 +97,7 @@ index 33e3514253..af9313a958 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
-@@ -2061,7 +2062,9 @@ typedef enum {
+@@ -2059,7 +2060,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 18df634e6d93..760dea10de62 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-04-08 18:14:02 using:
+ Generated on 2021-03-01 17:09:09 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,10 +34,12 @@
#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>
@@ -50,10 +52,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>
@@ -105,6 +107,7 @@
#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>
@@ -225,14 +228,7 @@
#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>
@@ -467,7 +463,10 @@
#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>
@@ -531,11 +530,14 @@
#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/GrPixmap.h>
+#include <src/gpu/GrPrimitiveProcessor.h>
#include <src/gpu/GrProcessor.h>
#include <src/gpu/GrProcessorAnalysis.h>
#include <src/gpu/GrProcessorSet.h>
@@ -559,6 +561,7 @@
#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>
@@ -592,7 +595,6 @@
#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>
@@ -607,12 +609,29 @@
#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>
@@ -641,6 +660,7 @@
#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>
@@ -668,6 +688,7 @@
#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>
@@ -703,6 +724,7 @@
#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>
@@ -719,6 +741,8 @@
#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>
@@ -734,14 +758,13 @@
#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/GrSDFTControl.h>
+#include <src/gpu/text/GrSDFTOptions.h>
#include <src/gpu/text/GrStrikeCache.h>
#include <src/gpu/text/GrTextBlob.h>
#include <src/gpu/text/GrTextBlobCache.h>
@@ -839,12 +862,15 @@
#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>
@@ -865,6 +891,7 @@
#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>
@@ -874,13 +901,6 @@
#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>
@@ -904,18 +924,23 @@
#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 fd4f64e930cf..e2d4ff9a3800 100644
--- a/vcl/skia/gdiimpl.cxx
+++ b/vcl/skia/gdiimpl.cxx
@@ -1434,14 +1434,7 @@ 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 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
+ bool intelHack = (isGPU() && getVendor() == DriverBlocklist::VendorIntel && !mXorMode);
SkPath aPath;
addPolygonToPath(rPoly, aPath);
aPath.setFillType(SkPathFillType::kEvenOdd);
@@ -1461,7 +1454,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 (!rasterHack)
+ if (!intelHack)
getDrawCanvas()->drawPath(aPath, aPaint);
else
{
@@ -1512,7 +1505,7 @@ void SkiaSalGraphicsImpl::invert(basegfx::B2DPolygon const& rPoly, SalInvert eFl
aPaint.setShader(
aBitmap.makeShader(SkTileMode::kRepeat, SkTileMode::kRepeat, SkSamplingOptions()));
}
- if (!rasterHack)
+ if (!intelHack)
getDrawCanvas()->drawPath(aPath, aPaint);
else
{
More information about the Libreoffice-commits
mailing list