[skia-sync] Merge upstream Skia main (tip)#276
Draft
mattleibow wants to merge 36 commits into
Draft
Conversation
- 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>
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>
# Conflicts: # DEPS
…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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automated upstream merge of google/skia main (tip).
[skia-sync] Merge upstream
mainbug fixes intoskiasharp(m151)This is a main-tip sync (
upstream/main→skiasharp), not a milestonebump. Both current and target milestones stay at m151; the upstream tip
was
0fc8ba72e802af1003cf3e8cbbcda1fffdad88c1at merge time.Range merged
e1be35b25f2a32371d9a1924ef4d18e62ccff1f3(previous mono/skiaskiasharpHEAD)0fc8ba72e802af1003cf3e8cbbcda1fffdad88c1(google/skiamain)e34a0689b57959482c1930ae90a1b0797a3592d30e4c4c4a1fabc94cbe82835ae41292f37ce92751(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_MILESTONEfrom 151 → 152 in commit3149a8f0ac(
Update Skia milestone to 152) as part of their normal branch-cut cadence.We reverted the merge result back to
#define SK_MILESTONE 151because:src/c/sk_general.cppreadsSK_MILESTONEand returns it via the C APIto C#.
scripts/VERSIONS.txton the SkiaSharp side (also151); otherwise the runtime "incompatible native library" smoke testfails.
the milestone will advance in a dedicated
update-skiarun.2.
DEPS(kept active pins, refreshed disabled-dep hashes)brotli→028fb5a2(our vendored version)vulkanmemoryallocator→c788c521(VMA 3.2.1 — deliberately pinned in PR Update vulkanmemoryallocator to 3.2.1 #152)vulkan-headers→74d8a6cbspirv-cross→ active pin retained(
angle2,swiftshader,vulkan-deps,spirv-headers,spirv-tools,vello,vulkan-tools,vulkan-utility-libraries,unicodetools) so theonly diff from upstream on those lines is the leading
#.bazel/deps.jsonhad drifted fromDEPSalready (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 VMA3.2.1
VmaVulkanFunctionsstruct has novkGetPhysicalDeviceProperties2KHRfield (only the memory-propertiesvariant).
VmaAllocationCreateInfo::minAlignmentand::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.ps1reported "No new functions found" — the C API shim and the generated C#
SkiaApi.generated.csdid not change.Items needing human attention
this workflow. Windows/macOS/iOS/Android/WASM builds should verify that
removing the two
info.priority = 1.0fandinfo.minAlignment = 0assignments and the
GetPhysicalDeviceProperties2copy does not regressanything on those platforms.
upstream VMA API (
priority/minAlignment), we should bump thevulkanmemoryallocatorpin inDEPSand drop this fork patch. Filed hereas a follow-up.
Created by skia-upstream-sync.