[skia-sync] Merge upstream chrome/m149#252
Closed
mattleibow wants to merge 365 commits into
Closed
Conversation
https://skia.googlesource.com/buildbot.git/+log/61363e8559c7..1139a26d53b5 2026-04-14 eduardoyap@google.com [perf] Fix commit offset translation in manual_plot_mode 2026-04-14 borenet@google.com [bazel] Update archive URLs for basealpine 2026-04-14 borenet@google.com [skfe] Add DNS entry for mcp.skia.org 2026-04-14 borenet@google.com [autoroll] Add gcloud to autoroll-be image 2026-04-14 borenet@google.com [autoroll] Allow newlines in error display 2026-04-14 faridzad@google.com [explore-simple-sk] Moved the flaky X-Axis switching unit tests to Puppeteer. 2026-04-14 mordeckimarcin@google.com Regr2 - index for untriaged regressions on /a page 2026-04-14 faridzad@google.com Rename 'existing-bug-dialog-sk' test files for consistency with other modules. 2026-04-14 skia-autoroll@skia-public.iam.gserviceaccount.com Roll luci-auth from da8829f4f05eb5ea3... to 8048c0858d1b3c95b... (1 revision) 2026-04-14 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Depot Tools from bac00505a8c1 to b9d2b54daea6 (2 revisions) 2026-04-14 skia-autoroll@skia-public.iam.gserviceaccount.com Roll command_wrapper from a18359f597f780003... to 784de3b26e0623ca9... (1 revision) 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:495382033,chromium:500385535 Tbr: borenet@google.com Change-Id: Ib827a7cbd3e9209724a9e5376fbd4dae050edc66 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1210038 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/5e591d03650d..e45b5fbf2710 2026-04-14 uchintala@google.com Tests : Add Club Vegas Casino Slots Games trace 2026-04-14 abdolrashidi@google.com Check depth for cube map arrays in size validation 2026-04-14 nikolaysmirnov@google.com Implement GL_QCOM_texture_lod_bias extension 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,thomsmit@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: thomsmit@google.com Test: Test: angle_end2end_tests --gtest_filter=QCOMTextureLodBiasTest.* Test: Test: angle_trace_tests --gtest_filter=*club_vegas_casino_slots Change-Id: I1c1885aafc168508574a9ede2f685f90c865d876 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1210436 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>
We want the CodeSize builders to reflect what is actually shipped to clients, which currently does not include PartitionAlloc. This sets skia_use_partition_alloc=false for the OptimizeForSize configurations. Note that this only affects the Build-* and CodeSize-* tasks for the OptimizeForSize configuration, as well as one specific Perf bot. Zero Test-* tasks use OptimizeForSize. Functional testing of PartitionAlloc (which uses Debug and Release configurations) remains unaffected. Bug: 351867706 Change-Id: I3da0bb12ee2c45e9bba2caf8158fa2c053cbae8d Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1207398 Auto-Submit: Arthur Sonzogni <arthursonzogni@chromium.org> Reviewed-by: Kaylee Lubick <kjlubick@google.com> Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org> Reviewed-by: Eric Boren <borenet@google.com>
Also removes bungeman Change-Id: Ice0cfff02209de8f44aba2f8d4a8fa4ed66e37a0 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1210756 Auto-Submit: Greg Daniel <egdaniel@google.com> Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
https://skia.googlesource.com/buildbot.git/+/74a6444abdcf6cb1da6ac9387aa08de5d3e38cd0 [fiddler] Forward signals to child process in secwrap Change-Id: Idfc243b3ea2eea0230cde36fb601669c8d73bfb6 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1210040 Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Eric Boren <borenet@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com> Auto-Submit: louhi-prod-1-6316342352543744@louhi-prod-1.iam.gserviceaccount.com <louhi-prod-1-6316342352543744@louhi-prod-1.iam.gserviceaccount.com>
Some geometry types (hinted at in maskToDevice()) have a 3rd coordinate space that they have all tracked in an ad hoc manner. This turns out to have bad consequences for the KeyContext (they are sometimes drawn with a different local matrix, impacting sampling calculations). It will also simplify a bit how the atlas vs. renderer code flows through drawGeometry(). That is all future work; this change defines the function and updates ClipStack::DrawShape to store Transform in line so that it can modify it to be the mask-to-device matrix if the Geometry has one. I wanted this as a separate CL on the off chance that the optimization to store a pointer to the draw's original local-to-device transform was actually doing something meaningful. Bug: b/502265025 Change-Id: I016c7fa0f1ec04b97df7c154c06bdb0f0d291ad4 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1208996 Commit-Queue: Michael Ludwig <michaelludwig@google.com> Reviewed-by: Thomas Smith <thomsmit@google.com> Reviewed-by: Nicolette Prevost <nicolettep@google.com>
The assertion now checks the bounds of `n` to prevent potential integer overflow when calculating the total size, ensuring `n * Size` does not exceed `kMaxByteSize`. See (internal-only): go/code-terracotta-review-explainer This is a phase 1 quick fix Bug: 499152771 Change-Id: I4fddd49e114518756353e85d52448aa906a5b81c Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1209996 Commit-Queue: Francisco Ochoa <frankchavez@google.com> Reviewed-by: Thomas Smith <thomsmit@google.com>
… line breaks" This is a reland of commit 9a0def8 The reland was reverted (339e3c3) because soft hyphen tests still failed on Ubuntu-NativeFonts bots: the hardcoded layout width of 60px was too close to the actual advance width of "inter" at 20px Roboto on those bots, causing the text to not break at the expected position. Fix: increase the test layout width from 60 to 80px. At 20px Roboto, "inter" measures ~40-55px across font versions (fits in 80), while "international" measures ~100-130px (does not fit in 80), so the break at the soft hyphen is reliably triggered. Original change's description: > When text is laid out and a line break occurs at a soft hyphen > (U+00AD) position, a visible hyphen glyph ("-") is now shaped > and appended to the end of that line. Soft hyphens that are not > at line break positions remain invisible (zero-width), as before. > > This behavior is gated behind ParagraphStyle::setRenderSoftHyphens(), > which defaults to false to preserve existing behavior for current > consumers. Callers must opt in to enable visible hyphen rendering. R=jlavrova@google.com, kjlubick@google.com Change-Id: I23b21e5d2b5fbd6bcb990e0a631c87456e46ad10 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1208837 Commit-Queue: Julia Lavrova <jlavrova@google.com> Reviewed-by: Kaylee Lubick <kjlubick@google.com> Reviewed-by: Julia Lavrova <jlavrova@google.com>
https://chromium.googlesource.com/vulkan-deps.git/+log/7646a87dd950..b59a366edcc0 Also rolling transitive DEPS: https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/5d7c08d0cde5ba67e540ba379b2ef0ee2fc92fa9..4b3bd66f3806ee0b67d9fe7c591d8f29ca535ccd https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries/+log/cd5e8020b5feea8f9364c87290cda4f9180be01a..e2f236b273bfcd9c665306fdd53451b923d659ab 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 skiabot@google.com,thomsmit@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: thomsmit@google.com Change-Id: Ia26c5e9f8c7e4f92d7e3d129b1996717ed16fb14 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1210801 Commit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
This simplifies some of the atlas logic flow inside drawGeometry() because once the atlas provides a CoverageMaskShape it can be recorded as if it were a regular fill. The return type of the PathAtlas is also simpler, and importantly, the CoverageMaskShape is now completely self-descriptive from a "geometric" sense. The draw's local-to-device transform is now only used to affect shading. This also fixes a subtle bug where the 4x4 device-to-local matrix was being uploaded as if it were the 3x3 inverse of the flattened local to device matrix, which is not the case when there's perspective or Z manipulation. Bug: b/445976767 Bug: b/502265025 Change-Id: Icf5b96751adfc39293ecc4331fbd912f245112d9 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1123837 Commit-Queue: Michael Ludwig <michaelludwig@google.com> Reviewed-by: Nicolette Prevost <nicolettep@google.com>
This flag is not supported in Louhi, and it's causing our CD builds of some apps to fail. Change-Id: Ife504b77f0d5943d05f75d39b84f4b594291587c Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1211116 Reviewed-by: Brandon Wilson <bwils@google.com>
* Allow stencil draws to continue (bounded) searching after finding a compatible match. * Reduces pipeline changes on: MotionmarkSuitsClip: 1306 -> 881 MotionmarkSuits: 6690 -> 2102 Change-Id: Id87467d696f65b722bd829f8cd02bcd46b5449ea Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1174716 Commit-Queue: Thomas Smith <thomsmit@google.com> Reviewed-by: 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/8684426341943139121 depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/7914a55a091a90fe228e1937b27fc0198e19c33f 7914a55 (bsheedy@chromium.org) Track edit monitor opt outs 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: Ide6bc1fd7afa755392da32b254f62dcd856044bb Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1211156 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/8684422563561874529 depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/0ea4801192281fff1675855b6c03fd71811133e2 0ea4801 (gavinmak@google.com) Fix CheckForCommitObjects to include submodules in file scan 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: I3c4a6ab5e435549d1fdd63a1e7cc41c8524f1447 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1211157 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/+/1bac3fe419791a0629ebcbd42e39db14309f2a85 [fiddler] Add missing madvise syscall to allowlist Change-Id: Ic97baf3959e74fdfe2da1b88ed4eed45c8d1f329 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1211256 Reviewed-by: Eric Boren <borenet@google.com> Commit-Queue: Brett Somocurcio <brettos@google.com> Commit-Queue: Eric Boren <borenet@google.com> Auto-Submit: louhi-prod-1-6316342352543744@louhi-prod-1.iam.gserviceaccount.com <louhi-prod-1-6316342352543744@louhi-prod-1.iam.gserviceaccount.com> Reviewed-by: Brett Somocurcio <brettos@google.com>
https://dawn.googlesource.com/dawn.git/+log/63b237e40fc2..678a2d1cb827 2026-04-16 bsheedy@google.com Update Win/CMake dimensions 2026-04-16 lokokung@google.com Reland "[dawn][native] Some cleanup of DeviceLostEvent code." 2026-04-16 dsinclair@chromium.org Remove shadows from dependency graph 2026-04-16 bajones@chromium.org Vulkan: Prevent double-closing stale FD 2026-04-16 bsheedy@google.com Ignore Starlark changes for Chromium trybots 2026-04-16 jiawei.shao@intel.com Clarify `offset` counts elements of the component type in subgroup matrix 2026-04-15 dsinclair@chromium.org Remove SKIP test results. 2026-04-15 lmjr@google.com Rename tryjob method to cq_settings 2026-04-15 qjw@chromium.org third_party: allow autoroller to update README.chromium metadata 2026-04-15 bsheedy@google.com Remove legacy_builders.star 2026-04-15 rharrison@chromium.org [val] Add missing IR validator tests 1/5 2026-04-15 jrprice@google.com [tint] Fix loop analysis for limit cases 2026-04-15 jrprice@google.com [tint] Refactor loop analysis tests 2026-04-15 bsheedy@google.com Move tricium-clang-tidy 2026-04-15 amaiorano@google.com [native][d3d12] Fix potential leak in T2B copy when temp buffer workaround active 2026-04-15 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 5e591d03650d to e45b5fbf2710 (3 revisions) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/dawn-skia-autoroll Please CC amaiorano@google.com,cwallez@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry To file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Cq-Include-Trybots: skia/skia.primary:Build-Ubuntu24.04-Clang-x86_64-Debug-Graphite_Dawn_Vulkan;skia/skia.primary:Test-Mac14-Clang-MacMini9.1-GPU-AppleM1-arm64-Debug-All-ASAN_Graphite_Dawn_Metal;skia/skia.primary:Test-Win11-MSVC-Golo-GPU-QuadroP400-x86_64-Release-All-Graphite_Dawn_D3D12;skia/skia.primary:Test-Win11-MSVC-Golo-GPU-QuadroP400-x86_64-Release-All-Graphite_Dawn_D3D11 Bug: None Tbr: amaiorano@google.com Change-Id: I47003388bd23624ffd99b206191a93d15f163676 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1211316 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/1139a26d53b5..8a3814645574 2026-04-15 louhi-prod-1-6316342352543744@louhi-prod-1.iam.gserviceaccount.com Toggle Perfserver Freeze - off - perf/FREEZELOCK 2026-04-15 louhi-prod-1-6316342352543744@louhi-prod-1.iam.gserviceaccount.com Toggle Perfserver Freeze - on - perf/FREEZELOCK 2026-04-15 bwils@google.com Add ability to open and view lottie without upload 2026-04-15 sergeirudenkov@google.com build metric for dashboard 2026-04-15 jeffyoon@google.com authproxy: Add support for secure logout redirect 2026-04-15 borenet@google.com [cd] Symlink git to /usr/bin/git 2026-04-15 borenet@google.com [fiddler] Forward signals to child process in secwrap 2026-04-15 mordeckimarcin@google.com Anomtable: show untriaged oldest first, triaged newest first 2026-04-15 maximsheshukov@google.com Poll bisect job status in autotriage 2026-04-15 maximsheshukov@google.com Query legacy pinpoint for a job state 2026-04-15 maximsheshukov@google.com Split pinpoint client into gateway and legacy client 2026-04-15 maximsheshukov@google.com Move request/response structs to types.go 2026-04-15 maximsheshukov@google.com Move legacy pinpoint client from frontend to pinpoint 2026-04-15 eduardoyap@google.com [perf] Remove 'Unable to find requested data range' error toast 2026-04-15 skia-autoroll@skia-public.iam.gserviceaccount.com Roll command_wrapper from 784de3b26e0623ca9... to ec61833fc8f3b9f4a... (1 revision) 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:495382033,chromium:496659575,chromium:501830027 Tbr: borenet@google.com Change-Id: Id2ac5ea5ef367b9f1d4c5347309f71e52ce65931 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1211336 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/b59a366edcc0..88bc797c62ac Also rolling transitive DEPS: https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers/+log/869266ad9e6050197d87cf0a22aab59abf7ad008..ad9184e76a66b1001c29db9b0a3e87f646c64de0 https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/4b3bd66f3806ee0b67d9fe7c591d8f29ca535ccd..8d245e02504488aaa51ab561cfd8725b7916c91d 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 skiabot@google.com,thomsmit@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: thomsmit@google.com Change-Id: I654c4c72938b5e1d11dae0cb80a0d5dfd28b49fa Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1211329 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/e45b5fbf2710..942c07d0c8a6 2026-04-15 gman@chromium.org Fix RGBX Tests 2026-04-15 yuxinhu@google.com IR Validation: MergeInput is only allowed for block inputs 2026-04-15 abdolrashidi@google.com Vulkan: Disable swapchain deferred memory for NV/Wayland 2026-04-15 abdolrashidi@google.com Vulkan: Remove unsupported compatible present modes 2026-04-15 yuxinhu@google.com IR Validation: enforce unique switch case values 2026-04-15 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from c8fb3065f829 to c4d011f329e4 (1449 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,thomsmit@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: thomsmit@google.com Change-Id: Ice6ef42c7845e859e592d2e78ce6d5a4e20a5fea Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1211277 Commit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com <skia-autoroll@skia-public.iam.gserviceaccount.com>
This reverts commit 55d88dd. Reason for revert: outage has passed Original change's description: > Temporarily remove Bazel from the CQ > > Affected by http://irm/i_Su5JMCT1XffnPLB7cFMz > > Change-Id: I19efaba1f481e151807bbbad3189daa7cb6690ee > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1204536 > Reviewed-by: Greg Daniel <egdaniel@google.com> Change-Id: I246fec17a8b643210b7d248c9751f0514ff3110a Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1210256 Commit-Queue: Kaylee Lubick <kjlubick@google.com> Reviewed-by: Eric Boren <borenet@google.com> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Following the same pattern as CoverageMaskShape, text had the same mismatch between the transform being passed to drawGeometry() and the actual shading matrix used for the KeyContext. This pushes calculating the inverse of the local-to-device into the GPU. If that causes a regression, I will follow-up with a change that derives the 3x3 inverse from the existing 4x4 inverse. Bug: b/502265025 Change-Id: I788d353db3ed12196e1c22da5a39419735e3ad9d Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1209896 Commit-Queue: Michael Ludwig <michaelludwig@google.com> Reviewed-by: Thomas Smith <thomsmit@google.com> Reviewed-by: Nicolette Prevost <nicolettep@google.com>
https://skia.googlesource.com/buildbot.git/+/c21d4134a71a31b339cbbbf72a7a649947206925 [fiddler] Log the fiddle hash and code before compile+run Change-Id: Iee6de2f36b194f33be42fba7393215e8404736cc Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1211676 Reviewed-by: Kaylee Lubick <kjlubick@google.com> Auto-Submit: louhi-prod-1-6316342352543744@louhi-prod-1.iam.gserviceaccount.com <louhi-prod-1-6316342352543744@louhi-prod-1.iam.gserviceaccount.com> Commit-Queue: Kaylee Lubick <kjlubick@google.com> Reviewed-by: Eric Boren <borenet@google.com>
* Change text rendersteps as a sounding board for `textureSize` intrinsic performance characteristics. * The inverse atlas size is calculated in the fragment shader, per fragment invocation. In the future we may move this to the vertex shader. Change-Id: I1f11b19498c96b787cd89e4751f7bf48de1cbb9a Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1211196 Reviewed-by: Michael Ludwig <michaelludwig@google.com> Commit-Queue: Thomas Smith <thomsmit@google.com>
The existing code always emits the children first, then the current marked content, then the current content items. Instead these should be emitted in the order the user specified but interleaved based on the order they were drawn. This will allow users to interleave children and content and avoid creating unecessary children just to hold content. Bug: chromium:40864325 Change-Id: I948889ea887c82ef7f70c8c9d25eaf8e6cac0dab Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1210277 Reviewed-by: Florin Malita <fmalita@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
This will allow lab managers to apply security updates regularly without our needing to update the dimensions every time. GPU drivers shouldn't be updated as part of this process. Bug: b/502205782 Change-Id: Iff9458e6cd3ebcc29ff79c06e6529c3be0fe7665 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1211717 Auto-Submit: Eric Boren <borenet@google.com> Commit-Queue: Kaylee Lubick <kjlubick@google.com> Commit-Queue: Eric Boren <borenet@google.com> Reviewed-by: Kaylee Lubick <kjlubick@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/8684346443280873569 depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/13c80751ffc4178d02eb6d951b9a551614158ab1 13c8075 (gavinmak@google.com) Revert "Fix CheckForCommitObjects to include submodules in file... 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: Ie0c38d2e36ac98827a410faca767b50372b5195c Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1211386 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>
quick fix for a potential security issue Bug: 500071763 Change-Id: I24a6f4a6a4b58706b792668037011d86da8bd1d4 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1210036 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com> Auto-Submit: Daniel Angulo <angdaniel@google.com>
I believe historically I'd pushed to constrain when we adjusted the sampling to just quad/rect rendering so the old shape check was a proxy for that. In practice, since this doesn't change pipelines, and we're already doing the work for shapes and quads (common benchmark stress scenarios), I don't see any reason not to just always start with the default flags. Additionally, in a follow up where we do want to more intentionally opt into blend mode optimizations, it makes the initial flag choice logic cleaner to only bring in one non-default flag. Bug: b/478239991 Change-Id: I495ff5745a7545b3dcd6ee62a7ff87630341e580 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1206916 Reviewed-by: Thomas Smith <thomsmit@google.com> Reviewed-by: Nicolette Prevost <nicolettep@google.com> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
This moves where DependsOnDst is applied, allowing ShaderParams' fDstUsage to be exact except for the (src-over + opaque) case. This makes it easier to reason about when doing three follow-up changes: 1. Supporting inner fills for Src that still requires dst reads 2. Switching srcover+opaque to src 3. Rewriting srcover+opaque+coverage to src for the inner fill Bug: b/478239991 Change-Id: I158b978ad49d7ce212efc2634a3c0fc00561f1a0 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1207638 Commit-Queue: Michael Ludwig <michaelludwig@google.com> Reviewed-by: Thomas Smith <thomsmit@google.com> Reviewed-by: Nicolette Prevost <nicolettep@google.com>
https://chromium.googlesource.com/vulkan-deps.git/+log/88bc797c62ac..859ad1479ce2 Also rolling transitive DEPS: https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/8d245e02504488aaa51ab561cfd8725b7916c91d..2e8b5e20ee8d9bdb37a6416508247955087a3453 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 skiabot@google.com,thomsmit@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: thomsmit@google.com Change-Id: I44c0e9e4d2c7fdbcf6c78e766ce712fa81da2425 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1211558 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>
* With certain inputs, an attacker can exploit the typing in SkTDArray to cause a mismatch between the actual allocation of the array which is in bytes, and the allocation that the SkTDArray *thinks* it has, which is in units of T. * Guard this scenario by promoting size_t earlier in the memory reservation call stack. Bug: b/501511299 Change-Id: I98e851dcc6b060dd21e1fdd2b416a0a25e7c4f08 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1223036 Commit-Queue: Thomas Smith <thomsmit@google.com> Reviewed-by: Kaylee Lubick <kjlubick@google.com>
This moves the array of TextureUsage and SampleCount bitmasks to be stored on Caps and removes the unused ColorTypeInfo struct. Bug: b/390473370 Change-Id: Ide1143129055856ae0dfd384462095d02e6b4bc2 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1213516 Reviewed-by: Nicolette Prevost <nicolettep@google.com> Commit-Queue: Michael Ludwig <michaelludwig@google.com>
This will help us reproduce issues from oss-fuzz/cluster fuzz Change-Id: I3c4e8a15c1060619ab3d6f1342ac3eecff6f06a3 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1225556 Commit-Queue: Kaylee Lubick <kjlubick@google.com> Auto-Submit: Kaylee Lubick <kjlubick@google.com> Commit-Queue: Eric Boren <borenet@google.com> Reviewed-by: Eric Boren <borenet@google.com>
Change-Id: Ic6dbba084b514589cf2542cad10e1a2b69f1871c Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1226256 Bot-Commit: chrome-branch-day <chrome-branch-day@chops-service-accounts.iam.gserviceaccount.com>
Change-Id: I9ce25212407643b4ba65594557d6a9a02529dcd8 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1226258 Bot-Commit: chrome-branch-day <chrome-branch-day@chops-service-accounts.iam.gserviceaccount.com>
I added some logging to SkOpCoincidence::fixUp and ::release and, with the new test case (which has multiple coincidences [1]), observed ``` fixUp: release(0x...7378, 0x...7378) release: head_arg=0x...7378, remove=0x...7378, global fHead=...7378 release: updated global fHead to 0x...72b8 fixUp: after release global fHead=0x...72b8 fixUp: release(0x...7378, 0x...6ec8) ``` As per the linked bug, this leads to a faulty state because the old head pointer 0x...7378 is being used after it was "released". I could not get ASAN to fire on this but it is worth fixing for correctness and consistency. My change fixes that particular issue and adds some asserts to avoid this happening again. I also rewrote some do while loops to avoid iffy behavior where we were releasing coin and then for the next iteration still calling coin->next(). This worked because we had an SkArenaAlloc and that memory wasn't "fully" released. [1] a coincidence is an overlap between two path segments that lasts for more than a single point. e.g. two squares sharing an edge. Bug: 513001309 Fixed: 514929752 Change-Id: Ie3f6cea575acf9575e984b2b0d2eb788bb4b2052 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1238176 Reviewed-by: Thomas Smith <thomsmit@google.com> Commit-Queue: Kaylee Lubick <kjlubick@google.com> (cherry picked from commit 33b70be) Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1240556 Auto-Submit: Kaylee Lubick <kjlubick@google.com> Commit-Queue: Thomas Smith <thomsmit@google.com>
Bug: 514063977 Fixed: 514930114 Change-Id: I03ccdf8224f6d6413c4632adf1d75216d8093e81 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1238257 Commit-Queue: Thomas Smith <thomsmit@google.com> Reviewed-by: Kaylee Lubick <kjlubick@google.com> Reviewed-by: Michael Ludwig <michaelludwig@google.com> (cherry picked from commit d93793d) Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1241058
Bug: 513972075 Fixed: 515276005 Change-Id: Ieeaf92c87343aa328479302d9cffeb36b5b0c8e4 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1238159 Auto-Submit: Greg Daniel <egdaniel@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> (cherry picked from commit 3471ebf) Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1242256 Commit-Queue: Greg Daniel <egdaniel@google.com>
I found the ES 2 spec [1] helpful for reference here. The calculate_count_neq_int is not strictly necessary (I was unable to find a case that tricked the existing floats with ints), but I like the refactoring and it mirrors the gt/lt cases nicely. [1] https://registry.khronos.org/OpenGL/specs/es/2.0/GLSL_ES_Specification_1.00.pdf Change-Id: I0b9117f347e4b7d5d336de0f14337b9bec510ff2 Bug: 513337118 Fixed: 515276121 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1236656 Commit-Queue: Florin Malita <fmalita@google.com> Reviewed-by: Florin Malita <fmalita@google.com> Commit-Queue: Kaylee Lubick <kjlubick@google.com> Auto-Submit: Kaylee Lubick <kjlubick@google.com> (cherry picked from commit 5f4f454) Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1242416
I was unable to make a test case that caused an overflow and didn't timeout, but I think the possibility exists for both. This removes that, adds a few defensive asserts, and makes one assert actually checked at runtime, just to be safe. Change-Id: I4ce112624cb346ac7597466ac9c78402c5061e1c Bug: 513973560 Fixed: 515276259 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1239556 Reviewed-by: Thomas Smith <thomsmit@google.com> (cherry picked from commit 7c9ffcb) Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1242417 Commit-Queue: Kaylee Lubick <kjlubick@google.com> Auto-Submit: Kaylee Lubick <kjlubick@google.com> Reviewed-by: Florin Malita <fmalita@google.com> Commit-Queue: Florin Malita <fmalita@google.com>
Bug: 514017326 Fixed: 515627566 Change-Id: I9425c1f86aa8762333ba72b4ba30f5a056cdbfa9 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1239738 Commit-Queue: Michael Ludwig <michaelludwig@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> (cherry picked from commit 43f969a) Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1243597 Reviewed-by: Thomas Smith <thomsmit@google.com> Reviewed-by: Nicolette Prevost <nicolettep@google.com>
Original change's description: > Report and handle failure for inlineUpload(...) calls > > * The bug associated with this change called out that we should not attempt to perform an upload on an externally-owned secondary command buffer. > > * Exiting early does not appropriately signal that an upload failed, so modify `GrOpsRenderPass::inlineUpload(...)` base class to return a bool indicating success or failure. Upon failure, do not attempt the associated immediate draw call and report that the draw failed. > > * To maintain current behavior, have `inlineUpload(...)` return true in nearly all cases except that identified in the associated bug. > > Bug: b/513948178 > Change-Id: Idfeb2527062818e5fa63a38112dd1c26f7847998 > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1239496 > Commit-Queue: Nicolette Prevost <nicolettep@google.com> > Auto-Submit: Nicolette Prevost <nicolettep@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> > Reviewed-by: Greg Daniel <egdaniel@google.com> (cherry picked from commit defc3a5) Bug: 515628783,b/513948178 Change-Id: Idfeb2527062818e5fa63a38112dd1c26f7847998 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1245696 Auto-Submit: Chrome Cherry Picker <chrome-cherry-picker@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Other than these two sites, kForInputAttachment and kForNonCoherentAdvBlend are not treated as mutually exclusive. When using only == kForInputAttachment, the layout and bindings wouldn't apply correctly for a renderpass that was using both forms of self dependencies. Bug: 512995705 Fixed: 515954112 Change-Id: I40aff60a9209be77e6743d7a2f73dac46985507a Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1242516 Commit-Queue: Michael Ludwig <michaelludwig@google.com> Reviewed-by: Nicolette Prevost <nicolettep@google.com> (cherry picked from commit 544395a) Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1245736
This skips recording draws with more than 1M color stops, primarily as a way to avoid worrying about overflowing during intermediate calculations. We can increase it if necessary, but hopefully this is healthy enough no one is trying to make shaders this large. This also skips recording draws when the FSM has maxed out its allocatable size for a single buffer. Given how large that is, we shouldn't encounter it in the wild but this lets us fail semi gracefully. If needed, we can revisit by either flushing the entire Recorder when reaching a limit, or by allowing a recording to use multiple buffers Bug: 515467789 Fixed: 517017060 Change-Id: Ie032f9ed35b6cf0316a18b32bb36e3ec3c047097 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1243936 Commit-Queue: Michael Ludwig <michaelludwig@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Thomas Smith <thomsmit@google.com> (cherry picked from commit 5ecba66) Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1247096 Auto-Submit: Michael Ludwig <michaelludwig@google.com> Commit-Queue: Thomas Smith <thomsmit@google.com>
This also removes the unique ID from SkShaderBase as the FSM was the only system that relied on it. Bug: 512986879 Fixed: 517018284 Change-Id: Icd43c13a75a1cdd212eea2b9db03033d13be47f4 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1243937 Reviewed-by: Thomas Smith <thomsmit@google.com> Commit-Queue: Michael Ludwig <michaelludwig@google.com> (cherry picked from commit 2e4a568) Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1247057
Original change's description: > Clamp displacement values before offsetting sampling coordinates > > Bug: b/514082801 > Change-Id: I4662eb2d969bc6003cd7178306e82b6d3580758a > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1239498 > Auto-Submit: Jorge Betancourt <jmbetancourt@google.com> > Reviewed-by: Michael Ludwig <michaelludwig@google.com> (cherry picked from commit bd3d88b) Bug: 515954609,b/514082801 Change-Id: I4662eb2d969bc6003cd7178306e82b6d3580758a Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1247396 Auto-Submit: Chrome Cherry Picker <chrome-cherry-picker@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Original change's description: > [ganesh] Use submitted proc to confirm async reads were issued > > Ganesh's finish proc doesn't have a status, but if flushSurface() > failed for unrelated reasons (due to queued operations before the > asyncRead was requested), the finish proc would be executed without > actually submitting the copy command to the GPU. > > This tracks whether or not it was successfully submitted and makes > that a requirement before handing the result to the original callback. > The code is updated to more closely match Graphite's structure, > including unmapping any buffers on failure. > > Bug: 513340227 > Change-Id: If2998749a754d114b70e26e312a9a4cb08ea20e2 > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1242617 > Commit-Queue: Michael Ludwig <michaelludwig@google.com> > Reviewed-by: Greg Daniel <egdaniel@google.com> (cherry picked from commit e6c23e3) Bug: 517405382,513340227 Change-Id: If2998749a754d114b70e26e312a9a4cb08ea20e2 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1248156 Commit-Queue: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Chrome Cherry Picker <chrome-cherry-picker@chops-service-accounts.iam.gserviceaccount.com>
Original change's description: > Remove serialization of drawables from SkCustomTypeface > > We added it here https://review.skia.org/540736 but ended up not > using it for Skottie (only paths). This will help reduce the attack > surface of deserializing fonts. > > Change-Id: Id890c3d0f56f11377563f795f9bfede5a7d84d66 > Bug: 513820666 > Fixed: 513820666 > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1245976 > Reviewed-by: Alexis Cruz-Ayala <alexisdavidc@google.com> > Auto-Submit: Kaylee Lubick <kjlubick@google.com> > Commit-Queue: Kaylee Lubick <kjlubick@google.com> > Commit-Queue: Alexis Cruz-Ayala <alexisdavidc@google.com> (cherry picked from commit 9da67e2) Bug: 517794513,513820666,513820666 Change-Id: Id890c3d0f56f11377563f795f9bfede5a7d84d66 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1249197 Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Chrome Cherry Picker <chrome-cherry-picker@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
…n reset" * `getMappedUniformBuffer` was changed after M148 but before M149. This caused comments in the unit test to be wrong, causing M148 cherry pick to fail CQ. * Change the unit test to instead use `getMappedIndexBuffer`, which is stable across the relevant releases, and has been confirmed to trigger the bug. * These changes purely affect the unit test and not the fix itself. This reverts commit c329e87. Original change's description: > Revert "[graphite] BufferSubAllocator respects failed mapping on reset" > > This reverts commit e7bff78. > > Fails clang-tidy > > Original change's description: > > [graphite] BufferSubAllocator respects failed mapping on reset > > > > Bug: b/516981393 > > Change-Id: If6837e26ee520ad34c8df46a34850220ec5b538c > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1247536 > > Commit-Queue: Thomas Smith <thomsmit@google.com> > > Reviewed-by: Michael Ludwig <michaelludwig@google.com> > > Bug: b/516981393 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Change-Id: I8cf69a8ba2ff318aab65033af821954e4493e5cb > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1249556 > Auto-Submit: Thomas Smith <thomsmit@google.com> > Commit-Queue: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> > Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> Bug: 516981393 Fixed: 517794557 Change-Id: I3688a446d9042ffdb79a6c91d73f72bd5016716e Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1249557 Commit-Queue: Thomas Smith <thomsmit@google.com> Reviewed-by: Michael Ludwig <michaelludwig@google.com> (cherry picked from commit 04b084c) Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1249857 Reviewed-by: Kaylee Lubick <kjlubick@google.com>
Original change's description: > [rust icc] Harden ICC CLUT grid validation > > Reject Rust ICC A2B/B2A CLUTs whose active grid dimensions produce too > many total grid points before exporting them to skcms transform code. > > This mirrors the skcms parser-side complexity limit while keeping the > check at the C++ bridge boundary. > > Add regression coverage for an oversized 4D CLUT grid. > > Bug: 513702971 > Change-Id: Ib9167dc0c499d45262414602cf0f010909aff642 > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1241196 > Commit-Queue: Kaylee Lubick <kjlubick@google.com> > Reviewed-by: Kaylee Lubick <kjlubick@google.com> > Reviewed-by: Florin Malita <fmalita@google.com> (cherry picked from commit 9309dfc) Bug: 515954052,513702971 Change-Id: Ib9167dc0c499d45262414602cf0f010909aff642 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1245776 Reviewed-by: Kaylee Lubick <kjlubick@google.com> Reviewed-by: Alexis Cruz-Ayala <alexisdavidc@google.com>
Original change's description: > Roll skcms from a7a3b15f0635 to 6010f3583977 (1 revision) > > https://skia.googlesource.com/skcms.git/+log/a7a3b15f0635..6010f3583977 > > 2026-05-21 thomasanderson@google.com [skcms] Harden CLUT indexing, enforce limits, and add test case > > If this roll has caused a breakage, revert this CL and stop the roller > using the controls here: > https://autoroll.skia.org/r/skcms-skia-autoroll > Please CC kjlubick@google.com,robertphillips@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:Canary-Chromium > Tbr: kjlubick@google.com,robertphillips@google.com > Change-Id: Ifa588620a81758e8090bad663949162d57eef21d > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1241949 > 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> Bug: 515954052 Change-Id: Ifa588620a81758e8090bad663949162d57eef21d Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1245777 Reviewed-by: Kaylee Lubick <kjlubick@google.com> Reviewed-by: Alexis Cruz-Ayala <alexisdavidc@google.com>
Importantly, we don't want typefaces or textblobs in SkPictureBackedGlyphDrawable. In fact, we can look at the code used to make the drawables by our various backends [1][2][3][4] and see we only draw paths and use paints. Thus, we can restrict deserializing these to just those (and the helper tags). The SVG fonts could be a bit more complex [5] but chromium doesn't use those (SkGraphics::SetOpenTypeSVGDecoderFactory is never called) See also http://graphviz/#57cc93d0c3c73546055bec64fa8e27cb [1] https://skia.googlesource.com/skia/+/9da67e212e59fbe4f144a92315ca6f8b876c9c01/src/ports/SkFontHost_FreeType_common.cpp#1567 [2] https://skia.googlesource.com/skia/+/9da67e212e59fbe4f144a92315ca6f8b876c9c01/src/ports/SkFontHost_FreeType_common.cpp#1078 [3] https://skia.googlesource.com/skia/+/9da67e212e59fbe4f144a92315ca6f8b876c9c01/src/ports/SkScalerContext_win_dw.cpp#677 [4] https://skia.googlesource.com/skia/+/9da67e212e59fbe4f144a92315ca6f8b876c9c01/src/ports/SkTypeface_fontations.cpp#1336 [4] https://skia.googlesource.com/skia/+/9da67e212e59fbe4f144a92315ca6f8b876c9c01/modules/svg/src/SkSVGOpenTypeSVGDecoder.cpp#160 Bug: 516457532 Fixed: 517794301 Change-Id: If852aac417e04f5574dd073138abbe74f792734e Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1245617 Reviewed-by: Florin Malita <fmalita@google.com> (cherry picked from commit f1b8ba8) Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1249796 Reviewed-by: Alexis Cruz-Ayala <alexisdavidc@google.com> Auto-Submit: Kaylee Lubick <kjlubick@google.com> Commit-Queue: Alexis Cruz-Ayala <alexisdavidc@google.com>
Original change's description: > Turn off LCD in SDF slugs when downscaling too far > > LCD text samples the glyph at 1/3 offsets derived from screen-space > derivatives of its local coords. Each SDF atlas only has 2px of > transparent padding that these offsets can read into. > > If an LCD slug was downscaled after creating its masks by a scale > of ~0.2, its R and B samples could extend into adjacent glyphs. > At such a downscaling, the SDF is already fairly low quality because > it's not sampled by mipmaps. IMO switching to grayscale SDF looked > better because it approached smooth gray vs. randomized colors. > > This applies to both Ganesh and Graphite, although Graphite is able to > continue to use LCD with SDFs when there's perspective. Since Ganesh > only uses SkMatrix and not Transform, there's no easy way to estimate > the perspective scale factors applied over the slug's bounding box. > > I tested by modifying GM_slug to use LCD and SDF fonts and interacted > with viewer's dynamic transforms to trigger the switch between modes. > > Bug: 516915337 > Change-Id: Idfa838cfe4ff9443bf2c15078ff52d34a5a5c8f3 > Fixed: 516915337 > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1251156 > Reviewed-by: Thomas Smith <thomsmit@google.com> > Commit-Queue: Michael Ludwig <michaelludwig@google.com> (cherry picked from commit 95dbfa2) Bug: 519445145,516915337,516915337 Change-Id: Idfa838cfe4ff9443bf2c15078ff52d34a5a5c8f3 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1253999 Auto-Submit: Chrome Cherry Picker <chrome-cherry-picker@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
* Allow subRuns which are drawn with drawable or path rendering to exit gracefully instead of failing. * Remove erroneous SFINAE This reverts commit c480ba2. Original change's description: > Revert "Reconstruct subRun bounds from glyphs" > > This reverts commit f93ed13. > > Reason for revert: SkRemoteGlyphCacheTest failures and build failures > > ../../../../../skia/tests/SkRemoteGlyphCacheTest.cpp:193:37: error: unused function template 'get_container_ptr' [-Werror,-Wunused-template] > 193 | const sktext::gpu::SubRunContainer* get_container_ptr(const T& t) { > | ^~~~~~~~~~~~~~~~~ > ../../../../../skia/tests/SkRemoteGlyphCacheTest.cpp:212:37: error: unused function template 'get_container' [-Werror,-Wunused-template] > 212 | const sktext::gpu::SubRunContainer* get_container(T* slugImpl) { > | ^~~~~~~~~~~~~ > 2 errors generated. > > and > > > ../../../../../skia/tests/SkRemoteGlyphCacheTest.cpp:660 Dst subrun is null for TransformedMaskSubRun [SkRemoteGlyphCache_SubRunBoundsReconstruction, OpenGL] > > Original change's description: > > Reconstruct subRun bounds from glyphs > > > > * Reconstruct the bounds of a subRun after deserialization instead of packaging onto the VertexFiller. > > > > * An attacker could create a VertexFiller with creation bounds that did not contain its glyphs but were entirely contained within the current clip, enabling to the glyphs to ignore the creation bounds clip and sample from stale scratch textures > > > > Bug: b/513948227 > > Change-Id: Ib4902657e6a50dd5675db4d73a1576b77c4ce88e > > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1239916 > > Commit-Queue: Thomas Smith <thomsmit@google.com> > > Reviewed-by: Michael Ludwig <michaelludwig@google.com> > > Bug: b/513948227 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Change-Id: Ide85466e17b870d2cc738bd25602d6cbf65d332b > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1249276 > Auto-Submit: Michael Ludwig <michaelludwig@google.com> > Commit-Queue: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> > Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> Bug: 520919400 Change-Id: I7f5bff928f1b58830075c1ec6ca15600d49519c9 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1249536 Reviewed-by: Michael Ludwig <michaelludwig@google.com> Commit-Queue: Thomas Smith <thomsmit@google.com> (cherry picked from commit b854499) Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1257281 Auto-Submit: Kaylee Lubick <kjlubick@google.com> Reviewed-by: Thomas Smith <thomsmit@google.com> Commit-Queue: Kaylee Lubick <kjlubick@google.com>
This shouldn't happen during normal use [1] but if the data is corrupted, there are some assumptions that can can cause issues, like the ones linked in the bug. This rejects those and turns one assert into an actual runtime check to provide defense in depth. [1] https://github.com/google/skia/blob/9eecbdc30f7da675edab96974b23174a9d521e0c/src/text/gpu/SubRunContainer.cpp#L1578-L1581 Bug: 520113415 Fixed: 520919400 Change-Id: I6ec23df9a23ea588fa89f7a62dc1f197fe3905fe Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1256016 Commit-Queue: Kaylee Lubick <kjlubick@google.com> Reviewed-by: Thomas Smith <thomsmit@google.com> (cherry picked from commit a145861) Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1257616 Auto-Submit: Kaylee Lubick <kjlubick@google.com>
Original change's description: > Avoid improper mask formats for SDFT runs > > SDFTSubRun has a hard assumption of the kA8 mask format and > if the vertex filler differs, there will be a memory mismatch. > > This catches it when deserializing the Slug and changes the > debug-only assert to be runtime to make sure we don't miss other > places. > > Bug: 520571816 > Fixed: 520571816 > Change-Id: I9ae3e509397e23d38d621cb7eb8bb5b955a43d7d > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1257397 > Commit-Queue: Kaylee Lubick <kjlubick@google.com> > Reviewed-by: Michael Ludwig <michaelludwig@google.com> > Reviewed-by: Thomas Smith <thomsmit@google.com> (cherry picked from commit eac1515) Bug: 522134839,520571816,520571816 Change-Id: I9ae3e509397e23d38d621cb7eb8bb5b955a43d7d Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1260696 Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Chrome Cherry Picker <chrome-cherry-picker@chops-service-accounts.iam.gserviceaccount.com>
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
chrome/m149.mono/skia PR Summary: Merge upstream chrome/m149
Overview
Upstream Skia milestone m149 merged into
skia-sync/m149branch targetingskiasharp.Upstream Merge
upstream/chrome/m149(google/skia)origin/skiasharpat1a155bae3a([skia] Merge upstream chrome/m148 [skia-sync] Merge upstream chrome/m148 #250)cgmanifest.jsonupstream_merge_commitfieldConflicts Resolved
DEPSinfra_revisionRELEASE_NOTES.mdsrc/core/SkPixmap.cppsrc/gpu/graphite/render/SDFTextLCDRenderStep.cpptests/RegionTest.cpptests/SkGlyphTest.cppBreaking Change Analysis (m148→m149)
SkCodec::Registerremoved from public APISkShader::isOpaque()made pure virtualSkFontMgr::match()+fallback()new APIs withRequeststructSkFontArguments::Coordinatetag constants (wght, wdth, slnt, ital, opsz)GpuStatsFlagsbitfield operators addedAdaptiveGlobalToneMap::isValid()method addedsrc/gpu/graphite/C API Changes
None. No new C API functions added in this milestone update.
SK_C_INCREMENTremains at 0. No changes tosrc/c/*.cpporinclude/c/*.h.Validation
Items Needing Human Attention
SkFontMgr new APIs:
match()andfallback()withRequeststruct are new in m149. These are higher-level font matching APIs. Consider wrapping in a future API-add PR if needed by SkiaSharp users.SkPixmap.cpp fork patch: The fix for kRGBA_1010102/kBGRA_1010102 bit extraction was preserved. Upstream m149 has functionally equivalent logic (reads bits 0-9 as
r, swaps for BGRA). This patch could be removed in a follow-up PR after verification.Created by skia-upstream-sync.