[skia-sync] Merge upstream chrome/m148 bug fixes#4262
Merged
Conversation
Pulls 2 upstream bug fixes onto release/4.148.x: - 46f2e16555 [m148] Resolved a Data Race on fStream in SkTypeface_Mac - 3a90f6662a [graphite] Use stable collection for static bindings Submodule bump only. No version/milestone changes (release-line sync, current == target == m148), no C API changes, no binding regeneration delta, no behavioural changes for non-macOS/non-Graphite users. cgmanifest.json updated: - mono/skia commitHash: 1a155bae3a -> 6d45d9aed1 - upstream_merge_commit: 54851b68b7 -> 46f2e16555 (chrome/m148 HEAD) - chrome_milestone: 148 (unchanged) Build / test results (Linux x64): - Native build: libSkiaSharp.so.148.0.0 produced successfully - C# build: 0 errors, 0 warnings - Smoke tests: 32/32 passed - Full tests: 5544 passed, 0 failed, 172 skipped (HW-dependent) Companion mono/skia PR on branch skia-sync/release-4.148.x. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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 -- 4262PowerShell / Windows: iex "& { $(irm https://raw.githubusercontent.com/mono/SkiaSharp/main/scripts/get-skiasharp-pr.ps1) } 4262"Step 2 — Add the local NuGet source dotnet nuget add source ~/.skiasharp/hives/pr-4262/packages --name skiasharp-pr-4262More options
Or download manually from Azure Pipelines — look for the Remove the source when you're done: dotnet nuget remove source skiasharp-pr-4262 |
Point externals/skia at 9bf10f9f, the merge of the skia-sync/release-4.148.x upstream chrome/m148 bug fixes into the release/4.148.x branch (mono/skia#268), instead of the interim skia-sync branch commit (6d45d9aed). cgmanifest.json is updated to match. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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 upstream bug-fix sync for m148. Targeting release branch
release/4.148.x(mono/skiarelease/4.148.x).Companion skia PR: mono/skia#268
Summary
Release-line bug-fix sync onto
release/4.148.x. Bumps theexternals/skiasubmodule pointer to pick up 2 new upstreamchrome/m148bug fixes and updates the matchingcgmanifest.jsonSHAs.This is not a milestone bump —
CURRENT == TARGET == 148. No version files change:scripts/VERSIONS.txt,scripts/azure-templates-variables.yml,SkMilestone.h,SK_C_INCREMENTare all left exactly as they are onrelease/4.148.x. The only file changes in this PR are:externals/skiasubmodule pointer:1a155bae3a→6d45d9aed1cgmanifest.jsonmono/skiacommitHash:1a155bae3ac86db6d3efbd996f00e774b6a7b722→6d45d9aed12bacb599261ccebcf4a9764b0467eacgmanifest.jsonSkia-coreupstream_merge_commit:54851b68b7a1d49bc4b4361f12786a7d7ad91fff→46f2e16555cac1211f4087cf24728fd741ac6495chrome_milestonestays at148.Companion mono/skia PR
mono/skiaPR on branchskia-sync/release-4.148.xtargetingrelease/4.148.x. That PR carries the actual upstream merge commit6d45d9aed1. Per the skill's merge sequence, the mono/skia PR must be merged first; then the parent repo's submodule pointer must be re-pointed at the squashedrelease/4.148.xSHA before merging this PR.Upstream commits pulled in (via submodule bump)
46f2e16555[m148] Resolved a Data Race on fStream in SkTypeface_Macsrc/ports/SkTypeface_mac_ct.{cpp,h}3a90f6662a[graphite] Use stable collection for static bindingssrc/gpu/graphite/dawn/DawnGraphicsPipeline.cppBoth are upstream cherry-picks already on
chrome/m148. The macOS typeface fix is the user-visible one (eliminates agTFCache/fStreamdata race inSkTypeface_Mac); the Graphite change is benign for SkiaSharp because we ship Ganesh, not Graphite/Dawn.Breaking change analysis
None. Because this is a release-line bug-fix sync (
current == target == 148):externals/skia/src/c/**,include/c/**) files changed.No changes to bindings (C API signatures unchanged)andNo new functions found.binding/SkiaSharp/SkiaApi.generated.csand the other*Api.generated.csfiles are byte-identical toorigin/release/4.148.x.[Obsolete]markers to add — no deprecations.libSkiaSharp.so.148.0.0.Version / binding updates
scripts/VERSIONS.txtscripts/azure-templates-variables.ymlexternals/skia/include/core/SkMilestone.hSK_MILESTONE 148)externals/skia/include/c/sk_types.h(SK_C_INCREMENT)0)binding/SkiaSharp/SkiaApi.generated.csbinding/SkiaSharp.Skottie/SkottieApi.generated.csbinding/SkiaSharp.SceneGraph/SceneGraphApi.generated.csbinding/SkiaSharp.Resources/ResourcesApi.generated.csbinding/HarfBuzzSharp/HarfBuzzApi.generated.cscgmanifest.jsoncommitHash+ Skia-coreupstream_merge_commitbumpedexternals/skia(submodule pointer)6d45d9aed1C# changes
None required. No managed code was modified, no test code was modified.
Build / test results (Linux x64)
The agent used
dotnet cake --target=externals-linux --arch=x64(NOTexternals-download, per the skill's hard rule for milestone-touching work). Other platforms (macOS, Windows, iOS, Android, WASM) will rebuild on the release-line CI pipelines once both PRs land.dotnet tool restoregit submodule statusgit diff --checkemptycgmanifest.jsoneditdotnet cake --target=externals-linux --arch=x64output/native/linux/x64/libSkiaSharp.so.148.0.0(11.3 MB) andlibHarfBuzzSharp.so.0.61420.0(3.0 MB) — total native build ≈ 16 minregenerate-bindings.ps1No changes to bindings,No new functions found, HarfBuzz revert applieddotnet build binding/SkiaSharp/SkiaSharp.csprojCategory=Smoke)The full suite was first attempted with xUnit's default parallel test execution and crashed in test discovery with
PAL_SEHException: Out of memoryon the 16 GB CI runner. Re-running withxUnit.MaxParallelThreads=1 xUnit.ParallelizeTestCollections=false(serial execution) completed cleanly with 0 failures. This is an environmental constraint of this CI runner, not a regression introduced by the merge.Items needing human attention
SkTypeface_mac_ct.cppmutex correctly on therelease/4.148.xmacOS / iOS / Mac Catalyst pipelines. The change is upstream-mainline and small (8 line diff), so risk is low, but the agent only built Linux x64 here.skia-sync/release-4.148.x→release/4.148.xPR first (squash).git -C externals/skia fetch origin && git -C externals/skia checkout <new-squashed-sha-on-release/4.148.x>, commit, push to this PR branch.Skipping step 2 would orphan the submodule onto the unsquashed branch commit.
gnarg changes, no compiler/linker flag changes were required for this sync.Created by skia-upstream-sync.