Skip to content

[skia-sync] Merge upstream chrome/m150 bug fixes - #4704

Merged
mattleibow merged 2 commits into
release/4.150.xfrom
skia-sync/release-4.150.x
Aug 20, 2026
Merged

[skia-sync] Merge upstream chrome/m150 bug fixes#4704
mattleibow merged 2 commits into
release/4.150.xfrom
skia-sync/release-4.150.x

Conversation

@mattleibow

@mattleibow mattleibow commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

Description

Automated upstream bug-fix sync for m150. Targeting release branch release/4.150.x (mono/skia release/4.150.x).

This pull request was produced by skia-upstream-sync.

Related issues

N/A — automated upstream synchronization.

Required skia PR

Requires mono/skia#344

Areas affected

  • Managed API (binding/)
  • Native / C API (externals/skia/src/c, include/c)
  • Generated P/Invoke bindings
  • Native dependency or Skia update
  • Views & integrations
  • Rendering output / visual behavior
  • Performance
  • Tests
  • Build, packaging, or CI
  • Documentation or samples

Changes

Advance the SkiaSharp product repo to the synced mono/skia fork at upstream
Skia chrome/m150 bug-fix HEAD. Release-line bug-fix mode — no version bump.

  • Submodule pointer: externals/skia gitlink advanced
    b70519562e2d26d3cf56286d3a13ca25152cfae4
    64328ce83ff19e37d61169f2a0b761f2572f7b67 (the tested mono/skia merge commit).
  • cgmanifest.json:
    • Skia commitHash b70519562e64328ce83f
    • upstream_merge_commit a81173f17b9c7b2dffb2 (chrome_milestone 150,
      upstream_ref chrome/m150 unchanged)
  • Versions: unchanged. update_versions.py reported m150 -> m150, GATE
    PASSED — no version-file drift.
  • Dependency metadata: skia-dependency-changes.json = changes: []. The
    only DEPS movement (task_drivers) is a CIPD condition:False infra dep, never
    checked out and not tracked in cgmanifest.json, so no manifest change.

Bindings / wrappers

regenerate_bindings.py reported no binding changes and no new generated
functions
(GATE PASSED). No C API functions were added or changed upstream, so
no *.generated.cs, managed wrapper, or new test changes were required.
binding/SkiaSharp/SkiaSharp.csproj builds with 0 errors.

Testing

Native library rebuilt from source for linux/x64 and the full unfiltered
managed solution run against it — all hosts passed (test-exit-code.txt = 0):

Host Failed Passed Skipped
SkiaSharp.Tests 0 5585 171
SkiaSharp.Tests.SingletonInit 0 1 0
SkiaSharp.Vulkan.Tests 0 2 5
SkiaSharp.Direct3D.Tests 0 2 3

All GpuPolicy-required Linux backends (Mesa softpipe/llvmpipe + lavapipe ICD)
initialized and executed. No required backend was skipped; remaining skips are
the existing platform/host-policy skips.

Reconciliation gates re-run against final HEAD and passed: update_versions.py
(GATE PASSED) and audit_fork_patches.py --validate (GATE PASSED, no TODO).
Parent gitlink verified equal to the tested mono/skia commit 64328ce83f.

Human review

  • Merge sequence: merge the paired mono/skia PR first, then update this PR's
    submodule pointer to the resulting release/4.150.x commit before merging.
  • Only linux/x64 was built and tested here; the Windows/macOS/Android/iOS/WASM
    CI matrix must pass before merge.
  • No public API surface change — ABI is preserved (no *.generated.cs diff).

Checklist

  • Tests added or updated when behavior required them, or the report explains why not
  • Changes above lists all public API and behavioral changes or states that none changed
  • Documentation follow-up filed, or no public API changed
  • Companion mono/skia PR linked above and bindings regenerated

Last rendered by the sync workflow: 2026-08-18T13:40:10Z

@mattleibow mattleibow added partner/agentic-workflows Issues and PRs created by SkiaSharp agentic workflows. type/milestone-sync Any Skia upstream sync PR (milestone bump, same-milestone bug-fix re-sync, or tip sync). labels Aug 6, 2026
@github-actions

github-actions Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

📦 Try the packages from this PR

Warning

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 -- 4704

PowerShell / Windows:

iex "& { $(irm https://raw.githubusercontent.com/mono/SkiaSharp/main/scripts/get-skiasharp-pr.ps1) } 4704"

Step 2 — Add the local NuGet source

dotnet nuget add source ~/.skiasharp/hives/pr-4704/packages --name skiasharp-pr-4704
More options
Option Description
--successful-only / -SuccessfulOnly Only use successful builds
--force / -Force Overwrite previously downloaded packages
--list / -List List available artifacts without downloading
--build-id ID / -BuildId ID Download from a specific build

Or download manually from Azure Pipelines — look for the nuget artifact on the build for this PR.

Remove the source when you're done:

dotnet nuget remove source skiasharp-pr-4704

Advance the mono/skia fork to upstream chrome/m150 bug-fix HEAD
9c7b2dffb2 via a two-parent merge (mono/skia 64328ce83f), preserving
all fork patches. Release-line bug-fix mode: versions unchanged, only
Skia commit hashes advanced.

- cgmanifest.json: Skia commitHash b70519562e -> 64328ce83f;
  upstream_merge_commit a81173f17b -> 9c7b2dffb2
- externals/skia gitlink -> tested merge commit 64328ce83f

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@mattleibow
mattleibow force-pushed the skia-sync/release-4.150.x branch from 1abccfb to 16966cf Compare August 18, 2026 13:40
@mattleibow
mattleibow marked this pull request as ready for review August 19, 2026 23:56
mattleibow added a commit to mono/skia that referenced this pull request Aug 19, 2026
[skia-sync] Merge upstream Chrome M150 bug fixes (#344)

Changes: google/skia@a81173f...9c7b2df
Companion: mono/SkiaSharp#4704

Merge the latest same-milestone Chrome M150 servicing range into
release/4.150.x.

This is an upstream merge bump rather than a milestone or API update. It
carries Ganesh robustness fixes and a Skia CI tooling refresh while preserving
the fork's patches, release-specific DEPS customizations, and tracked
dependency pins.

Retain the two-parent merge ancestry so future syncs can determine which
upstream commits are already integrated. This change must not be squash-merged
or rebased.

No C API or ABI changes are included, and binding regeneration produces no
diff. The native source build and test suite pass.

Co-authored-by: Eric Boren <borenet@google.com>
Co-authored-by: Michael Ludwig <michaelludwig@google.com>
Co-authored-by: Thomas Smith <thomsmit@google.com>
Point the release sync companion at the post-merge mono/skia release commit while preserving the reviewed upstream M150 provenance.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: a2e13629-55e5-4cb7-b611-effe639c4a59
@mattleibow
mattleibow merged commit 47601f5 into release/4.150.x Aug 20, 2026
2 of 4 checks passed
@mattleibow
mattleibow deleted the skia-sync/release-4.150.x branch August 20, 2026 00:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

partner/agentic-workflows Issues and PRs created by SkiaSharp agentic workflows. type/milestone-sync Any Skia upstream sync PR (milestone bump, same-milestone bug-fix re-sync, or tip sync).

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants