[skia-sync] Update skia to milestone 152 - #4636
Conversation
Bump the externals/skia submodule from Chrome m151 to m152, updating the soname to 152.0.0 and the managed assembly/nuget versions to 4.152. The submodule merge preserves the fork curation in DEPS (commented-out unused deps and security pins) and rolls VulkanMemoryAllocator 3.2.1->3.4.0 to match upstream m152 (required by VulkanAMDMemoryAllocator.cpp). The Ganesh Vulkan C API now supplies a default VMA allocator because upstream removed GrVkGpu::Make's internal auto-allocation. Version files, cgmanifest, and Azure build variables updated accordingly. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
📦 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 -- 4636PowerShell / Windows: iex "& { $(irm https://raw.githubusercontent.com/mono/SkiaSharp/main/scripts/get-skiasharp-pr.ps1) } 4636"Step 2 — Add the local NuGet source dotnet nuget add source ~/.skiasharp/hives/pr-4636/packages --name skiasharp-pr-4636More options
Or download manually from Azure Pipelines — look for the Remove the source when you're done: dotnet nuget remove source skiasharp-pr-4636 |
📊 SkiaSharp benchmarks — PR #4636⭐ this PR (full source build) vs 🌙 nightly · Linux · Windows · macOS
Highlights⏱️ Time — 🔴 47 slower · 🟢 39 faster
📦 Allocations — 🔴 1 more alloc · 🟢 0 less alloc
Full per-OS benchmark deltasLinux⏱️ Time (vs 🌙 nightly
📦 Allocations (vs 🌙 nightly
Windows⏱️ Time (vs 🌙 nightly
macOS⏱️ Time (vs 🌙 nightly
|
|
Superseded by a fresh target-152 validation run from the updated workflow branch. This validation PR was not merged. |
Description
Automated Skia milestone bump from m151 to m152.
This pull request was produced by skia-upstream-sync.
Related issues
N/A — automated upstream synchronization.
Required skia PR
Requires mono/skia#331
Areas affected
binding/)externals/skia/src/c,include/c)Changes
Update the
externals/skiasubmodule to Chrome milestone m152 and bump SkiaSharp version metadata.d840f796fd02a3d9375efea9d1a7feead2b2eec2(merged m152 tree, upstreamchrome/m152@2a9b593b, incl. the VMA3.4.0roll and the Ganesh Vulkan C API VMA-fallback fix).scripts/VERSIONS.txt: milestone m151 → m152,libSkiaSharpsoname152.0.0, managed assembly/file4.152.0.0, nuget4.152.0.cgmanifest.json: skia commitd840f796fd…, upstream refchrome/m152, merge commit2a9b593b…, VulkanMemoryAllocator3.4.0.scripts/azure-templates-variables.yml: milestone variable bumped to 152.utils/generate.ps1produced no diffs (the transientHarfBuzzApi.generated.csauto-revert artifact was reverted). The m152 C API surface consumed by SkiaSharp is unchanged in signature; the only native change is the internal VMA allocator fallback ingr_context.cpp, which is source/ABI compatible.Testing
Native
libSkiaSharp.so.152.0.0built from the merged m152 source (Linux/x64), then full unfiltered test solution (net10.0, x64):ganesh-vulkan-sharpvknot required on Linux)GPU backends executed: lavapipe Vulkan 1.4 + softpipe GL 3.3. No required backend was skipped. Overall exit code: 0.
Human review
skiasharp-branch commit before merging here.Checklist
Changesabove lists all public API and behavioral changes or states that none changedmono/skiaPR linked above and bindings regeneratedLast rendered by the sync workflow: 2026-08-03T02:50:06Z