external/skia/Library_skia.mk | 4 +- external/skia/UnpackedTarball_skia.mk | 1 external/skia/inc/pch/precompiled_skia.hxx | 11 +----- external/skia/pch-duplicate-definition.patch.1 | 41 ------------------------- 4 files changed, 5 insertions(+), 52 deletions(-)
New commits: commit 404d9fceadbdc3bbf0fe16884ef98d36f313818b Author: Xisco Fauli <[email protected]> AuthorDate: Tue Dec 30 12:34:14 2025 +0100 Commit: Noel Grandin <[email protected]> CommitDate: Wed Dec 31 11:24:00 2025 +0100 Revert "re-enable PCH for skia" This reverts commit 6fa110f141cd5f264366c36f6472f7f2ede68fcd. Reason for revert: it's causing https://ci.libreoffice.org/job/lo_daily_tb_win_arm64 to fail with In file included from E:/jenkins/workspace/build_master/workdir/UnpackedTarball/skia/src/core/SkBlendMode.cpp:1: In file included from E:\jenkins\workspace\lo_daily_srcxternal\skia\inc\pch\precompiled_skia.cxx:10: In file included from E:/jenkins/workspace/lo_daily_src/external/skia/inc/pch/precompiled_skia.hxx:284: E:\jenkins\workspaceuild_master\workdir\UnpackedTarball\skia\srcase\SkUtils.h(46,42): error: definition with same mangled name '??$sk_unaligned_load@U?$Vec@$03M@skvx@@T?$__vector@M$03@__clang@@@@YA?AU?$Vec@$03M@skvx@@PEBT?$__vector@M$03@__clang@@@Z' as another definition 46 | static SK_ALWAYS_INLINE T SK_FP_SAFE_ABI sk_unaligned_load(const P* ptr) { | ^ E:\jenkins\workspaceuild_master\workdir\UnpackedTarball\skia\srcase\SkUtils.h(46,42): note: previous definition is here E:\jenkins\workspaceuild_master\workdir\UnpackedTarball\skia\srcase\SkUtils.h(68,44): error: definition with same mangled name '??$sk_bit_cast@U?$Vec@$03M@skvx@@T?$__vector@M$03@__clang@@@@YA?AU?$Vec@$03M@skvx@@AEBT?$__vector@M$03@__clang@@@Z' as another definition 68 | static SK_ALWAYS_INLINE Dst SK_FP_SAFE_ABI sk_bit_cast(const Src& src) { | ^ E:\jenkins\workspaceuild_master\workdir\UnpackedTarball\skia\srcase\SkUtils.h(68,44): note: previous definition is here 2 errors generated. [build CXX] workdir/UnpackedTarball/skia/src/core/SkBlitter_A8.cpp make[1]: *** [E:/jenkins/workspace/lo_daily_src/solenv/gbuild/LinkTarget.mk:400: E:/jenkins/workspace/build_master/workdir/GenCxxObject/UnpackedTarball/skia/src/core/SkBlendMode.o] Error 1 make[1]: *** Waiting for unfinished jobs.... Change-Id: I051e05989bdcc9325cf8d5aa8b270c204b93d9e4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196330 Tested-by: Jenkins Reviewed-by: Noel Grandin <[email protected]> diff --git a/external/skia/Library_skia.mk b/external/skia/Library_skia.mk index d7a22f477677..765d178bf5ca 100644 --- a/external/skia/Library_skia.mk +++ b/external/skia/Library_skia.mk @@ -14,7 +14,8 @@ $(eval $(call gb_Library_set_warnings_disabled,skia)) $(eval $(call gb_Library_use_unpacked,skia,skia)) $(eval $(call gb_Library_use_clang,skia)) -$(eval $(call gb_Library_set_clang_precompiled_header,skia,external/skia/inc/pch/precompiled_skia)) +#This currently results in all sorts of compile complaints +#$(eval $(call gb_Library_set_clang_precompiled_header,skia,external/skia/inc/pch/precompiled_skia)) $(eval $(call gb_Library_add_defs,skia,\ -DSKIA_IMPLEMENTATION=1 \ @@ -125,7 +126,6 @@ $(eval $(call gb_Library_set_include,skia,\ $$(INCLUDE) \ -I$(gb_UnpackedTarball_workdir)/skia \ -I$(gb_UnpackedTarball_workdir)/skia/modules/skcms/ \ - -I$(gb_UnpackedTarball_workdir)/skia/modules/skcms/src/ \ -I$(gb_UnpackedTarball_workdir)/skia/third_party/vulkanmemoryallocator/ \ -I$(gb_UnpackedTarball_workdir)/skia/third_party/vulkanmemoryallocator/include/ \ -I$(gb_UnpackedTarball_workdir)/skia/src/gpu/vk/vulkanmemoryallocator/ \ diff --git a/external/skia/UnpackedTarball_skia.mk b/external/skia/UnpackedTarball_skia.mk index 42887c693080..692eba0130e5 100644 --- a/external/skia/UnpackedTarball_skia.mk +++ b/external/skia/UnpackedTarball_skia.mk @@ -44,7 +44,6 @@ skia_patches := \ 0004-loong64-Fix-the-remaining-implicit-vector-casts.patch \ msvc-unknown-attributes.patch.1 \ fix-semaphore-include.patch.1 \ - pch-duplicate-definition.patch.1 \ ifneq ($(MSYSTEM),) # use binary flag so patch from git-bash won't choke on mixed line-endings in patches diff --git a/external/skia/inc/pch/precompiled_skia.hxx b/external/skia/inc/pch/precompiled_skia.hxx index e23733232886..88a4a7035db5 100644 --- a/external/skia/inc/pch/precompiled_skia.hxx +++ b/external/skia/inc/pch/precompiled_skia.hxx @@ -13,7 +13,7 @@ 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 2025-12-19 10:17:21 using: + Generated on 2025-09-30 11:36:30 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: @@ -137,7 +137,6 @@ #include <include/core/SkPath.h> #include <include/core/SkPathBuilder.h> #include <include/core/SkPathEffect.h> -#include <include/core/SkPathIter.h> #include <include/core/SkPathMeasure.h> #include <include/core/SkPathTypes.h> #include <include/core/SkPathUtils.h> @@ -197,11 +196,11 @@ #include <include/encode/SkEncoder.h> #include <include/encode/SkICC.h> #include <include/encode/SkPngEncoder.h> +#include <include/gpu/ganesh/GrDirectContext.h> #include <include/pathops/SkPathOps.h> #include <include/private/SkEncodedInfo.h> #include <include/private/SkExif.h> #include <include/private/SkGainmapInfo.h> -#include <include/private/SkHdrMetadata.h> #include <include/private/SkIDChangeListener.h> #include <include/private/SkPathRef.h> #include <include/private/SkSLSampleUsage.h> @@ -284,7 +283,6 @@ #include <src/base/SkUtils.h> #include <src/base/SkVx.h> #include <src/base/SkZip.h> -#include <src/capture/SkCaptureCanvas.h> #include <src/codec/SkAndroidCodecAdapter.h> #include <src/codec/SkBmpBaseCodec.h> #include <src/codec/SkBmpCodec.h> @@ -351,6 +349,7 @@ #include <src/core/SkDevice.h> #include <src/core/SkDistanceFieldGen.h> #include <src/core/SkDraw.h> +#include <src/core/SkDrawBase.h> #include <src/core/SkDrawProcs.h> #include <src/core/SkDrawShadowInfo.h> #include <src/core/SkDrawTypes.h> @@ -400,13 +399,11 @@ #include <src/core/SkOptsTargets.h> #include <src/core/SkPaintDefaults.h> #include <src/core/SkPaintPriv.h> -#include <src/core/SkPathData.h> #include <src/core/SkPathEffectBase.h> #include <src/core/SkPathEnums.h> #include <src/core/SkPathMakers.h> #include <src/core/SkPathMeasurePriv.h> #include <src/core/SkPathPriv.h> -#include <src/core/SkPathRaw.h> #include <src/core/SkPathRawShapes.h> #include <src/core/SkPictureData.h> #include <src/core/SkPictureFlat.h> @@ -446,7 +443,6 @@ #include <src/core/SkScalerContext.h> #include <src/core/SkScan.h> #include <src/core/SkScanPriv.h> -#include <src/core/SkSpanPriv.h> #include <src/core/SkSpecialImage.h> #include <src/core/SkSpriteBlitter.h> #include <src/core/SkStreamPriv.h> @@ -566,7 +562,6 @@ #include <src/utils/SkClipStackUtils.h> #include <src/utils/SkDashPathPriv.h> #include <src/utils/SkFloatToDecimal.h> -#include <src/utils/SkFloatUtils.h> #include <src/utils/SkJSONWriter.h> #include <src/utils/SkMatrix22.h> #include <src/utils/SkMultiPictureDocumentPriv.h> diff --git a/external/skia/pch-duplicate-definition.patch.1 b/external/skia/pch-duplicate-definition.patch.1 deleted file mode 100644 index f11dac4c094a..000000000000 --- a/external/skia/pch-duplicate-definition.patch.1 +++ /dev/null @@ -1,41 +0,0 @@ -diff -ur skia.org/src/base/SkCubics.cpp skia/src/base/SkCubics.cpp ---- skia.org/src/base/SkCubics.cpp 2025-12-19 10:21:59.576434800 +0200 -+++ skia/src/base/SkCubics.cpp 2025-12-19 10:25:13.020232200 +0200 -@@ -148,7 +148,7 @@ - return foundRoots; - } - --static bool approximately_zero(double x) { -+bool lcl_approximately_zero(double x) { - // This cutoff for our binary search hopefully strikes a good balance between - // performance and accuracy. - return std::abs(x) < 0.00000001; -@@ -174,7 +174,7 @@ - static double binary_search(double A, double B, double C, double D, double start, double stop) { - SkASSERT(start <= stop); - double left = SkCubics::EvalAt(A, B, C, D, start); -- if (approximately_zero(left)) { -+ if (lcl_approximately_zero(left)) { - return start; - } - double right = SkCubics::EvalAt(A, B, C, D, stop); -@@ -189,7 +189,7 @@ - for (int i = 0; i < maxIterations; i++) { - double step = (start + stop) / 2; - double curr = SkCubics::EvalAt(A, B, C, D, step); -- if (approximately_zero(curr)) { -+ if (lcl_approximately_zero(curr)) { - return step; - } - if ((curr < 0 && left < 0) || (curr > 0 && left > 0)) { -@@ -229,8 +229,8 @@ - double root = binary_search(A, B, C, D, regions[startIndex], regions[startIndex + 1]); - if (root >= 0) { - // Check for duplicates -- if ((foundRoots < 1 || !approximately_zero(solution[0] - root)) && -- (foundRoots < 2 || !approximately_zero(solution[1] - root))) { -+ if ((foundRoots < 1 || !lcl_approximately_zero(solution[0] - root)) && -+ (foundRoots < 2 || !lcl_approximately_zero(solution[1] - root))) { - solution[foundRoots++] = root; - } - }
