Skip to content

[skia-sync] Merge upstream chrome/m150 - #339

Closed
mattleibow wants to merge 3 commits into
release/4.150.xfrom
skia-sync/release-4.150.x
Closed

[skia-sync] Merge upstream chrome/m150#339
mattleibow wants to merge 3 commits into
release/4.150.xfrom
skia-sync/release-4.150.x

Conversation

@mattleibow

@mattleibow mattleibow commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Note

Required merge method

Merge commit only. Do not squash or rebase this PR. The two-parent merge ancestry is required
so future syncs can prove which upstream commits are already integrated.

Description

Automated upstream merge of chrome/m150.

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

SkiaSharp issue

N/A — automated upstream synchronization.

Required SkiaSharp PR

Requires mono/SkiaSharp#4661

Areas affected

  • C API (include/c, src/c)
  • Native dependency / DEPS
  • Build (gn / build files)
  • Upstream Skia merge or rebase
  • Rendering output / behavior
  • Other

Changes

Genuine two-parent merge of upstream chrome/m150 (a81173f17b197686dc1e6c78515de86e92ddc861)
into the release/4.150.x fork base (73959289693c85303585463d7998de32c6249457).

  • Merge commit: bea5d329ad3d7dfb75464a794318dfc0a235c0ab (parents: fork base 739592896 + upstream a81173f).
  • Base upstream SHA == target upstream SHA == a81173f. This is a release-line ancestry
    reconciliation: the recorded upstream_merge_commit was a81173f but the squash-style fork
    base did not have it in git ancestry (history stopped at merge-base a7fb0b3c2e). The merge
    restores true two-parent ancestry.
  • Merged tree is content-identical to the fork base (empty staged diff after merge). No source,
    no src/c/include/c C API, and no third_party/externals/* revision changes.
  • Genuine delta a7fb0b3c2e..a81173f = 2 commits: a81173f (SkSL RasterPipeline map-pointer fix +
    test) and 4452d2cbf4 (CI-only infra dep roll adding checkout_agents_internal var; not
    compiled into the native library, no tracked component).
  • Fork-patch audit against final HEAD: 0 removed / 0 changed / 0 added; --validate gate passed.

Testing

Native build from source succeeded: dotnet cake --target=externals-linux --arch=x64
(libSkiaSharp.so.150.0.0 + libHarfBuzzSharp linked; ~10 min cold build). Binding regeneration
reported no binding changes and no new native functions. Managed build clean.

Full unfiltered solution tests/SkiaSharp.Tests.Console.sln (net10.0), all hosts passed:

  • SkiaSharp.Tests (Core): Failed 0, Passed 5585, Skipped 171
  • SkiaSharp.Tests.SingletonInit: Failed 0, Passed 1, Skipped 0
  • SkiaSharp.Vulkan.Tests: Failed 0, Passed 2, Skipped 5
  • SkiaSharp.Direct3D.Tests: Failed 0, Passed 2, Skipped 3

Final gate exit code 0. All GpuPolicy-required Linux backends (Mesa softpipe GL, lavapipe Vulkan
ICD) initialized and executed. No required backend was skipped; skips are pre-existing
platform/host capability skips (e.g. Direct3D on non-Windows).

Human review

  • Confirm the two-parent ancestry reconciliation is the intended representation for the m150
    release line (base==target upstream; no content delta).
  • Non-Linux platforms/backends (Windows/Direct3D, macOS/Metal, Android, iOS) were not executed in
    this Linux x64 automation run and need the standard cross-platform CI matrix before merge.

Checklist

  • Targets the release/4.150.x branch
  • Changes above lists every added/changed C API export or states that none changed
  • Companion mono/SkiaSharp PR linked above

Last rendered by the sync workflow: 2026-08-04T21:34:52Z

erock2112 and others added 3 commits July 30, 2026 10:51
Bug: b/535581863
Change-Id: Idea1fd6496e8b54823f32820ae2351a6d17383f2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1308696
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Kaylee Lubick <kjlubick@google.com>
Auto-Submit: Eric Boren <borenet@google.com>
Commit-Queue: Kaylee Lubick <kjlubick@google.com>
Original change's description:
> Address incorrect handling of a map pointer in SkRP
>
> In pushChildCall, we held on to a pointer from a fChildEffectMap
> and then later dereferenced it. However, in between those
> points was a code path that could grow the map, invalidating
> the pointer. This is demonstrated in the newly added test.
>
> To fix it, we just dereference it earlier. While tracking this
> down, I found a suspicious other usage of the map which works
> in newer C++, but could break in older versions. It's trivial
> to fix Generator::writeFunction, so I handled that as well.
>
> Bug: b/540157141
> Fixed: 540157141
> Change-Id: I149b070c31d4cfefa65b30972f0b8b94441e66db
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1308776
> Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
> Commit-Queue: Kaylee Lubick <kjlubick@google.com>

(cherry picked from commit 5b90a36)

Bug: 541110610,b/540157141,540157141
Change-Id: I149b070c31d4cfefa65b30972f0b8b94441e66db
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1311197
Auto-Submit: Chrome Cherry Picker <chrome-cherry-picker@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reconcile the release/4.150.x fork base with upstream chrome/m150
(a81173f) via a genuine two-parent merge.

The fork base tree already contained the target content; this merge brings the
target upstream commit into git ancestry so the recorded upstream_merge_commit
and history agree. Merge range: a7fb0b3..a81173f (SkSL RasterPipeline
map-pointer fix + CI infra roll). No C API, public-header, struct-layout,
backend, or externals-dependency changes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@mattleibow mattleibow added partner/agentic-workflows Issues and PRs created by SkiaSharp agentic workflows. type/milestone-sync Any upstream Skia sync PR (milestone bump, same-milestone bug-fix re-sync, or tip sync). labels Aug 4, 2026
@mattleibow mattleibow closed this Aug 4, 2026
@mattleibow
mattleibow deleted the skia-sync/release-4.150.x branch August 4, 2026 21:42
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 upstream Skia sync PR (milestone bump, same-milestone bug-fix re-sync, or tip sync).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants