Skip to content

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

Draft
mattleibow wants to merge 36 commits into
skiasharpfrom
skia-sync/main
Draft

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

Conversation

@mattleibow

Copy link
Copy Markdown
Collaborator

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

[skia-sync] Merge upstream main bug fixes into skiasharp (m151)

This is a main-tip sync (upstream/mainskiasharp), not a milestone
bump. Both current and target milestones stay at m151; the upstream tip
was 0fc8ba72e802af1003cf3e8cbbcda1fffdad88c1 at merge time.

Range merged

  • Base: e1be35b25f2a32371d9a1924ef4d18e62ccff1f3 (previous mono/skia skiasharp HEAD)
  • Upstream tip: 0fc8ba72e802af1003cf3e8cbbcda1fffdad88c1 (google/skia main)
  • Commits merged: 34 upstream commits since the last sync
  • Merge commit: e34a0689b57959482c1930ae90a1b0797a3592d3
  • Final head: 0e4c4c4a1fabc94cbe82835ae41292f37ce92751 (merge + 1 fork-patch commit)

Conflicts resolved

Only two files conflicted during the merge — both required the
verify-upstream-or-reapply policy from the update-skia skill.

1. include/core/SkMilestone.h (reverted to 151)

Upstream advanced SK_MILESTONE from 151 → 152 in commit 3149a8f0ac
(Update Skia milestone to 152) as part of their normal branch-cut cadence.

We reverted the merge result back to #define SK_MILESTONE 151 because:

  • src/c/sk_general.cpp reads SK_MILESTONE and returns it via the C API
    to C#.
  • The value must match scripts/VERSIONS.txt on the SkiaSharp side (also
    151); otherwise the runtime "incompatible native library" smoke test
    fails.
  • This is a release-line-adjacent bug-fix sync, not a milestone bump —
    the milestone will advance in a dedicated update-skia run.

