Skip to content

[skia-sync] Merge upstream Skia main (tip)#267

Closed
mattleibow wants to merge 293 commits into
skiasharpfrom
skia-sync/main
Closed

[skia-sync] Merge upstream Skia main (tip)#267
mattleibow wants to merge 293 commits into
skiasharpfrom
skia-sync/main

Conversation

@mattleibow

Copy link
Copy Markdown
Collaborator

Automated upstream merge of google/skia main (tip).

Upstream Skia merge — main tip into skiasharp (m150 tip sync)

This PR merges the bleeding-edge tip of google/skia main into our skiasharp branch.
This is NOT a milestone bump — the merged head branch is named skia-sync/main, our
user-facing milestone stays at m150, and only bug-fix / housekeeping deltas from upstream
flow in. (Note: upstream main's SkMilestone.h has already flipped to 151 — see "Items needing
human attention" below for how this PR handles that.)

Upstream merge details

Field Value
Base branch (mono/skia) skiasharp (was at b16789ec3540beaa43e8a71b050d9d328eb68025)
Upstream ref google/skia main
Upstream tip merged e793ca20f32abea8f96876d33c7ddabd3e5ed2d8 ("Temporarily disable sampling in SkPngRustCodec")
Merge base ed03b304e16a27e3035175e9c90a5c3492b087e8
Commits ahead of merge base ~291 upstream commits
Merge commit a2658b789bac600d1e49afa9f774e192b11dcb17
Post-merge fixup commit cd67ad79830bdf6fd7f09f2e5328cf85aa06b10d
New skiasharp tip after sync cd67ad79830bdf6fd7f09f2e5328cf85aa06b10d

Conflicts resolved

The upstream merge produced 7 conflicts. All resolved in the merge commit:

  1. DEPS — auto-merge failed because of large refactors to infra_revision and several
    third-party pins. Resolved by taking HEAD's fork-specific content (pinned versions of brotli,
    expat, freetype, harfbuzz, libjpeg-turbo, libpng, libwebp, piex, vulkanmemoryallocator,
    spirv-cross, vulkan-headers, and the long list of # DISABLED: block comments) while
    accepting upstream's bumped infra_revision (604794226cd60e4225b0ee7a39f7944b8f280ec6).

  2. bazel/external/dawn/dawn_files.bzlupstream-deleted, locally-modified (UD). Upstream
    replaced the hand-maintained file list with a generator script
    (bazel/external/dawn/generate_dawn_files.py plus its test). Resolved by accepting the
    deletion
    — the older [m150] Update dawn_files.bzl after Dawn roll patch is no longer
    needed.

  3. src/gpu/ganesh/ops/AtlasTextOp.cpp — three conflict hunks:

    • Includes (lines 14–22): upstream renamed include/private/base/SkOnce.h
      include/private/SkOnce.h etc. Took upstream's new header paths.
    • AtlasTextOp::onCombineIfPossible overflow logic (lines 188–192): upstream cherry-picked
      our [ganesh] Avoid overflow when combining AtlasTextOps change (eb4f33fe2b). Took
      upstream's identical refined form.
    • Stride mismatch handling (lines 579–592): we had a verbose SKIA_LOG_D + early-return.
      Took upstream's single-line SkASSERTF_RELEASE(strideCheck == vertexStride, "stride mismatch"); — converges on the upstream policy of treating this as a bug rather than a
      silently-swallowed runtime condition.
  4. src/gpu/ganesh/ops/StrokeTessellateOp.cpp — include rename. Took upstream
    (src/core/SkArenaAlloc.h, src/core/SkSafeMath.h). Our M150 cherry-pick
    [M150] Prevent overflow in StrokeTessellateOp (fd9c3a7681) already made it upstream as
    dcf3ebf072.

  5. src/gpu/graphite/dawn/DawnGraphicsPipeline.cpp — include rename to
    include/private/SkLog.h, include/private/SkTArray.h, src/core/SkTBlockList.h. Took
    upstream.

  6. src/gpu/graphite/render/SDFTextLCDRenderStep.cpp — two hunks, both due to the upstream
    include refactor + the conditional compilation guard #if !defined(SK_DISABLE_SDF_TEXT). Took
    upstream. Our M150 cherry-pick [M150] Turn off LCD in SDF slugs (86bafa2700) made it
    upstream as 95dbfa24e0 (refined to use sk_ieee_float_divide(1.f, getMinScale()) instead of
    our getMaxScale() formulation — accept upstream's correction).

  7. src/ports/SkTypeface_mac_ct.h — include rename to include/private/SkOnce.h +
    src/core/SkSharedMutex.h. Took upstream. Our M150 cherry-pick
    [m150] Resolved a Data Race on fStream in SkTypeface_Mac (14d05ec761) made it upstream as
    ba3ee9b265.

In short, every M150 cherry-pick we previously carried on the skiasharp branch has been
upstreamed
. The merge drops those private patches in favour of the canonical upstream forms.

Major upstream changes pulled in

  • Massive header refactorinclude/private/base/Sk*.hinclude/private/Sk*.h and several
    src/base/Sk*.hsrc/core/Sk*.h (or include/private/). Affected ~116 files (visible as R
    entries in git status). The only code we own that referenced the old paths was
    src/c/sk_font.cpp (see C API fixes below).
  • partition_alloc integration — new directory src/partition_alloc/ with a noop/ fallback
    for builds that disable PartitionAlloc. New gn arg skia_use_partition_alloc (default
    is_clang) controls this. See "Items needing human attention".
  • Sparse strips for Graphite — new src/gpu/graphite/sparse_strips/ directory
    (MakeStrips.h, StripProcessorScalar.h).
  • VulkanGraphiteUtils.h removal from include/gpu/graphite/vk/ — upstream consolidated
    the public surface (no SkiaSharp impact — we don't bind Graphite Vulkan utils).
  • Dawn rolls + ANGLE rolls + vulkan-deps roll + Skia infra roll — captured in the merge.

C API fixes in cd67ad7983

Two minimal edits were needed in our shim to compile against the new tree:

  1. include/core/SkMilestone.h: pin SK_MILESTONE back to 150. Upstream
    chrome-branch-day flipped it to 151 (commit d30d2a1958) on main. We do not bump our
    user-facing milestone in tip-mode syncs, so we pin the underlying constant back to match
    scripts/VERSIONS.txt. The Cake build's git-sync-deps task asserts these are in sync —
    without this pin the build aborts before compilation. (Future option: bump VERSIONS.txt and
    drop this pin once we're ready to formally move the SkiaSharp line to m151.)
  2. src/c/sk_font.cpp: #include "include/private/base/SkTemplates.h"
    #include "include/private/SkTemplates.h" after the upstream header move.

Items needing human attention

  • Upstream milestone has already moved to 151. SkMilestone.h was bumped on
    main as part of the normal chrome branch day flow. This PR keeps SK_MILESTONE = 150 to
    match SkiaSharp's pinned milestone in scripts/VERSIONS.txt. A reviewer should confirm:
    • (a) This is the intended behaviour for a tip-mode sync that crosses a chrome-branch-day, OR
    • (b) We should instead promote SkiaSharp to m151 in a follow-up (bump VERSIONS.txt milestone,
      cgmanifest chrome_milestone/version, soname, all NuGet version lines) and drop the
      SkMilestone.h pin.
  • AtlasTextOp.cpp stride-mismatch change is a behaviour change: we previously logged and
    bailed out; upstream now releases an assertion. In debug builds this is fine; in release/CI
    builds this could surface as a hard crash if the condition ever fires. Recommend a quick sanity
    pass over any internal/runtime users that may rely on the old "log-and-skip" recovery.
  • partition_alloc is intentionally disabled in our build via the new --gnArgs "skia_use_partition_alloc=false" argument passed at dotnet cake --target=externals-linux
    time (this is a command-line gn arg, not a native/**/build.cake modification). When this
    sync eventually graduates into a real milestone bump, we should consider whether to wire
    skia_use_partition_alloc=false into all platform build.cake files (single source of truth)
    rather than relying on the CLI argument every time. Filing as a follow-up.
  • bazel/external/dawn/dawn_files.bzl deletion accepted. Anyone currently relying on the
    hand-maintained file list should switch to the generated form.
  • DEPS infra_revision advanced to 604794226cd60e4225b0ee7a39f7944b8f280ec6 while
    keeping all fork-specific dependency pins. Confirm this is the right thing for SkiaSharp's
    infra/CI tooling (this only affects Skia's own bots, not our build).

Created by skia-upstream-sync.

kjlubick and others added 30 commits June 3, 2026 13:19
No-Try: true
Change-Id: I02e1b9dd707baa83908ffee215f79df0d9cc46d1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1253617
Commit-Queue: Kaylee Lubick <kjlubick@google.com>
Auto-Submit: Kaylee Lubick <kjlubick@google.com>
Reviewed-by: Jorge Betancourt <jmbetancourt@google.com>
https://chromium.googlesource.com/vulkan-deps.git/+log/85acfedb927a..090b0d3106c4

Also rolling transitive DEPS:
  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/96545708d0fb060ec6d1e67e85de593bcf24dd21..df032578c737d361b754fc569b70aa29b5f8c7d4

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-skia-autoroll
Please CC nicolettep@google.com,skiabot@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Ubuntu24.04-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win11-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: nicolettep@google.com
Change-Id: I61f37d8c7b9627ed32cf39b068675f50653db210
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1253936
Commit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8679976398376345761

recipe_engine:
https://chromium.googlesource.com/infra/luci/recipes-py.git/+/5372b26d4326b7cca2f27e0bdc92d9bc2d149129
  5372b26 (chromium-autoroll@skia-public.iam.gserviceaccount.com)
      Roll CAS Client from 9b7184de3cca to ec87456d811b

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ic445edfd5e236fe44c9782f346a78433527ce604
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1254156
Bot-Commit: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/jsfiddle-base-skia
Please CC kjlubick@google.com,skiabot@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Tbr: kjlubick@google.com
Change-Id: I359e8a453a7d943e9cb8fbe9ac922acfab9e5473
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1254198
Commit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/debugger-app-base-skia
Please CC kjlubick@google.com,skiabot@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Tbr: kjlubick@google.com
Change-Id: I448f8555609b4360bf6a0795af46a49e68a649ea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1254379
Commit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
https://dawn.googlesource.com/dawn.git/+log/fac99d48e5f5..075626b4b324

2026-06-04 ganesh@google.com [tools] Fix local Go generator compilation on Windows
2026-06-04 chouinard@google.com [tint][spirv] Clamp subgroupShuffle to actual size
2026-06-04 dawn-automated-expectations@chops-service-accounts.iam.gserviceaccount.com Roll third_party/webgpu-cts/ b507bd117..a4af861a0 (2 commits)
2026-06-04 jiawei.shao@intel.com Implement `AllocationSizeTracker` as a `SerialProcessor`
2026-06-04 rharrison@chromium.org Add '-bisect' flag to Tint fuzz tool
2026-06-03 arthursonzogni@chromium.org PRESUBMIT: CheckChangeTodoHasOwner for unowned TODOs
2026-06-03 shrekshao@google.com [utils] Guard EXPECT_DEATH tests with GTEST_HAS_DEATH_TEST
2026-06-03 lokokung@google.com Revert "[native] Guarantee thread safety during the map async callback."
2026-06-03 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll webgpu-headers from dc16b3e531cf to bf8ddb91dc38 (2 revisions)
2026-06-03 chouinard@google.com Remove EOF newline from flags.bzl
2026-06-03 bsheedy@google.com Suppress more Pixel 10 end2end failures
2026-06-03 lokokung@google.com [native] Guarantee thread safety during the map async callback.
2026-06-03 beaufort.francois@gmail.com Sync immediate_address_space WGSL feature with webgpu.h
2026-06-03 chouinard@google.com Buildifier flags.bzl
2026-06-03 shanxing.mei@intel.com d3d12: Add Agility SDK support
2026-06-03 chouinard@google.com Format flags.bzl
2026-06-03 kainino@chromium.org [dawn][common] Add nocompile tests for (d)checked_cast and TypedInteger

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC cwallez@google.com,shrekshao@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Ubuntu24.04-Clang-x86_64-Debug-Graphite_Dawn_Vulkan;skia/skia.primary:Test-Mac14-Clang-MacMini9.1-GPU-AppleM1-arm64-Debug-All-ASAN_Graphite_Dawn_Metal;skia/skia.primary:Test-Win11-MSVC-Golo-GPU-QuadroP400-x86_64-Release-All-Graphite_Dawn_D3D12;skia/skia.primary:Test-Win11-MSVC-Golo-GPU-QuadroP400-x86_64-Release-All-Graphite_Dawn_D3D11
Bug: None
Tbr: shrekshao@google.com
Change-Id: Iaa21fa09d8163e87a90d46362ffb9ead5e80bfcb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1254378
Commit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
https://chromium.googlesource.com/angle/angle.git/+log/1a7742a98d71..8240611f3d68

2026-06-04 lexa.knyazev@gmail.com Move rectangle texture target checks earlier
2026-06-03 zmo@chromium.org Vulkan: Fix Use-After-Free in TextureVk::releaseImage
2026-06-03 kbr@chromium.org Abort parsing upon invalid version directive.
2026-06-03 syoussefi@chromium.org GL: Fix `invariant gl_FragColor;` + draw buffers
2026-06-03 syoussefi@chromium.org Skip flaky test on Nvidia/GLES
2026-06-03 geofflang@chromium.org EGL: Store SyncEGL::mSync in a shared_ptr.
2026-06-03 syoussefi@chromium.org Fix test using high int value with mediump
2026-06-03 kkinnunen@apple.com Fix GLDriverErrorWhenMappingArrayBuffersDuringDraw
2026-06-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from b57006f9536e to 85acfedb927a (21 revisions)
2026-06-03 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 9118c266903c to 235b985d0f37 (723 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC jmadill@google.com,nicolettep@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Ubuntu24.04-Clang-x86_64-Release-ANGLE;skia/skia.primary:Build-Mac-Clang-arm64-Release-ANGLE;skia/skia.primary:Test-Win11-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win11-Clang-Dell3930-GPU-GTX1660-x86_64-Debug-All-ANGLE
Tbr: nicolettep@google.com
Change-Id: I94e4ddfa07a37f6abde83573c766247ef318551c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1254199
Commit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
https://skia.googlesource.com/buildbot.git/+log/a4cbcf5ccc36..aa3b5a254aa6

2026-06-03 ansid@google.com Anomaly table UI improvements 1
2026-06-03 sergeirudenkov@google.com [public's a subset] trace visibility promoter core & CLI
2026-06-03 ansid@google.com Make anomaly-toggle look ok in both v1 and v2 UIs
2026-06-03 sergeirudenkov@google.com [perf] versioned SQL migrations
2026-06-03 skia-autoroll@skia-public.iam.gserviceaccount.com Roll debugger-app-final from 2b8643818973 to 6ab7ca4f56b2
2026-06-03 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Depot Tools from 298c36eea8d8 to ea198736a0bc (6 revisions)
2026-06-03 skia-autoroll@skia-public.iam.gserviceaccount.com Roll command_wrapper from 72fbf2e9ed0083796... to b7cfb7071e556e297... (1 revision)
2026-06-03 skia-autoroll@skia-public.iam.gserviceaccount.com Roll jsfiddle-final from 40b541f13f36 to d8211dc3f781

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/infra-skia
Please CC kjlubick@google.com,skiabot@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia Infra: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: chromium:504536191
Tbr: kjlubick@google.com
Change-Id: I7eaded192bddafa1070aa5db3d3407a6dcdfebf6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1254357
Commit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
https://chromium.googlesource.com/vulkan-deps.git/+log/090b0d3106c4..69c770f1ec4d

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-skia-autoroll
Please CC nicolettep@google.com,skiabot@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Ubuntu24.04-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win11-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: nicolettep@google.com
Change-Id: I0105351295289385eda9c67320201e5a9b9c13a1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1254210
Commit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
Chrome is dropping support for OSX 12.

Change-Id: I16951b666ac0e18cab8f31e916aa30f1b7c35474
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1253696
Reviewed-by: Kaylee Lubick <kjlubick@google.com>
Auto-Submit: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Bug: b/519168327
Change-Id: Ic809a5c9c93018bc584b6284ba1b64205485f83b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1253636
Commit-Queue: Thomas Smith <thomsmit@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Required for https://crrev.com/c/7896961

Change-Id: Id22943b2a4890ab5b0e849fc6bc2eb8c7902b1be
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1253857
Reviewed-by: Kaylee Lubick <kjlubick@google.com>
Commit-Queue: Jorge Betancourt <jmbetancourt@google.com>
This reverts commit 8c8a82b.

Reason for revert: Did not sufficiently improve performance

Original change's description:
> [graphite] hoist textureSize call out of switch statement
>
> * Try hoisting the textureSize call out of switch statement in text
> render step shaders.
>
> * Tests theory that passing and switching on atlas, which is instance
> data, is preventing compiler from recognizing the textureSize is constant and could be lifted into a pilot shader.
>
> Change-Id: I48f999a09328dff0a990b3a304870f2f8dbdb4d0
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1251477
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Thomas Smith <thomsmit@google.com>
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>

Change-Id: Ib8d3a60e9fa5b6bbc312cf421c3345bf91d84051
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1253956
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Thomas Smith <thomsmit@google.com>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8679915371003548721

depot_tools:
https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/533321c34e1c3ba816bc5e820004fffe5b7fe4ad
  533321c (jdonnelly@chromium.org)
      Require explicit response during interactive "git cl cherry-pick".

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I6f575d4438a6496c7d726fc33d637d0815bbe536
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1254936
Commit-Queue: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
The new test case (and the linked fuzz) were bumping into the assert
added here: https://review.skia.org/667436

Bug: oss-fuzz:511244869
Change-Id: I6623534671a431b4d8dde3972da9ead36842a5ad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1253616
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Kaylee Lubick <kjlubick@google.com>
In order to allow serialized keys that contain external formats to be skipped over by precompilation we need some query. This is, perhaps, the simplest way to do this.

We could also hide it somewhere and make it only available to Android.

Bug: b/482036727
Bug: b/498213682
Change-Id: Ife5d4eaa31d39a5b304f7ecec02b77eeb03b400b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1248236
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
This reverts commit 4478832.

Creates regressions on some devices

Original change's description:
> [graphite] use textureSize intrinsic instead of uniforms
>
> * Change text rendersteps as a sounding board for `textureSize` intrinsic performance characteristics.
>
> * The inverse atlas size is calculated in the fragment shader, per fragment invocation. In the future we may move this to the vertex shader.
>
> Change-Id: I1f11b19498c96b787cd89e4751f7bf48de1cbb9a
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1211196
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>
> Commit-Queue: Thomas Smith <thomsmit@google.com>

Change-Id: I0b704d43ccf72ee54fd8dabcc6d9b4c77e1ce62a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1255236
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Thomas Smith <thomsmit@google.com>
https://chromium.googlesource.com/vulkan-deps.git/+log/69c770f1ec4d..78036a90f143

Also rolling transitive DEPS:
  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/df032578c737d361b754fc569b70aa29b5f8c7d4..9b51d3d78717e29efd75adf1856cdbcc644eda7a

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-skia-autoroll
Please CC nicolettep@google.com,skiabot@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Ubuntu24.04-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win11-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: nicolettep@google.com
Change-Id: Ifb8080062c74c7d438a9146e0ada5ce999952338
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1255396
Bot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
https://dawn.googlesource.com/dawn.git/+log/075626b4b324..a36d189db2e8

2026-06-05 alanbaker@google.com [ir][fuzz] Validate overrides have init operand
2026-06-04 alanbaker@google.com [hlsl][fuzz] Fix check for array length additions
2026-06-04 rharrison@chromium.org [val] Check that NextIteration points to the containing loop
2026-06-04 jrprice@google.com [tint] Do not inline expressions with multiple uses
2026-06-04 rharrison@chromium.org [fuzz] Ensure correct hash used in results for bisect mode
2026-06-04 chrdavis@microsoft.com Enable building tests with partition alloc disabled
2026-06-04 lokokung@google.com [native] Allow multi-source wait if queue events are spontaneous.
2026-06-04 alanbaker@google.com [msl] Use clz and ctz in polyfills
2026-06-04 rharrison@chromium.org [fuzz] Return to original branch after running bisect
2026-06-04 jrprice@google.com [gn] Add custom Python script for generating sources
2026-06-04 chouinard@google.com Add missing includes
2026-06-04 arthursonzogni@chromium.org feat: Add presubmit check for DAWN_UNSAFE_BUFFERS safety comments
2026-06-04 sainitarun@google.com [android][webgpu] Fix thread safety and resource leaks in WebGpu helper.
2026-06-04 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 24496a44b9f4 to 69c770f1ec4d (16 revisions)
2026-06-04 shanxing.mei@intel.com [d3d12] Use CheckHRESULT for CreateDevice error handling
2026-06-04 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 1a7742a98d71 to 8240611f3d68 (10 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC cwallez@google.com,shrekshao@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Ubuntu24.04-Clang-x86_64-Debug-Graphite_Dawn_Vulkan;skia/skia.primary:Test-Mac14-Clang-MacMini9.1-GPU-AppleM1-arm64-Debug-All-ASAN_Graphite_Dawn_Metal;skia/skia.primary:Test-Win11-MSVC-Golo-GPU-QuadroP400-x86_64-Release-All-Graphite_Dawn_D3D12;skia/skia.primary:Test-Win11-MSVC-Golo-GPU-QuadroP400-x86_64-Release-All-Graphite_Dawn_D3D11
Bug: None
Tbr: shrekshao@google.com
Change-Id: I2de9b2f6040e3430c3ef654454b8b464e8e8022f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1255476
Commit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
https://chromium.googlesource.com/angle/angle.git/+log/8240611f3d68..1184faa057e3

2026-06-05 kbr@chromium.org PLS: Reject redefinition of attachments while active.
2026-06-04 lexa.knyazev@gmail.com Cleanup ValidCompressedImageSize
2026-06-04 gaiko@google.com No actualImageFormatID in VkImageImageSiblingVk
2026-06-04 kbr@chromium.org Suppress failing Vulkan test.
2026-06-04 syoussefi@chromium.org Translator: Prune comma expressions more aggressively
2026-06-04 a.annestrand@samsung.com OpenCL: fix missing printf fmt edge-cases
2026-06-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 85acfedb927a to 69c770f1ec4d (5 revisions)
2026-06-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 235b985d0f37 to a1c3b827fcf0 (792 revisions)
2026-06-04 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from f94e5f9e6c5a to 5241a9bb4839 (6 revisions)
2026-06-04 blundell@chromium.org Enable linking vulkan loader dynamically on Mac

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC jmadill@google.com,nicolettep@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Ubuntu24.04-Clang-x86_64-Release-ANGLE;skia/skia.primary:Build-Mac-Clang-arm64-Release-ANGLE;skia/skia.primary:Test-Win11-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win11-Clang-Dell3930-GPU-GTX1660-x86_64-Debug-All-ANGLE
Tbr: nicolettep@google.com
Change-Id: Ibd3af732c5097245efc4b266aba53ff6a2a0ea00
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1255440
Commit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
…usage"

This reverts commit 8eb1070.

Reason for revert: test failing on Cuttlefish in Skia->Android roll

Original change's description:
> Add public API to query a serialized key for external format usage
>
> In order to allow serialized keys that contain external formats to be skipped over by precompilation we need some query. This is, perhaps, the simplest way to do this.
>
> We could also hide it somewhere and make it only available to Android.
>
> Bug: b/482036727
> Bug: b/498213682
> Change-Id: Ife5d4eaa31d39a5b304f7ecec02b77eeb03b400b
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1248236
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>

Bug: b/482036727
Bug: b/498213682
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: I56bb72ed369464710d898c029fdee6de781c0dc8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1255237
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
SkScalarHalf and SkRectPriv::HalfWidth produced slightly different
results when the value is big (due to Units of Least Precision [ULP]).

This uses a better comparison for floats.

Bug: oss-fuzz:511391129
Change-Id: Ia3fc54c8f54222e03b9a84b208211351c1bb7719
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1254096
Reviewed-by: Florin Malita <fmalita@google.com>
https://chromium.googlesource.com/vulkan-deps.git/+log/78036a90f143..8b51d6332f98

Also rolling transitive DEPS:
  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/9b51d3d78717e29efd75adf1856cdbcc644eda7a..902e360d8e82c4a0015a035b971a5402e23413ca
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/015e25c3c91b70eb1a754d36fb14c4ba6ad9b0b9..45834b722e29ca6968f3811ae930eae7bb73e9e8
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries/+log/8383c46b129c2b3a5f3833e602d946d2fcc57e39..1eb9fdda3c16757aaf2fd16773733a90f519e50b

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-skia-autoroll
Please CC nicolettep@google.com,skiabot@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Ubuntu24.04-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win11-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: nicolettep@google.com
Change-Id: I2bef543ab50786be9ab94f2f0379857a9c6bebd1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1255759
Bot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
Manual roll requested by robertphillips@google.com

https://chromium.googlesource.com/angle/angle.git/+log/1184faa057e3..0bcdad042d68

2026-06-05 abdolrashidi@google.com Vulkan: Remove assert from RGB565 load function
2026-06-05 lexa.knyazev@gmail.com Remove GL_ANGLE_lossy_etc_decode
2026-06-05 kkinnunen@apple.com Metal: Expose GL_MESA_framebuffer_flip_y
2026-06-05 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 69c770f1ec4d to 169387bb6e56 (11 revisions)
2026-06-05 arthursonzogni@chromium.org GL: Extend RendererGL lifetime to fix SyncGL teardown UAF
2026-06-05 lehoangquyen@chromium.org Metal: enable EGL_EXT_create_context_robustness
2026-06-05 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from a1c3b827fcf0 to 2b631f486ca2 (642 revisions)
2026-06-05 blundell@chromium.org [Mac] Find Vulkan dylib when ANGLE is statically linked

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC jmadill@google.com,nicolettep@google.com,robertphillips@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Ubuntu24.04-Clang-x86_64-Release-ANGLE;skia/skia.primary:Build-Mac-Clang-arm64-Release-ANGLE;skia/skia.primary:Test-Win11-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win11-Clang-Dell3930-GPU-GTX1660-x86_64-Debug-All-ANGLE
Tbr: nicolettep@google.com,robertphillips@google.com
Test: Test: angle_end2end_tests --gtest_filter="MultithreadingTestES3.MultithreadFenceDraw/ES3_OpenGL" under ASan
Change-Id: Ia500d43d5ba38f21425c56de6a354f17fc8168bf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1255760
Commit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
This shouldn't happen during normal use [1] but if the data
is corrupted, there are some assumptions that can can cause
issues, like the ones linked in the bug.

This rejects those and turns one assert into an actual runtime
check to provide defense in depth.

[1] https://github.com/google/skia/blob/9eecbdc30f7da675edab96974b23174a9d521e0c/src/text/gpu/SubRunContainer.cpp#L1578-L1581

Bug: 520113415
Fixed: 520113415
Change-Id: I6ec23df9a23ea588fa89f7a62dc1f197fe3905fd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1256016
Commit-Queue: Kaylee Lubick <kjlubick@google.com>
Reviewed-by: Thomas Smith <thomsmit@google.com>
https://chromium.googlesource.com/vulkan-deps.git/+log/8b51d6332f98..763d7fb65f73

Also rolling transitive DEPS:
  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/902e360d8e82c4a0015a035b971a5402e23413ca..f3f1169512c713d979a7aa1bc0c6c0fd89f0a85f
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools/+log/e3d18f90c0b8ef1f52539e0674a42f0adfe30381..68749eafbf27114a1dd807d6c870e53306673e64

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-skia-autoroll
Please CC nicolettep@google.com,skiabot@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Ubuntu24.04-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win11-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: nicolettep@google.com
Change-Id: I888017f8bbcebc545ee15f965e6273edb5fc9a0a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1256196
Bot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
Manual roll requested by robertphillips@google.com

https://dawn.googlesource.com/dawn.git/+log/a36d189db2e8..23cf554e645f

2026-06-06 lokokung@google.com Reland "[native] Guarantee thread safety during the map async callback."
2026-06-06 chouinard@google.com Update LICENSE
2026-06-06 dsinclair@chromium.org Revert "Fix location selection for pixel center polyfill."
2026-06-06 ted.lin0000@gmail.com Enable Wayland support by default on Linux standalone builds
2026-06-05 wcandillon@gmail.com fix(🐛): Vulkan: Fix double force-set of VulkanUseExtendedDynamicState
2026-06-05 diyou.dev@gmail.com Reland "Add a c++20 module interface unit generation rule"
2026-06-05 dawn-automated-expectations@chops-service-accounts.iam.gserviceaccount.com Roll third_party/webgpu-cts/ a4af861a0..70b970834 (1 commit)
2026-06-05 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 69c770f1ec4d to 169387bb6e56 (11 revisions)
2026-06-05 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll DirectX Shader Compiler from 517dd5eb5d8c to 8ed708842c1c (1 revision)
2026-06-05 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 8240611f3d68 to 1184faa057e3 (10 revisions)
2026-06-05 dsinclair@chromium.org Fix location selection for pixel center polyfill.

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC cwallez@google.com,robertphillips@google.com,shrekshao@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Ubuntu24.04-Clang-x86_64-Debug-Graphite_Dawn_Vulkan;skia/skia.primary:Test-Mac14-Clang-MacMini9.1-GPU-AppleM1-arm64-Debug-All-ASAN_Graphite_Dawn_Metal;skia/skia.primary:Test-Win11-MSVC-Golo-GPU-QuadroP400-x86_64-Release-All-Graphite_Dawn_D3D12;skia/skia.primary:Test-Win11-MSVC-Golo-GPU-QuadroP400-x86_64-Release-All-Graphite_Dawn_D3D11
Bug: None
Tbr: shrekshao@google.com,robertphillips@google.com
Change-Id: I0bee3232a624522fe6f9400779935bd6dc19ebb5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1256256
Bot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
https://chromium.googlesource.com/vulkan-deps.git/+log/763d7fb65f73..940d8e3840d0

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-skia-autoroll
Please CC nicolettep@google.com,skiabot@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Ubuntu24.04-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win11-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: nicolettep@google.com
Change-Id: I29aa871913fb77e61e20436a4389d3b3b70bfb3b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1256276
Bot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
https://chromium.googlesource.com/vulkan-deps.git/+log/940d8e3840d0..11839f4fa73a

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-skia-autoroll
Please CC kjlubick@google.com,skiabot@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Ubuntu24.04-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win11-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: kjlubick@google.com
Change-Id: I94b5f1cebd1c545cf5ff14af405d8bac671fe859
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1256476
Bot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
https://chromium.googlesource.com/vulkan-deps.git/+log/11839f4fa73a..646f0b0196b1

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-skia-autoroll
Please CC kjlubick@google.com,skiabot@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Ubuntu24.04-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win11-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: kjlubick@google.com
Change-Id: Ia9ce878db50ce61d17eb515fcf3833fd6e2e4537
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1256596
Bot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
kjlubick and others added 25 commits June 24, 2026 15:15
SkScalar is always a float so we can just do the division inline and
remove the helper. This is part of the slow process of removing SkScalar
things.

Client CLs:
 - https://crrev.com/c/7994102

Change-Id: I4a68bac51a0665ed064b8c886f766614899f9188
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1255016
Reviewed-by: Alexis Cruz-Ayala <alexisdavidc@google.com>
Commit-Queue: Kaylee Lubick <kjlubick@google.com>
We’ve added support for decode in earlier CLs, but not encode, this CL
adds the missing support for encoding.

Also added sBIT encoding support and refactored the gainmap tests to use
a shared helper.

BUG=381292460

Change-Id: Idc8fe5ff124e466ea4cabb6665cb4544c5b6591c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1277076
Commit-Queue: Elliot Sisteron <elliotsisteron@google.com>
Reviewed-by: Florin Malita <fmalita@google.com>
* Adds AtomicMax, which is required for prefix sum

Change-Id: I44450682fe2bb12884a3f8a6991b8b29b012e135
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1273077
Commit-Queue: Thomas Smith <thomsmit@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Client CLs:
- http://ag/40606013

Change-Id: I24d437ba1259aa80b8f2d87008ea94f135032f5f
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1277956
Commit-Queue: Kaylee Lubick <kjlubick@google.com>
Auto-Submit: Kaylee Lubick <kjlubick@google.com>
Commit-Queue: Thomas Smith <thomsmit@google.com>
Reviewed-by: Thomas Smith <thomsmit@google.com>
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8678066310731806737

depot_tools:
https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/0bf4e02d2e11d43597ddc3e3fd9f82d331a6003d~..226aa79e9947adc1e9e0c79f96b58562516535d9
  0bf4e02 (philwo@google.com)
      Add depot_tools_cache_dir helper
  226aa79 (rop@google.com)
      Reland "[metadata] Restrict GPL licenses to non-shipped packages"

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ibc5e00a89285df9245a177970021cbcd9f559edf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1278097
Bot-Commit: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
This is an automated CL created by the recipe roller. This CL rolls
recipe changes from upstream projects (depot_tools, recipe_engine) into this repository.

The build that created this CL was
https://ci.chromium.org/b/8678060648585028929

depot_tools:
https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/e21955f712eec607f7074dfdc02cd8340e12674d
  e21955f (nerima@google.com)
      fetch: Add --git-cache to speed up the initial checkout

recipe_engine:
https://chromium.googlesource.com/infra/luci/recipes-py.git/+/d2247e190314383f43378dd5cc20ef5e658bbfb4
  d2247e1 (mohrr@google.com)
      [post_process] Add StepCwdEquals

Please check the following references for more information:
- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller
- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback
- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md

Use https://goo.gl/noib3a to file a bug.

R=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Ignore-Freeze: Autoroller
Bugdroid-Send-Email: False
Change-Id: I0d6d21cc452803fdf264e0eda052e7ba55457cc5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1278082
Commit-Queue: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
Bot-Commit: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com <recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com>
https://swiftshader.googlesource.com/SwiftShader.git/+log/2843cbcc714f..0255eccc9824

2026-06-24 kyslov@google.com Vulkan: Support AHARDWAREBUFFER_FORMAT_YCbCr_P210 plane pitch and offset

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-skia-autoroll
Please CC bsalomon@google.com,michaelludwig@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Test-Ubuntu24.04-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader
Bug: None
Tbr: michaelludwig@google.com
Change-Id: Iaffde9e56981eb6b983ec39091dfec9e183b6fd8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1278256
Commit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
https://dawn.googlesource.com/dawn.git/+log/636a470ddb7f..9c5cdb25bf88

2026-06-25 shrekshao@google.com Refine --system-header-prefix include paths and warning flags
2026-06-25 jrprice@google.com Manual roll webgpu-headers
2026-06-25 cwallez@chromium.org [dawn][wire] Remove server/client Read/WriteHandles
2026-06-25 rharrison@chromium.org [Fuzz Benchmarking] 1/3: Refactor existing code
2026-06-25 bsheedy@google.com Switch gitiles client to use auth
2026-06-24 chouinard@google.com [infra] Bazel build Tint in CI/CQ
2026-06-24 dneto@google.com remove petermcneeley from OWNERS
2026-06-24 dneto@google.com [cts]: Triage shader validation failures with f16 in immediates
2026-06-24 cwallez@chromium.org [dawn][wire] Use MemoryHandle instead of Read/WriteHandle
2026-06-24 shaoboyan@microsoft.com [cts] setImmediates: Failure instead of Skip
2026-06-24 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll DirectX Shader Compiler from e68e6b1aa7ea to e39cf36f5b2a (2 revisions)
2026-06-24 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 2cbd2792f24c to 195369f6675e (18 revisions)
2026-06-24 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 0002528a4c5c to 713f8bc9d6e5 (2011 revisions)

Also rolling transitive DEPS:
  https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/7808b6332fd5a14b7a8f7c76db9d1b78f5fc1117..7cb4ce55353602692ed0ff544584d51f4468b440

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dawn-skia-autoroll
Please CC cwallez@google.com,jrprice@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Ubuntu24.04-Clang-x86_64-Debug-Graphite_Dawn_Vulkan;skia/skia.primary:Test-Mac14-Clang-MacMini9.1-GPU-AppleM1-arm64-Debug-All-ASAN_Graphite_Dawn_Metal;skia/skia.primary:Test-Win11-MSVC-Golo-GPU-QuadroP400-x86_64-Release-All-Graphite_Dawn_D3D12;skia/skia.primary:Test-Win11-MSVC-Golo-GPU-QuadroP400-x86_64-Release-All-Graphite_Dawn_D3D11
Bug: None
Tbr: jrprice@google.com
Change-Id: I58c1bcb4838d097a0c8b8bf89f127dddccc8385b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1278316
Commit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
https://skia.googlesource.com/buildbot.git/+log/4482c65cbc8d..604794226cd6

2026-06-24 borenet@google.com Reapply "[autogardener] Calculate token usage more accurately"
2026-06-24 borenet@google.com Revert "[autogardener] Calculate token usage more accurately"
2026-06-24 borenet@google.com [autogardener] Calculate token usage more accurately
2026-06-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll jsfiddle-final from 0ab2e0e72100 to 810a4a57062e
2026-06-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll debugger-app-final from 6caacc6f8c8d to bcd084fc5dc1
2026-06-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Depot Tools from 6e5a13d2598e to a8c9ac983296 (3 revisions)
2026-06-24 skia-autoroll@skia-public.iam.gserviceaccount.com Roll command_wrapper from 2aed8cf41f807018b... to fccaef926ff931c0d... (1 revision)
2026-06-23 borenet@google.com Add a tool to check tasks.json
2026-06-23 borenet@google.com [autogardener] Actually use the request and token count metrics

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/infra-skia
Please CC borenet@google.com,skiabot@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Skia Infra: https://bugs.chromium.org/p/skia/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: borenet@google.com
Change-Id: I21b8b4ba3d2dc8d9e9e350d9d71f5fa979e16615
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1278140
Bot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
https://chromium.googlesource.com/angle/angle.git/+log/195369f6675e..b9aa07e9d122

2026-06-24 cclao@google.com Vulkan: Fix the bug related to queue family global priority
2026-06-24 cclao@google.com Vulkan: Disable supportsGlobalPriority feature for all
2026-06-24 bsheedy@chromium.org Generate gn_isolate_map.pyl
2026-06-24 syoussefi@chromium.org MSL/AST: Handle non-unary/binary expr in loop-forward-progress
2026-06-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from e73c8345b94e to 5481b8c77757 (9 revisions)
2026-06-24 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from e23ff548502b to 3ebaa3a7d74a (745 revisions)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/angle-skia-autoroll
Please CC jmadill@google.com,michaelludwig@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Ubuntu24.04-Clang-x86_64-Release-ANGLE;skia/skia.primary:Build-Mac-Clang-arm64-Release-ANGLE;skia/skia.primary:Test-Win11-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE;skia/skia.primary:Test-Win11-Clang-Dell3930-GPU-GTX1660-x86_64-Debug-All-ANGLE
Tbr: michaelludwig@google.com
Change-Id: I30de1d83341b4089282eb0c09d7d23e483ab44a3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1278276
Commit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
https://chromium.googlesource.com/vulkan-deps.git/+log/c3cf0d4fcb1d..4cd4bfcf818e

Also rolling transitive DEPS:
  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers/+log/c63848ecf2200425511319fd8bf2c17b751e501e..daa093dd29aab8cbb6562b808370562f56e399fb

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-skia-autoroll
Please CC michaelludwig@google.com,skiabot@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Ubuntu24.04-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win11-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: michaelludwig@google.com
Change-Id: I5a2172b4f4095f42d8be23e35aca9f13a48a25ea
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1278396
Bot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
This reverts commit a02df04.

Reason for revert: Blocking Chrome roll

Failure Link: <LINK TO FAILURE>

Original change's description:
> Add support for gainmaps in `SkPngRustEncoder`.
>
> We’ve added support for decode in earlier CLs, but not encode, this CL
> adds the missing support for encoding.
>
> Also added sBIT encoding support and refactored the gainmap tests to use
> a shared helper.
>
> BUG=381292460
>
> Change-Id: Idc8fe5ff124e466ea4cabb6665cb4544c5b6591c
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1277076
> Commit-Queue: Elliot Sisteron <elliotsisteron@google.com>
> Reviewed-by: Florin Malita <fmalita@google.com>

Bug: 381292460
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: I111a070ded8dd206e92f8ef8c650c8226c7e84f5
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1278676
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Change-Id: I13f6ac369246ba001a3ccf5737990f348cea5783
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1277876
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Thomas Smith <thomsmit@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
When, for a given OpsTask, the stencil ops are discard/store there was a possibility of uninitialized values to creep into the stencil buffer.

This CL reduces the cases in which discard will be used, mapping the problematic cases to clear/store.

Bug: b/502351526
Change-Id: Ic5d7e352d4c59426f103f2cfc39d5cf3fd879213
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1269136
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
This reverts commit e1e2a56.

Reason for revert: Reland the change with a build flag to prevent test failures that are sensitive to the encdoded data.

Original change's description:
> Revert "Add support for gainmaps in `SkPngRustEncoder`."
>
> This reverts commit a02df04.
>
> Reason for revert: Blocking Chrome roll
>
> Failure Link: <LINK TO FAILURE>
>
> Original change's description:
> > Add support for gainmaps in `SkPngRustEncoder`.
> >
> > We’ve added support for decode in earlier CLs, but not encode, this CL
> > adds the missing support for encoding.
> >
> > Also added sBIT encoding support and refactored the gainmap tests to use
> > a shared helper.
> >
> > BUG=381292460
> >
> > Change-Id: Idc8fe5ff124e466ea4cabb6665cb4544c5b6591c
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1277076
> > Commit-Queue: Elliot Sisteron <elliotsisteron@google.com>
> > Reviewed-by: Florin Malita <fmalita@google.com>
>
> Bug: 381292460
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Change-Id: I111a070ded8dd206e92f8ef8c650c8226c7e84f5
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1278676
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>

Bug: 381292460
Change-Id: I1139e1d7c6e93669b86adf8299dc31bdd163c2ac
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1278716
Reviewed-by: Łukasz Anforowicz <lukasza@google.com>
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Elliot Sisteron <elliotsisteron@google.com>
Change-Id: I20db4ef799c5665409359d4dfcf15be80b7cac24
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1278776
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Thomas Smith <thomsmit@google.com>
Change-Id: Ia35c2497243b3cbdcff26ee875429ad3b350c710
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1278796
Reviewed-by: Kaylee Lubick <kjlubick@google.com>
Commit-Queue: Thomas Smith <thomsmit@google.com>
Tested in a follow up CL which implements drawImageLattice for Graphite.
Also removed the SkBitmap that was defined and copied to by the image since it didn't seem used anywhere.

Bug: b/527111971
Change-Id: I6c84afdef82ab72aabc075cfe68533b71741dc24
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1277836
Commit-Queue: Nathan Sanchez <nathanasanchez@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
This CL fixes two potential issues in `SkPngRustCodec` related to
incremental decoding and frame offsets:

1. Incremental subset decoding row-skipping: during incremental
decoding, if the stream returned `kIncompleteInput`, subsequent calls to
`incrementalDecodeXForm` would re-initialize the local `rowNum`. This
caused the codec to repeatedly skip rows that had already been
processed, resulting in incorrect pixel offsets and corrupted output.
This is fixed by moving the tracking variables (`fCurrentSourceRow` and
`fRowsWrittenToOutput`) to the persistent `DecodingState` struct.

2. Frame `yOffset` row limit calculation: in `startDecoding`, when no
subset was specified, `fLastRow` was calculated as `frame->yOffset() +
frame->height() - 1`. However, the decoder processes rows relative to
the frame itself (`0` to `height - 1`), not the destination canvas.
Setting it to include `yOffset` made the limit conceptually too large.
Note that this was behaviorally harmless because the underlying Rust
reader internally tracks height and returns an empty row, which
terminates the loop immediately.

A regression test `RustPngCodec_subset_halting` has been added which
uses `HaltingStream` to force incremental decoding and exposes the
row-skipping issue by diffing it against a one shot decode.

Similarly to https://skia-review.git.corp.google.com/c/skia/+/1275476,
I’ve tried to extract a separate CL for this fix from the WIP sampling
CL (https://skia-review.git.corp.google.com/c/skia/+/1274036). This fix
was also partially ported over from
https://skia-review.git.corp.google.com/c/skia/+/919097.

BUG=378697848

Change-Id: Icba30ea51061f22da9774becb083db71d04b1072
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1278836
Reviewed-by: Florin Malita <fmalita@google.com>
Reviewed-by: Łukasz Anforowicz <lukasza@google.com>
Commit-Queue: Elliot Sisteron <elliotsisteron@google.com>
This reverts commit 3c878f4.

Reason for revert: breaking raster-only builds

Failure Link: <LINK TO FAILURE>

Original change's description:
> GM_lattice add Graphite readPixel support
>
> Tested in a follow up CL which implements drawImageLattice for Graphite.
> Also removed the SkBitmap that was defined and copied to by the image since it didn't seem used anywhere.
>
> Bug: b/527111971
> Change-Id: I6c84afdef82ab72aabc075cfe68533b71741dc24
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1277836
> Commit-Queue: Nathan Sanchez <nathanasanchez@google.com>
> Reviewed-by: Michael Ludwig <michaelludwig@google.com>

Bug: b/527111971
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: I6b8821f533cdee7becc2957ee9a52b6f56930223
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1279216
Auto-Submit: Michael Ludwig <michaelludwig@google.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>
https://chromium.googlesource.com/vulkan-deps.git/+log/4cd4bfcf818e..4751e35bc85f

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-skia-autoroll
Please CC michaelludwig@google.com,skiabot@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in skia: https://bugs.chromium.org/p/skia/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: skia/skia.primary:Build-Ubuntu24.04-Clang-x86_64-Release-ANGLE;skia/skia.primary:Test-Win11-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-ANGLE
Bug: None
Tbr: michaelludwig@google.com
Change-Id: I53cf617119dc54d9caaedfca608051d94d87319e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1278914
Commit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
Some older Mali drivers will incorrectly return VK_TIMEOUT from
vkWaitForFences() with infinite timeout when a signal handler fires. The
call can be safely retried if that happens.

Bug: b/485225932
Change-Id: I5c075f29ac90b96787621ee87bfad574e4978d10
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1266178
Commit-Queue: Kyle Charbonneau <kylechar@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
This is a first step towards enabling sampling in `SkPngRustCodec`.
Right now, attempting to use sampling crashes, so temporarily disable it
entirely. Follow up CLs will first implement sampling for non-interlaced
and then interlaced images.

This change also adds some tests that will come in handy in later CLs.

BUG=378697848

Change-Id: Ied7c32991286524e2175ebfd4ccf32ae28c99175
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1279136
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Elliot Sisteron <elliotsisteron@google.com>
# Conflicts:
#	DEPS
#	bazel/external/dawn/dawn_files.bzl
#	src/gpu/ganesh/ops/AtlasTextOp.cpp
#	src/gpu/ganesh/ops/StrokeTessellateOp.cpp
#	src/gpu/graphite/dawn/DawnGraphicsPipeline.cpp
#	src/gpu/graphite/render/SDFTextLCDRenderStep.cpp
#	src/ports/SkTypeface_mac_ct.h
- include/core/SkMilestone.h: pin SK_MILESTONE back to 150 (we track
  upstream main but do not bump the user-facing milestone in tip mode;
  required so the build's VERSIONS.txt <-> SkMilestone.h consistency
  check passes).
- src/c/sk_font.cpp: update include path from include/private/base/
  SkTemplates.h to include/private/SkTemplates.h after upstream moved
  several headers (include/private/base/Sk*.h -> include/private/Sk*.h).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
mattleibow added a commit to mono/SkiaSharp that referenced this pull request Jun 26, 2026
Add a main (tip) mode to the Skia upstream sync (#4254)

The auto-skia-sync workflow could only track chrome/m<N> milestone
branches (current/next/latest). There was no way to sync against the
in-development tip of upstream Skia, so we couldn't smoke-test bleeding-
edge API/binding changes ahead of a milestone branch cut.

Add a dispatch-only `main` mode that merges google/skia `main` HEAD into
SkiaSharp `main` / mono/skia `skiasharp`. It is explicitly NOT a version
bump: the target milestone stays equal to main's current milestone (no
soname/nuget/milestone changes), and it uses a distinct head branch so a
tip sync never collides with the `current` milestone sync branch.

Changes:

  * skia-sync-detect.sh: introduce an UPSTREAM_REF concept (the google/skia
    ref we merge *from*) so the gate and prompt aren't hardcoded to
    chrome/m<TARGET>. `mode=main` resolves UPSTREAM_REF=main,
    TARGET=MAIN_MS, HEAD_BRANCH=skia-sync/main; all other modes keep
    chrome/m<TARGET> + skia-sync/m<TARGET>. Release detection stays skipped
    for main (TARGET == MAIN_MS), so current == target. Emit a new
    upstream_ref output and gate on ${UPSTREAM_REF}.
  * auto-skia-sync.md: add `main` to the workflow_dispatch mode options,
    surface upstream_ref as a pre-activation output / in the prompt header /
    in the skia-sync-env.sh heredoc, fetch the resolved upstream ref in
    Phase 1 instead of a hardcoded chrome/m<target>, and document the
    tip/bleeding-edge semantics. Lock recompiled (model + native build setup
    unchanged).
  * skia-sync-push-prs.sh: make PR titles/bodies UPSTREAM_REF-aware
    ("Merge upstream Skia main (tip)" vs the milestone titles), defaulting
    to chrome/m<TARGET> when unset for backward compat.

Validation: `gh aw compile` = 0 errors (claude-opus-4.7 preserved);
shellcheck --severity=style clean on all three scripts; a stubbed detect
smoke test confirms current/next/latest/main/default/--milestone N/empty-
milestone resolve correctly and that mode=main yields upstream_ref=main,
head_branch=skia-sync/main, target == current == main's milestone.

A real dispatched run of the new path (actions/runs/28208236195) gated
PROCEED, merged the main tip (~291 commits, 7 conflicts all resolved),
built and tested green on Linux x64 (5569 passed / 0 failed), and opened
the expected draft PRs #4255 and mono/skia#267.

Co-authored-by: Matthew Leibowitz <mattleibow@live.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@mattleibow

Copy link
Copy Markdown
Collaborator Author

Closing stale skia-sync validation branch/PR to give the refactored auto-skia-sync workflow a clean slate for a fresh run.

@mattleibow mattleibow closed this Jun 26, 2026
@mattleibow mattleibow deleted the skia-sync/main branch June 26, 2026 20:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.