[skia-sync] Merge upstream Skia main (tip)#4289
Closed
mattleibow wants to merge 1 commit into
Closed
Conversation
Bump the externals/skia submodule from 280ec21ada to cebbc41888, pulling in ~334 upstream commits from google/skia main since the last merge base. This is a tip-mode sync — NOT a milestone bump — so chrome_milestone stays at 150 and VERSIONS.txt/soname are unchanged. Native build (Phase 7) required a new gn arg, skia_use_partition_alloc=false, in every clang platform's build.cake because upstream added a partition_alloc dependency that our DEPS deliberately does not vendor. Only Linux x64 is built/verified here — the other platforms need cross-platform human review before merge. cgmanifest.json upstream_merge_commit updated to the new merge commit. SkMilestone.h pinned in the submodule to 150 because upstream main has advanced to 151 (m151 work in progress), but this sync is explicitly not a version bump.
Contributor
📦 Try the packages from this PRWarning Do not run these scripts without first reviewing the code in this PR. Step 1 — Download the packages bash / macOS / Linux: curl -fsSL https://raw.githubusercontent.com/mono/SkiaSharp/main/scripts/get-skiasharp-pr.sh | bash -s -- 4289PowerShell / Windows: iex "& { $(irm https://raw.githubusercontent.com/mono/SkiaSharp/main/scripts/get-skiasharp-pr.ps1) } 4289"Step 2 — Add the local NuGet source dotnet nuget add source ~/.skiasharp/hives/pr-4289/packages --name skiasharp-pr-4289More options
Or download manually from Azure Pipelines — look for the Remove the source when you're done: dotnet nuget remove source skiasharp-pr-4289 |
Contributor
|
📖 Documentation Preview The documentation for this PR has been deployed and is available at: 🔗 View Staging Site This preview will be updated automatically when you push new commits to this PR. This comment is automatically updated by the documentation staging workflow. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automated bleeding-edge sync from the tip of upstream Skia (google/skia main).
Companion skia PR: mono/skia#273
Skia upstream main → mono/SkiaSharp
mainsync (tip mode)This PR bumps SkiaSharp's
externals/skiasubmodule to pick up upstreamgoogle/skia
mainbug fixes (and the m151-in-progress refactor) withoutadvancing the SkiaSharp milestone or NuGet version.
It is the parent companion of the mono/skia PR for
skia-sync/main.Mode summary
main/tip sync (upstream_ref = main)falsemainskia-sync/main280ec21adad7b21bdf8d8081a44c3191bb420fc3(mono/skiaskiasharpHEAD before the merge)cebbc418885bf2d928b31fb3798da45cd31d4a7b(mono/skiaskia-sync/mainHEAD)What changed in the parent repo
externals/skia280ec21ada→cebbc41888.cgmanifest.jsonupstream_merge_commit:14d05ec761…→cebbc41888….chrome_milestonestays150.native/android/build.cakeskia_use_partition_alloc=falseto the GnNinja call.native/ios/build.cakeskia_use_partition_alloc=false.native/linux/build.cakeskia_use_partition_alloc=falseto both thelibSkiaSharpandlibHarfBuzzSharpGnNinja calls (the Linux build is the only one that GnNinja-builds HarfBuzz).native/macos/build.cakeskia_use_partition_alloc=false.native/tizen/build.cakeskia_use_partition_alloc=false.native/tvos/build.cakeskia_use_partition_alloc=false.native/wasm/build.cakeskia_use_partition_alloc=falseto both thelibSkiaSharpandlibHarfBuzzSharpsections (WASM also GnNinja-builds HarfBuzz).native/windows/build.cakeskia_use_partition_alloc=false.linuxnodeps/build.cakeandlinux-clang-cross/build.cakewere not touched — theydelegate to
linux/build.cake. Android/iOS/macOS/tvOS/Windows HarfBuzz are builtvia NDK/Xcode/MSBuild rather than GnNinja, so no HarfBuzz-side flag is needed
there.
Version impact
None. This is explicitly not a version bump:
chrome_milestonestays150.scripts/VERSIONS.txt:skia release m150,libSkiaSharp milestone 150,soname 150.0.0,increment 0— all unchanged.SK_MILESTONEto150(upstream main has advanced to151) so the build'sgit-sync-depstask (which enforces SK_MILESTONE == VERSIONS.txt milestone) still passes.Bindings (Phase 8)
pwsh ./utils/generate.ps1(via.agents/skills/update-skia/scripts/regenerate-bindings.ps1) ran cleanly.git statusafter regeneration: no changes to any*.generated.csfile.binding/HarfBuzzSharp/HarfBuzzApi.generated.csauto-reverted by the script (skill gotcha Surface SKImage.Encode (SKImageEncoder type) #9 — HarfBuzz bindings are out-of-band).C# changes (Phase 9)
None beyond the items above. C# build:
Build & test results (Phase 7 / Phase 10)
Native build (Linux x64):
After adding
skia_use_partition_alloc=false(see above), both libraries built cleanly:output/native/linux/x64/libSkiaSharp.so.150.0.0(~11 MB)output/native/linux/x64/libHarfBuzzSharp.so.0.61421.0(~2.8 MB)Runtime deps verified (
ldd):libfontconfig,libc++/libc++abi,libunwind,libm,libc,ld-linux— same shape as before.Tests (net10.0 | x64 | Linux):
Full test log is uploaded as the
test-output.txtworkflow artifact.Items needing human attention
Verification checklist
skia-sync/main(cebbc41888).cgmanifest.jsonupstream_merge_commit matches the submodule HEAD.*.generated.csfiles changed after regeneration.dotnet build binding/SkiaSharp/SkiaSharp.csprojsucceeds, 0 warnings.dotnet test tests/SkiaSharp.Tests.Consolepasses 5584/5584 (172 skipped are hardware-only).scripts/VERSIONS.txtunchanged (milestone, soname, increment).Created by skia-upstream-sync.