2. DEPS (kept active pins, refreshed disabled-dep hashes)

  • Kept our active pins unchanged:
    • brotli028fb5a2 (our vendored version)
    • vulkanmemoryallocatorc788c521 (VMA 3.2.1 — deliberately pinned in PR Update vulkanmemoryallocator to 3.2.1 #152)
    • vulkan-headers74d8a6cb
    • spirv-cross → active pin retained
  • Refreshed commented-out disabled-dep hashes to upstream latest
    (angle2, swiftshader, vulkan-deps, spirv-headers, spirv-tools,
    vello, vulkan-tools, vulkan-utility-libraries, unicodetools) so the
    only diff from upstream on those lines is the leading #.

bazel/deps.json had drifted from DEPS already (we don't build with Bazel)
and was accepted from upstream unchanged.

C API / fork patches

New fork patch this sync

[skiasharp] Keep VulkanAMDMemoryAllocator compatible with pinned VMA 3.2.1
(commit 0e4c4c4a1f)

Reverts the additions from upstream 272ed8a1f3 (Fix Vulkan Memory Allocator) that reference API surface only present in newer VMA versions:

  • SKGPU_COPY_FUNCTION_KHR(GetPhysicalDeviceProperties2) — the pinned VMA
    3.2.1 VmaVulkanFunctions struct has no
    vkGetPhysicalDeviceProperties2KHR field (only the memory-properties
    variant).
  • VmaAllocationCreateInfo::minAlignment and ::priority (2 places each) —
    not present in the 3.2.1 struct.

We deliberately pin VMA to 3.2.1 (see PR #152), so this patch adapts the
upstream file to compile against our pinned dep rather than bumping the pin.

Pre-existing fork patches

No pre-existing fork patches were affected. Snapshot in
fork-patches-before.txt (artifact) was unchanged after the merge.

C API surface changes

None. pwsh .agents/skills/update-skia/scripts/regenerate-bindings.ps1
reported "No new functions found" — the C API shim and the generated C#
SkiaApi.generated.cs did not change.

Items needing human attention

  • VMA fork patch is Linux-tested only. Only Linux x64 native was built in
    this workflow. Windows/macOS/iOS/Android/WASM builds should verify that
    removing the two info.priority = 1.0f and info.minAlignment = 0
    assignments and the GetPhysicalDeviceProperties2 copy does not regress
    anything on those platforms.
  • VMA pin re-evaluation. If we intend to eventually adopt the new
    upstream VMA API (priority/minAlignment), we should bump the
    vulkanmemoryallocator pin in DEPS and drop this fork patch. Filed here
    as a follow-up.

Created by skia-upstream-sync.

ElliotSis and others added 30 commits June 29, 2026 11:14
- Update `getSampler` to allow sampling for interlaced images, leaving
APNG unsupported
- Allocate the temporary `fPreblendBuffer` on-demand in `initializeSamplerParams` when sampling interlaced images
- Update the `getSubsetFromFullImage` method name, comments and loop to
use the vertical sampler (`rowNeeded`) and terminate early when the
sampled dimension is reached
- Update unit tests to run the full pixel-comparison against libpng for
interlaced sub-sampling and clean up obsolete test helpers

BUG=378697848

Change-Id: I50ef0397954605e50d31a26657bc71e4abbb8813
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1279436
Reviewed-by: Łukasz Anforowicz <lukasza@google.com>
Commit-Queue: Elliot Sisteron <elliotsisteron@google.com>
Previously ColorSpaceTransformPremul (unlike the more complex CS
transform snippets) was able to merge the unpremul branch and the
force-opaque/premul/no-op into a single if-else statement.

With PreAlpha+PostAlpha, there was one if-else for unpremul and
force-opaque and a separate always-on expression to handle premul
and no-op. This seemed to have a negative impact on performance for
some devices: https://skia-perf.luci.app/t/?begin=1781887113&end=1781887114&subset=all

This rewrites the logic so that PreAlpha can also support a premul
operation, and in the case where the whole colorspace conversion
would have been PreAlpha+PostAlpha, it can just be PreAlpha instead.

While this adds a couple of instructions to PreAlpha, it's hopefully
negligible. We'll see.

Bug: 509897459
Change-Id: Ib5bafb13d4db27d135b16d8dfbd851d7a2e8c086
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1279896
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Use SkSafeMath to prevent int/size_t overflow.

Bug: b/511820841
Change-Id: I4c5fb57e7e4b42288500a39b3b4685362bd05588
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1281156
Reviewed-by: Kaylee Lubick <kjlubick@google.com>
Commit-Queue: Florin Malita <fmalita@google.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/8677639119728428705

recipe_engine:
https://chromium.googlesource.com/infra/luci/recipes-py.git/+/bd1d04a9cdcf0706a1509affa7f231d75d559953
  bd1d04a (gredelston@google.com)
      test: Optimize uncovered_modules check to avoid redundant imports

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: I4f101822f1420d49adda886d72f05cb5cd38ce81
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1281196
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>
https://chromium.googlesource.com/vulkan-deps.git/+log/0af4fee9206d..285f3b19c49c

Also rolling transitive DEPS:
  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/f25a3b067eed21f6ce43186942eec3c407cade02..d5bbf95d87dd6d2694fbf09acfb42a00c93575e8

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 maxhudnell@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: maxhudnell@google.com
Change-Id: I9b199e13ca3a9754a64983a37c60f8512910d5f1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1281197
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>
Showcases the new extended text metrics features [1], in particular text
clusters functionality.

Implement text editing functionality with text laid out along a path.
This exercises some of the tricky text-related APIs: complex text
shaping with glyph repositioning, per-glyph metrics and selection boxes

Some of the features:

 * experimental API detection with legacy layout fallback
 * basic editing (cursor movement and insertion)
 * mouse repositioning and selection
 * copy-paste support
 * three path shapes (circle, wave, spiral)
 * three alignment modes (left, center, right)
 * four baseline modes (alphabetic, middle, top, bottom)
 * several font options
 * path scaling control

[1]
https://github.com/fserb/canvas2D/blob/master/spec/enhanced-textmetrics.md

Change-Id: I79d1c8eb08b2c4b4d6280486056bb2ba02126c21
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1281096
Reviewed-by: Kaylee Lubick <kjlubick@google.com>
Reviewed-by: Julia Lavrova <jlavrova@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
The sRGB transfer function snippet was already paying the cost of
branching for optimizing the identity case, but add_xfer_fn was not
adjusting the gamma value to be 0 to take advantage of it.

add_generic_xfer_fn was already doing this.

Bug: 509897459
Change-Id: Ibf89ae05e3cc572f72b0fcfb42c1693d98901f00
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1279897
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@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/8677628427149747361

depot_tools:
https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/38a003fafeb0cf0de9fd563806a5602f28d9f6db
  38a003f (no-reply@google.com)
      repo: Update from upstream

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: I1f29474b3daf681320d4bd5c6608a3dc9f5d6f61
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1281316
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>
When looking at the assembly for various SkRP functions, I noticed
dividing by integers were the biggest stages in terms of cycles
per stage [1] all weighing in 400+ cycles per iteration. I looked into
why and discovered the compiler (even with LTO in chromium) was
generating [2] a bunch of stack spills and div commands.

x64 SIMD up through AVX512 lack a vectorized integer division operator.
They do have vectorized double division and since doubles have 53
bits of mantissa, we use them to do 32 bit integer division w/o
losing precision.

We have to be a bit careful when dealing with unsigned integers since
before AVX512 there wasn't a built in way to turn unsigned integers
to doubles. I chose to cap unsigned ints at the signed INT_MAX because
I don't think we'd have normal math get into that range (e.g. during
a shader run).

I iterated on this a few times to get things faster. For example:
 - Even though AVX512 can use 512-bit (zmm) instructions for division,
   it was slower than handling things in 256-bit (ymm) registers.
 - Similarly, in the AVX2 path, there was excess overhead in the
   skrp_div_uint_1 benchmark, so I handled this in 128-bit blocks
   to avoid contention and dependencies that caused latency.

Before
```
$ ./nanobench_sse2_control --match rp_div
min	median	mean	max	stddev	samples	bench
920ns	923ns	926ns	956ns	1%	▁▂▂▁▂▂█▁▁▁	skrp_div_uint_4
352ns	353ns	355ns	375ns	2%	▁▁▁▁▁▂▁▁▂█	skrp_div_uint_1
922ns	925ns	931ns	970ns	2%	▁▁▁▁█▁▄▁▁▁	skrp_div_int_4
400ns	401ns	402ns	413ns	1%	▂▂▂▂▁█▂▂▂▂	skrp_div_int_1
$ ./nanobench_ml3_control --match rp_div
min	median	mean	max	stddev	samples	bench
908ns	909ns	914ns	960ns	2%	▁▁▁▁▁▁█▁▁▁	skrp_div_uint_4
228ns	228ns	228ns	229ns	0%	█▂▅▁▄▄▃▂▂▁	skrp_div_uint_1
907ns	908ns	917ns	988ns	3%	▁█▁▁▁▁▁▁▂▁	skrp_div_int_4
400ns	401ns	401ns	410ns	1%	▂▁▂▁▂▁█▂▁▂	skrp_div_int_1
$ ./nanobench_ml4_control --match rp_div
min	median	mean	max	stddev	samples	bench
1.01µs	1.01µs	1.03µs	1.14µs	4%	▁█▁▁▁▁▁▁▁▁	skrp_div_uint_4
323ns	324ns	325ns	345ns	2%	▁▁▁▁▁▁▁▁█▁	skrp_div_uint_1
1.03µs	1.03µs	1.04µs	1.08µs	2%	▁▁▆▁▁▁▁▁▁█	skrp_div_int_4
332ns	333ns	332ns	333ns	0%	▆▄▃▂▆▆█▁▇▂	skrp_div_int_1
```
After
```
$ ./nanobench_sse2_with_change --match rp_div
min	median	mean	max	stddev	samples	bench
469ns	471ns	479ns	550ns	5%	▁▁▁▁▁█▁▁▁▁	skrp_div_uint_4  # -49%
355ns	356ns	357ns	361ns	0%	█▂▂▂▂▁▁▁▁▂	skrp_div_uint_1  # +1%
331ns	332ns	336ns	359ns	3%	▅▁▁█▁▁▁▁▁▁	skrp_div_int_4   # -64%
302ns	302ns	302ns	302ns	0%	▃▅▁▃▃▄▃█▃▆	skrp_div_int_1   # -25%
$ ./nanobench_ml3_with_change --match rp_div
min	median	mean	max	stddev	samples	bench
312ns	312ns	312ns	314ns	0%	█▇▃▅▂▁▂▂▄▂	skrp_div_uint_4  # -67%
162ns	163ns	166ns	193ns	6%	▁▁▁▁█▁▁▁▁▁	skrp_div_uint_1  # -29%
303ns	303ns	304ns	316ns	1%	▂▁▁▁▁▁█▁▁▁	skrp_div_int_4   # -67%
142ns	142ns	142ns	142ns	0%	▁▃▂▁█▂▂▁▁▂	skrp_div_int_1   # -65%
$ ./nanobench_ml4_with_change --match rp_div
min	median	mean	max	stddev	samples	bench
305ns	306ns	306ns	307ns	0%	█▄▁█▄█▃▃▂█	skrp_div_uint_4  # -70%
76.2ns	76.5ns	78.5ns	97.2ns	8%	▁▁█▁▁▁▁▁▁▁	skrp_div_uint_1  # -76%
303ns	303ns	306ns	337ns	3%	▁▁▁█▁▁▁▁▁▁	skrp_div_int_4   # -71%
76.1ns	76.8ns	77.5ns	84.4ns	3%	▁█▁▂▂▂▂▂▂▁	skrp_div_int_1   # -77%
```

There's also a noticeable improvement in the sse3 version in chrome
(even with its LTO). I had to update the llvm_mca script to handle
this missing namespace.

[1] http://screen/3pLy34PyNes4GRK
[2] http://gpaste/4735787433328640

Change-Id: I4f73ce041267adc4a030bd79443c708a56429965
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1233976
Commit-Queue: Kaylee Lubick <kjlubick@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 (recipe_engine) into this repository.

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

recipe_engine:
https://chromium.googlesource.com/infra/luci/recipes-py.git/+/5b5a25647d1d7f87c644c44848e58b34c6e5aebc
  5b5a256 (gredelston@google.com)
      [engine] Optimize inspect.stack() calls with sys._getframe()

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: I4256aa418762b2819879c618b5e3108460146c03
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1281416
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://skia.googlesource.com/buildbot.git/+log/c0e4e8a0a6bd..6810abaa66f5

2026-06-29 mordeckimarcin@google.com [Perf] unaligned stepfit feature flag
2026-06-29 mordeckimarcin@google.com Fix flaky WASM inmemorytraceparams test
2026-06-29 skia-autoroll@skia-public.iam.gserviceaccount.com Roll jsfiddle-final from fb8c6d6c373a to 03e98e8b553a
2026-06-29 skia-autoroll@skia-public.iam.gserviceaccount.com Roll command_wrapper from e92314cc0e96e4166... to b1782fd070fd7d8a9... (1 revision)
2026-06-29 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Depot Tools from 0b07c9299381 to c8f585f8380a (3 revisions)
2026-06-29 skia-autoroll@skia-public.iam.gserviceaccount.com Roll debugger-app-final from d541f52540e5 to 95d4a8841f9b

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: chromium:527445909
Tbr: borenet@google.com
Change-Id: I2c96e2a188c4dbed50a54dfeb72097b9d0d54220
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1281516
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/98dab44d9cd2..a32d31d2f123

2026-06-30 angle-autoroll@skia-public.iam.gserviceaccount.com Manual Roll vulkan-deps from f2b9fece7c67 to 0af4fee9206d
2026-06-29 cnorthrop@google.com Capture/Replay: Include inactive resources when retracing
2026-06-29 lexa.knyazev@gmail.com Refactor ValidateTexStorage
2026-06-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 82de21bc9ada to 9513633ed143 (930 revisions)
2026-06-29 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from 93834259e350 to 06ae3bf12ae5 (21 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,maxhudnell@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: maxhudnell@google.com
Test: Test: school_party_craft upgrade
Change-Id: I7c7593b4aa42398211248a16088e7d261f5f53c7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1281403
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/285f3b19c49c..c60153d2ad91

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/d2d8ded679e53c9f27c0c7a18750e661745886eb..8c2683390a4b10c0483e3b531555dfb841e2cd84
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools/+log/b7ae55b37cda76d16368c302f37cb0c7ea2f8409..a3431de1d1d6259369ab8739fcbb870da11d153d

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 maxhudnell@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: maxhudnell@google.com
Change-Id: Idbdc6f9867b997f13802d994aafb88b07c2bfbdd
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1281549
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>
- opt in to Enhanced Canvas TextMetrics origin trial
- use Intl.Segmenter in fallback mode for improved surrogate pairs
  handling
- disable "Experimental" toggle when the feature is not supported

Change-Id: I11d78d024ae283fe9f499ef2d9247a4a2ee15051
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1281796
Reviewed-by: Kaylee Lubick <kjlubick@google.com>
Commit-Queue: Kaylee Lubick <kjlubick@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
Auto-Submit: Florin Malita <fmalita@google.com>
Add support for 8-bit YUV400 monochrome AVIF/HEIC image decoding to Gray8
color type.

Previously, YUV400 (monochrome) formats were not recognized by Skia's
AVIF decoders. This adds detection of AVIF_PIXEL_FORMAT_YUV400 in both
SkCrabbyAvifCodec and SkAvifCodec.

- For SkCrabbyAvifCodec (Android platform), it maps to the
  AVIF_RGB_FORMAT_GRAY output format of the crabbyavif library.
- For SkAvifCodec (upstream standalone builds), since older libavif
  versions lack the grayscale output format, it implements a direct
  optimized Y-channel memory copy from the YUV planes to the Gray8
  destination buffer. Standard 8-bit depth is supported, while any other
  bit depths are rejected with kInvalidConversion.

Also adds unit tests for 8-bit monochrome AVIF decoding correctness.

Bug: 382315082
Test: ./out/Static/dm --match AvifDecodeMonochrome

Change-Id: Icad3e4fdcde6dd26c550de2a73e4ebf8feeaf5ee
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1271776
SLSA-Policy-Verified: SLSA Policy Verification Service <devtools-gerritcodereview-exitgate@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Auto-Submit: Arun Johnson <arunjohnson@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
The problematic case had:

pathBounds: 0 0 1 1
clipBounds: 0 6321 588913177 439356416

which was causing the tiling code in SkRegion::setPath to do a lot of busy work to skip all the tiles.

This CL just precomputes the intersection ahead of time in order to narrow down the area considered by the tiling loop.


Bug: b/523455730
Change-Id: I349b34d9d7142d13e2f1248867ec9f6f9f636bbb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1281216
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
I noticed these where always in the built shaders and we can
easily remove them from release mode to slightly save time
in sksl parsing.

Change-Id: I68f99706e12e187cf4676977a5332800ce041131
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1278777
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Kaylee Lubick <kjlubick@google.com>
Auto-Submit: Kaylee Lubick <kjlubick@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@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/8677554817255594753

depot_tools:
https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/2c0641be1da7bda7fb991c9333926640323da76c
  2c0641b (vapier@chromium.org)
      Revert "vpython: push new version of vpython including fix for...

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: Ia7f950f224fbb0c98aa9c5a47d4f419f135ae21b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1282016
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>
This change seems harmless and is more correct. Basically, the protected-ness of the backing surface is propagated to the internal image created for a PictureShader. This is relevant if the SkPicture contains protected content.

Bug: b/513969378
Change-Id: I9314aca6481850d098bab0515601cca51fb7a00a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1281217
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Using drawEdgeAAImageSet to draw the images within the lattice and drawEdgeAAQuad for any fixed colors defined. Opted to not use AA to match Ganesh's current behavior of no AA from what I saw.

Bug: b/527111971
Change-Id: Ie3bae69918482f9cd8893546674e6352003982ad
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1277776
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Nathan Sanchez <nathanasanchez@google.com>
Change-Id: I6ff641fbe792fa7c0bfd2d2ea4fd29425869d036
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1282196
Bot-Commit: chrome-branch-day <chrome-branch-day@chops-service-accounts.iam.gserviceaccount.com>
Cherry pick change I80209091f73e94850533419e656431218b353a6f from branch chrome/m151
to main.

Change-Id: I25f4732f9035bf6775e78ade7f717062985098f3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1282078
Bot-Commit: chrome-branch-day <chrome-branch-day@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) into this repository.

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

depot_tools:
https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/5aa12739049dedb7dfada5c11de569e0c16bf2aa
  5aa1273 (wyeager@google.com)
      [tryserver] Expand and log submodule diffs

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: I136ae87b26f3efdf34fb438fe7a49af8173bd7de
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1282158
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://chromium.googlesource.com/vulkan-deps.git/+log/c60153d2ad91..092187154b19

Also rolling transitive DEPS:
  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/d5bbf95d87dd6d2694fbf09acfb42a00c93575e8..cbcd15add9bac4c652203f05f159a13cb7cd652d

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 maxhudnell@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: maxhudnell@google.com
Change-Id: I42ac937eaf3637d45164b6a5f9f81e714d09eef6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1282140
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 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/8677530906964997745

depot_tools:
https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/3eda334967e6b69fd23a7e238a5d41f0b2fa02c5
  3eda334 (rbpotter@chromium.org)
      git cl format: Format js/ts by default and exempt .html.ts files

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: Id5c2d4f311f783e94b581138ddbfcb4ed2849cbf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1282356
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) into this repository.

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

depot_tools:
https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/4a2e1f464d68d7abe540bcf369a3c74bf592f885
  4a2e1f4 (wittman@chromium.org)
      [scm] Don't use Git LFS

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: I36243c5a78c60a17a0c6dbbb9dbf276ce65556b3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1282476
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/f3e464b1e567..7868bf37d5b2

2026-07-01 ted.lin0000@gmail.com Vulkan: Fix and harden Wayland WSI presentation
2026-06-30 syoussefi@google.com Update Vulkan headers to version 1.4.355

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,maxhudnell@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: maxhudnell@google.com
Change-Id: Ie12129002626dc065c38e3c842de76b22ee5a2d8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1282518
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://skia.googlesource.com/buildbot.git/+log/6810abaa66f5..a21d5e42faa3

2026-06-30 brettos@google.com [skolo] Configure internal test machines to use internal chrome-swarming-bots service account
2026-06-30 sruslan@google.com Add ability to unassociate a bug from a regression in the trace tooltip.
2026-06-30 jossiwolf@google.com Update AndroidX Skia Perf reference defaults
2026-06-30 mordeckimarcin@google.com Expose TraceStore from DataFrameBuilder
2026-06-30 sruslan@google.com Enable panning on trace chart.
2026-06-30 maximsheshukov@google.com Make linters submit blocking for Pinpoint
2026-06-30 maximsheshukov@google.com Apply manual fixes. Part 2
2026-06-30 maximsheshukov@google.com Apply manual fixes for linter errors. Part 1
2026-06-30 maximsheshukov@google.com Fix sample main.go
2026-06-30 maximsheshukov@google.com Apply linter autofix to Pinpoint
2026-06-30 maximsheshukov@google.com Autofix golangci-lint errors
2026-06-30 skia-autoroll@skia-public.iam.gserviceaccount.com Roll debugger-app-final from 95d4a8841f9b to fb420eac74a7
2026-06-30 skia-autoroll@skia-public.iam.gserviceaccount.com Roll command_wrapper from b1782fd070fd7d8a9... to fee34d248a4009e97... (1 revision)
2026-06-30 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Depot Tools from c8f585f8380a to ae832e2ca685 (8 revisions)
2026-06-30 skia-autoroll@skia-public.iam.gserviceaccount.com Roll jsfiddle-final from 03e98e8b553a to 718aae0dc4d9

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: Id62b48110d192daf2203814c3693cae1ef88afc3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1282576
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/a32d31d2f123..aea502e52005

2026-06-30 abdolrashidi@google.com Add trace script to detect interleaved client attr
2026-06-30 mark@lunarg.com Trace/Replay: Track source of GL/EGL Sync objects
2026-06-30 rafael.cintron@microsoft.com DirectX9 Backend Removal: Remove tests
2026-06-30 lexa.knyazev@gmail.com Use packed enums for TexStorageAttribs target
2026-06-30 ynovikov@chromium.org Skip FramebufferTest_ES3.RenderSharedExponentWithMask on S24
2026-06-30 ted.lin0000@gmail.com Re-land of crrev.com/c/7953343 (reverted by crrev.com/c/7962277).
2026-06-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 0af4fee9206d to c60153d2ad91 (9 revisions)
2026-06-30 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 9513633ed143 to 58f1d2d55c00 (716 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,maxhudnell@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: maxhudnell@google.com
Test: Test: ../../src/tests/capture_tests/capture_tests.py
Change-Id: I36f15e04093bd940ea3ca2f035880d520e3532f1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1282537
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/092187154b19..245a3bb1956d

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 maxhudnell@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: maxhudnell@google.com
Change-Id: I31c08d646e20fd5a5d11956346cc98058e13994d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1282821
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>
kjlubick and others added 6 commits July 1, 2026 10:04
One workflow I have for running benchmarks on SkRP is to build
a control version of nanobench, then comment out the ML4 (AVX512)
branch, then re-compile for a control version of ML3 (AVX2) and
then comment out the ML3 branch and get a control version of SSE2.
Then make my changes. Then build experimental versions of nanobench
to mirror those three settings.

This has gotten tedious, so I made a script to make this easier.

```
$ python3 tools/raster_pipeline/run_benchmarks.py --compile
Checking Git status of src/opts/SkRasterPipeline_opts.h...

--- Checking out Control baseline (origin/main) ---

Configuring SkOpts.cpp for Control ML4...
Compiling nanobench_control_ml4...
Saved binary to out/Release/nanobenches/nanobench_ml4_control

Configuring SkOpts.cpp for Control ML3...
Compiling nanobench_control_ml3...
Saved binary to out/Release/nanobenches/nanobench_ml3_control

Configuring SkOpts.cpp for Control SSE2...
Compiling nanobench_control_sse2...
Saved binary to out/Release/nanobenches/nanobench_sse2_control

--- Checking out HEAD (Optimized) ---

Configuring SkOpts.cpp for Optimized ML4...
Compiling nanobench_with_changes_ml4...
Saved binary to out/Release/nanobenches/nanobench_ml4_with_changes
...
$ python3 tools/raster_pipeline/run_benchmarks.py --run --match rp_div

======================================================================
 Running nanobench_ml4_control...
Timer overhead: 23.8ns
curr/maxrss	loops	min	median	mean	max	stddev	samples   	config	bench
  96/93  MB	38	303ns	304ns	304ns	305ns	0%	█▂▄▃▆▃▃█▅▁	nonrendering	skrp_div_uint_4
  96/93  MB	215	76ns	76.2ns	78.3ns	96.9ns	8%	▁▁▁▁▁▁█▁▁▁	nonrendering	skrp_div_uint_1
  96/93  MB	247	302ns	303ns	303ns	312ns	1%	▂▁▁█▁▁▁▁▁▁	nonrendering	skrp_div_int_4
  96/93  MB	593	75.9ns	75.9ns	76.7ns	81ns	2%	▁█▁▁▁▁▁▁▁▆	nonrendering	skrp_div_int_1

======================================================================
 Running nanobench_ml4_with_changes...
Timer overhead: 23.3ns
curr/maxrss	loops	min	median	mean	max	stddev	samples   	config	bench
  96/94  MB	39	303ns	304ns	309ns	358ns	6%	▁▁▁▁█▁▁▁▁▁	nonrendering	skrp_div_uint_4
  96/94  MB	256	75.9ns	76.1ns	76.1ns	76.3ns	0%	▆█▁▄▁▄▁▆▆▁	nonrendering	skrp_div_uint_1
  96/94  MB	247	302ns	303ns	304ns	319ns	2%	▁▁▁▁▁█▁▁▁▁	nonrendering	skrp_div_int_4
  96/94  MB	506	75.8ns	76.1ns	76.1ns	76.5ns	0%	▃▄▁▂▂█▂▄▇▄	nonrendering	skrp_div_int_1

======================================================================
 Running nanobench_ml3_control...
Timer overhead: 24.7ns
curr/maxrss	loops	min	median	mean	max	stddev	samples   	config	bench
  95/93  MB	33	303ns	304ns	304ns	306ns	0%	█▂▄▁▅▁▄▁▅▄	nonrendering	skrp_div_uint_4
  95/93  MB	327	162ns	162ns	162ns	164ns	0%	▂▃▃▃▂█▂▁▂▁	nonrendering	skrp_div_uint_1
  95/93  MB	350	302ns	302ns	306ns	339ns	4%	▁▁▁▁▁▁▁▁▁█	nonrendering	skrp_div_int_4
  95/93  MB	606	142ns	143ns	143ns	148ns	1%	▂▂▂▂▂▁▃▁▃█	nonrendering	skrp_div_int_1

======================================================================
...

```

I also tweaked llvm_mca_analysis.py so one can add --reset-experiments
to remove all but the first (control) set of data. This is handy
when on the 3rd+ thing to try and the spreadsheet gets unweildy
with no-longer-useful info. It doesn't remove the assembly files
(in case we do want to go back), just the data from the .tsv

Change-Id: I85362ab6fdbfffc8cca29a6ba91ea8ccc23b231d
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1283016
Auto-Submit: Kaylee Lubick <kjlubick@google.com>
Reviewed-by: Florin Malita <fmalita@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
I plan to add more micro benchmarks for specific SkRP stages.
Thus I renamed this and refactored the helper used for creating
the buffer.

Change-Id: I416d1118fce7691740efa6d3565866cade561b9e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1282917
Auto-Submit: Kaylee Lubick <kjlubick@google.com>
Commit-Queue: Thomas Smith <thomsmit@google.com>
Reviewed-by: Thomas Smith <thomsmit@google.com>
See http://cl/931059450

Change-Id: I31cdb832d512051b2ef4e9232b97107932aa4db8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1266536
Reviewed-by: Kaylee Lubick <kjlubick@google.com>
Auto-Submit: Kaylee Lubick <kjlubick@google.com>
Commit-Queue: Greg Daniel <egdaniel@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/8677463591572158481

depot_tools:
https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/dc7fc0e4c6abaf535fbe594769677d7344b9130e
  dc7fc0e (leszeks@chromium.org)
      Revert "git cl format: Format js/ts by default and exempt .html...

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: I1843713d8a5ec35d30471f70a499c982a467a3b3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1283096
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>
…3.2.1

Revert the additions from upstream 272ed8a (Fix Vulkan Memory Allocator)
that reference API surface only present in newer VMA versions:

- SKGPU_COPY_FUNCTION_KHR(GetPhysicalDeviceProperties2): our pinned VMA
  3.2.1 has no VmaVulkanFunctions::vkGetPhysicalDeviceProperties2KHR
  field.
- VmaAllocationCreateInfo::minAlignment / ::priority: not present in the
  3.2.1 struct.

We deliberately pin vulkanmemoryallocator to 3.2.1 (see PR #152), so
adapt this upstream file to compile against our pinned dep instead of
bumping the pin.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.

8 participants