)]}'
{
  "log": [
    {
      "commit": "815b987b2ca82b80993ebc08a309a5275522ab0e",
      "tree": "3f086fecd8e676e9091fc985cff542060021a8fa",
      "parents": [
        "9cd6309ba38152f66bc7f46fb330108b295847f0"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Sat Nov 14 06:36:03 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Sat Nov 14 14:08:03 2026 -0800"
      },
      "message": "Roll vulkan-deps from e6ae943c71ba to 809c642bb1d9 (1 revision)\n\nhttps://chromium.googlesource.com/vulkan-deps.git/+log/e6ae943c71ba..809c642bb1d9\n\nAlso rolling transitive DEPS:\n  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/87fafe27540fedfb506a25672c47a6d64aa5ad38..05f9e1ac1d9e8d9cba3fc686cc278e5077b3dfff\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/vulkan-deps-skia-autoroll\nPlease CC robertphillips@google.com,skiabot@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nCq-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\nBug: None\nChange-Id: I46dad225606bdb00eb186c297ea751f5dc3133a6\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1429116\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "9cd6309ba38152f66bc7f46fb330108b295847f0",
      "tree": "874c366c3630d9bffa28c56ecb3c85d419c122b3",
      "parents": [
        "741278733ac19dee96fe06ce9b1fa95bf4e88f6b"
      ],
      "author": {
        "name": "recipe-roller",
        "email": "recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com",
        "time": "Sat Nov 14 05:13:15 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Sat Nov 14 05:38:06 2026 -0800"
      },
      "message": "Roll recipe dependencies (trivial).\n\nThis is an automated CL created by the recipe roller. This CL rolls\nrecipe changes from upstream projects (recipe_engine) into this repository.\n\nThe build that created this CL was\nhttps://ci.chromium.org/b/8665154356256108145\n\nrecipe_engine:\nhttps://chromium.googlesource.com/infra/luci/recipes-py.git/+/d4faca7b2cda6a9f82e6649a43bae7de312eef59\n  d4faca7 (chromium-autoroll@skia-public.iam.gserviceaccount.com)\n      Roll CAS Client from 64bd8606515f to d84a4344b08a\n\nPlease check the following references for more information:\n- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller\n- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback\n- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md\n\nUse https://goo.gl/noib3a to file a bug.\n\nRecipe-Tryjob-Bypass-Reason: Autoroller\nIgnore-Freeze: Autoroller\nBugdroid-Send-Email: False\nChange-Id: If94bc3855f22a9f1cd4f5d871f5655dd9cfa30f1\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1428996\nBot-Commit: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com \u003crecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\u003e\nCommit-Queue: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com \u003crecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "741278733ac19dee96fe06ce9b1fa95bf4e88f6b",
      "tree": "35304a257736414695a97a2fb40b255fa417dbf8",
      "parents": [
        "0adba6acb0124c0662e6d7f597d275d791924584"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Fri Nov 13 17:19:03 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 13 18:33:05 2026 -0800"
      },
      "message": "Roll vulkan-deps from 0c2d3de01495 to e6ae943c71ba (7 revisions)\n\nhttps://chromium.googlesource.com/vulkan-deps.git/+log/0c2d3de01495..e6ae943c71ba\n\nAlso rolling transitive DEPS:\n  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/219905fa163f81568d5c049edcc11e5a7e8e9b43..87fafe27540fedfb506a25672c47a6d64aa5ad38\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/vulkan-deps-skia-autoroll\nPlease CC robertphillips@google.com,skiabot@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nCq-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\nBug: None\nChange-Id: I87ca2f4f1972ffc2061e8ccc16dd3d9c51398df5\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1428418\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0adba6acb0124c0662e6d7f597d275d791924584",
      "tree": "2a192e617d6bde08c6d7c5a9b0a78a447c67d67a",
      "parents": [
        "d426e7d44d66c9a940dd42f5dde62c712caf801a"
      ],
      "author": {
        "name": "recipe-roller",
        "email": "recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 13 14:43:14 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 13 15:06:44 2026 -0800"
      },
      "message": "Roll recipe dependencies (trivial).\n\nThis is an automated CL created by the recipe roller. This CL rolls\nrecipe changes from upstream projects (depot_tools) into this repository.\n\nThe build that created this CL was\nhttps://ci.chromium.org/b/8665209092483066641\n\ndepot_tools:\nhttps://chromium.googlesource.com/chromium/tools/depot_tools.git/+/7a339079d178fbc9c6f6230082843d6e00b2551f\n  7a33907 (no-reply@google.com)\n      repo: Update from upstream\n\nPlease check the following references for more information:\n- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller\n- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback\n- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md\n\nUse https://goo.gl/noib3a to file a bug.\n\nRecipe-Tryjob-Bypass-Reason: Autoroller\nIgnore-Freeze: Autoroller\nBugdroid-Send-Email: False\nChange-Id: I21e7c98bd78b1e04514e754d0e697ae890875a61\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1428896\nCommit-Queue: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com \u003crecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\u003e\nBot-Commit: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com \u003crecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d426e7d44d66c9a940dd42f5dde62c712caf801a",
      "tree": "ef89801900758e2d6a5f38eb0dd09f9bc33f65cf",
      "parents": [
        "720c26c7eb903a7f7c6d14c1ee1956b9e2b59e95"
      ],
      "author": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Fri Nov 13 13:38:19 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 13 13:42:09 2026 -0800"
      },
      "message": "Revert \"[ganesh] Guard GrBufferAllocPool against overflow\"\n\nThis reverts commit 774ce6985eb2eed8b822f8045edabc9d698eeeba.\n\nReason for revert: Breaking bots\n\nFailure Link: \u003cLINK TO FAILURE\u003e\n\nOriginal change\u0027s description:\n\u003e [ganesh] Guard GrBufferAllocPool against overflow\n\u003e\n\u003e Previously, GrBufferAllocPool::makeSpaceAtLeast checked whether the\n\u003e active block had sufficient space using raw unsigned addition (minSize +\n\u003e pad), which could wrap around size_t when minSize was near SIZE_MAX and\n\u003e write padding out of bounds.\n\u003e\n\u003e Check alignment rounding, padding additions, and vertex/index/indirect\n\u003e byte multiplications with SkSafeMath, and reject zero or negative sizes\n\u003e and counts. Cap single-block allocations to 1.5 GiB, make\n\u003e GrCpuBuffer::Make fallible via sk_malloc_canfail so oversized or OOM\n\u003e allocations return nullptr and skip the draw, and cap\n\u003e GrVertexChunkBuilder\u0027s initial heuristic preallocation to 512 KiB\n\u003e (growing up to 16 MiB per chunk as vertices are written) with a fallback\n\u003e to the default buffer size.\n\u003e\n\u003e Bug: 584003006\n\u003e Change-Id: Ic6e50df23729f569b8b77bf13c926d199719c89a\n\u003e Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1428176\n\u003e Commit-Queue: Thomas Smith \u003cthomsmit@google.com\u003e\n\u003e Reviewed-by: Nathan Sanchez \u003cnathanasanchez@google.com\u003e\n\u003e Reviewed-by: Thomas Smith \u003cthomsmit@google.com\u003e\n\nBug: 584003006\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nChange-Id: I8991481f48ddd09992cfb44496f76c0521ef238f\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1428317\nAuto-Submit: Greg Daniel \u003cegdaniel@google.com\u003e\nBot-Commit: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nCommit-Queue: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "720c26c7eb903a7f7c6d14c1ee1956b9e2b59e95",
      "tree": "b6b5261e67506a4740e649bd6ec9e353b88b07d9",
      "parents": [
        "3a33df646709eea34f703a46fb16d38d0e7fed0a"
      ],
      "author": {
        "name": "YeungKC",
        "email": "I@YeungKC.com",
        "time": "Sat Nov 07 02:08:55 2026 +0900"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 13 13:26:18 2026 -0800"
      },
      "message": "[skparagraph] Reuse the shaped ellipsis in layouts at other widths\n\nTextLine::createEllipsis shapes the ellipsis again for each run that it\ngoes back into, in each layout. A layout at a new width keeps fRuns,\nbut it shapes the ellipsis again. Each shaping makes a shaper and run\niterators, and can try the fonts of the style when the run font does\nnot have the ellipsis glyph.\n\nThe shaped ellipsis depends only on fRuns, the ellipsis text and the\nstyle block of the cluster. This change keeps it in ParagraphImpl for\neach run and style block, and clears it when the paragraph is shaped\nagain. createEllipsis now uses a copy of the kept run. As with the\nruns that ParagraphCache gives, the copy shares the glyph data.\n\nThe key has the style block, not only the run, because blocks whose\nfont sizes are nearly equal can share one run, but the ellipsis uses\nthe exact size of its block.\n\nThe output does not change. A new test lays out a paragraph at\ndifferent widths, where the line ends in two different runs, and\ncompares each ellipsis with the ellipsis of a new paragraph. It does\nthe same where two blocks with nearly equal font sizes share one run.\nIt also checks that a new font size shapes the ellipsis again.\n\nLayout of 200 chat preview paragraphs (about 80 code points of Latin,\nCJK, emoji and some Arabic), maxLines 1, ellipsis U+2026, with\nParagraphCache on. Layouts done in 300 ms on Apple M5 Pro, median of\n7 interleaved rounds:\n\n| Case                                  | Before | After  |\n|---------------------------------------|--------|--------|\n| Same paragraphs, width 200 and 201    | 144140 | 474860 |\n| New paragraph, then layout(200)       | 9660   | 9710   |\n| Same paragraphs, no ellipsis          | 495410 | 501730 |\n\nThe last two rows are in the noise range.\n\nChange-Id: I1b7c94c0ed1ed1c3679b09424c5e4bb902541855\n\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1420296\nReviewed-by: Alexis Cruz-Ayala \u003calexisdavidc@google.com\u003e\nReviewed-by: Julia Lavrova \u003cjlavrova@google.com\u003e\nCommit-Queue: Julia Lavrova \u003cjlavrova@google.com\u003e\n"
    },
    {
      "commit": "3a33df646709eea34f703a46fb16d38d0e7fed0a",
      "tree": "830c677b5ff5a84680d6f314485290ed7a213ae9",
      "parents": [
        "774ce6985eb2eed8b822f8045edabc9d698eeeba"
      ],
      "author": {
        "name": "Alexis Cruz-Ayala",
        "email": "alexisdavidc@google.com",
        "time": "Fri Nov 13 15:30:37 2026 -0500"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 13 12:57:23 2026 -0800"
      },
      "message": "[freetype] Guard outline bounds and precision\n\nFreeType\u0027s monochrome rasterizer enables high-precision mode from the\noutline flag and the destination bitmap size only, without looking at\nthe outline bounds. When consecutive glyph loads diverge, a small\ncached bitmap can be paired with a much larger outline, causing 32-bit\nBezier midpoint calculations to overflow.\n\nHarden outline rasterization when glyph loads diverge:\n\n- Validate that the outline is non-empty and fits in 26.6 fixed-point\n  before translating it in both LCD and non-LCD paths.\n- Translate non-LCD outlines relative to the destination glyph bounds\n  and skip outlines that do not overlap the target bitmap.\n- Reject translated outlines larger than 65,535 pixels and disable\n  high-precision mode when an outline extends outside the target bitmap.\n- Add unit tests for non-LCD clipping, translation overflow, and\n  monochrome high-precision bounds.\n\nBug: b/576952569\nFixed: b/576952569\nTest: dm --src tests -m FreeType_GenerateGlyphImageDivergentOutline\nChange-Id: Iea82c4b3df931bc55cd27158f5f507542aa68e32\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1428316\nCommit-Queue: Alexis Cruz-Ayala \u003calexisdavidc@google.com\u003e\nReviewed-by: Julia Lavrova \u003cjlavrova@google.com\u003e\n"
    },
    {
      "commit": "774ce6985eb2eed8b822f8045edabc9d698eeeba",
      "tree": "6141811165ce138679eda26728b0ac525c3b40fe",
      "parents": [
        "e8ff7a4187ecd9c98df14e7a617dd4ac5d74295a"
      ],
      "author": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Fri Nov 13 12:47:40 2026 -0500"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 13 12:51:01 2026 -0800"
      },
      "message": "[ganesh] Guard GrBufferAllocPool against overflow\n\nPreviously, GrBufferAllocPool::makeSpaceAtLeast checked whether the\nactive block had sufficient space using raw unsigned addition (minSize +\npad), which could wrap around size_t when minSize was near SIZE_MAX and\nwrite padding out of bounds.\n\nCheck alignment rounding, padding additions, and vertex/index/indirect\nbyte multiplications with SkSafeMath, and reject zero or negative sizes\nand counts. Cap single-block allocations to 1.5 GiB, make\nGrCpuBuffer::Make fallible via sk_malloc_canfail so oversized or OOM\nallocations return nullptr and skip the draw, and cap\nGrVertexChunkBuilder\u0027s initial heuristic preallocation to 512 KiB\n(growing up to 16 MiB per chunk as vertices are written) with a fallback\nto the default buffer size.\n\nBug: 584003006\nChange-Id: Ic6e50df23729f569b8b77bf13c926d199719c89a\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1428176\nCommit-Queue: Thomas Smith \u003cthomsmit@google.com\u003e\nReviewed-by: Nathan Sanchez \u003cnathanasanchez@google.com\u003e\nReviewed-by: Thomas Smith \u003cthomsmit@google.com\u003e\n"
    },
    {
      "commit": "e8ff7a4187ecd9c98df14e7a617dd4ac5d74295a",
      "tree": "6a90a603f1383266a7e4197b808a02e8f120c379",
      "parents": [
        "051dffdd184c0dc6539585f6c12e93e6ad78efcb"
      ],
      "author": {
        "name": "Nathan Sanchez",
        "email": "nathanasanchez@google.com",
        "time": "Fri Nov 13 11:55:01 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 13 11:57:48 2026 -0800"
      },
      "message": "Revert \"Reland \"[ganesh] Restrict GL and Metal dynamic scissors to pipeline drawBounds\"\"\n\nThis reverts commit 178c6efe61ab7f8edbd5a2b8f6d02f2a318fdaa7.\n\nReason for revert: Many Gold diffs cutting off AA and other edges\n\nFailure Link: e.g. https://gold.skia.org/detail?grouping\u003dname%3Dsmallcircles%26source_type%3Dgm\u0026digest\u003d18e56fc490527984fd902ba2f31c19cb https://gold.skia.org/detail?grouping\u003dname%3Dpersp_shaders_aa%26source_type%3Dgm\u0026digest\u003dbc1b06c07eff2f873002daa0237fcb42\n\nOriginal change\u0027s description:\n\u003e Reland \"[ganesh] Restrict GL and Metal dynamic scissors to pipeline drawBounds\"\n\u003e\n\u003e This reverts commit 50ba8e6d82572c55b146d8c802fe1fc14d47ca1c.\n\u003e\n\u003e Original change\u0027s description:\n\u003e \u003e Revert \"[ganesh] Restrict GL and Metal dynamic scissors to pipeline drawBounds\"\n\u003e \u003e\n\u003e \u003e This reverts commit 2de9e16e687f0c2f3c2f727f1dc395a9ebaf842b.\n\u003e \u003e\n\u003e \u003e Reason for revert: Probably blocking Chrome roll\n\u003e \u003e\n\u003e \u003e Failure Link: \u003cLINK TO FAILURE\u003e\n\u003e \u003e\n\u003e \u003e Original change\u0027s description:\n\u003e \u003e \u003e [ganesh] Restrict GL and Metal dynamic scissors to pipeline drawBounds\n\u003e \u003e \u003e\n\u003e \u003e \u003e When shader-based blending falls back to a partial SkBackingFit::kApprox\n\u003e \u003e \u003e dst copy, hardware blending is disabled and the fragment shader outputs\n\u003e \u003e \u003e mix(dstSample, blended, coverage) for every rasterized pixel—including\n\u003e \u003e \u003e zero-coverage pixels. Geometry that overshoots its declared opBounds\n\u003e \u003e \u003e (such as acute conic miters in AAHairlineOp) can sample uninitialized or\n\u003e \u003e \u003e stale scratch-texture memory outside copyRect and overwrite live render\n\u003e \u003e \u003e target pixels.\n\u003e \u003e \u003e\n\u003e \u003e \u003e Bring Ganesh OpenGL and Metal into parity with Vulkan and D3D12 by\n\u003e \u003e \u003e clamping dynamic scissor state to fCurrentPipelineBounds:\n\u003e \u003e \u003e\n\u003e \u003e \u003e - Track fCurrentPipelineBounds on GrGLOpsRenderPass (intersecting render\n\u003e \u003e \u003e   pass fContentBounds with drawBounds in float space before roundOut).\n\u003e \u003e \u003e   Configure the scissor via GrScissorState in both onBindPipeline (when\n\u003e \u003e \u003e   pipeline scissor is disabled) and onSetScissorRect (intersecting with\n\u003e \u003e \u003e   the dynamic scissor so kApprox saveLayers and loose clip bounds still\n\u003e \u003e \u003e   enforce drawBounds).\n\u003e \u003e \u003e - Remove flushScissorTest from GrGLGpu::flushGLState so consecutive\n\u003e \u003e \u003e   sub-RT draws do not toggle GL_SCISSOR_TEST, while keeping\n\u003e \u003e \u003e   GL_SCISSOR_TEST disabled when bounds cover the full render target.\n\u003e \u003e \u003e - Apply the same fCurrentPipelineBounds clamping in GrMtlOpsRenderPass\n\u003e \u003e \u003e   and initialize GrMtlRenderCommandEncoder::fCurrentScissorRect to an\n\u003e \u003e \u003e   invalid sentinel so an initial empty {0, 0, 0, 0} scissor is not\n\u003e \u003e \u003e   skipped on TopLeft surfaces.\n\u003e \u003e \u003e - Add GrPipelineDrawBoundsTest and GrDrawBoundsHairlineDstCopyTest.\n\u003e \u003e \u003e\n\u003e \u003e \u003e Change-Id: Ib2b1587f2f1b3adb15625797dfdadd03254d1012\n\u003e \u003e \u003e Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1417236\n\u003e \u003e \u003e Commit-Queue: Thomas Smith \u003cthomsmit@google.com\u003e\n\u003e \u003e \u003e Reviewed-by: Robert Phillips \u003crobertphillips@google.com\u003e\n\u003e \u003e\n\u003e \u003e No-Presubmit: true\n\u003e \u003e No-Tree-Checks: true\n\u003e \u003e No-Try: true\n\u003e \u003e Change-Id: Ia9736df670f1efc8221a9f4340c7474c4c6fff1c\n\u003e \u003e Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1423176\n\u003e \u003e Commit-Queue: Robert Phillips \u003crobertphillips@google.com\u003e\n\u003e \u003e Bot-Commit: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\n\u003e\n\u003e Change-Id: Ibb08c44c7034e6b75851acbd148b70564ad63c10\n\u003e Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1423178\n\u003e Reviewed-by: Thomas Smith \u003cthomsmit@google.com\u003e\n\u003e Commit-Queue: Thomas Smith \u003cthomsmit@google.com\u003e\n\u003e Reviewed-by: Nathan Sanchez \u003cnathanasanchez@google.com\u003e\n\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nChange-Id: I0848e5bda1804c7179edbea09a0568db179b63cc\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1428258\nCommit-Queue: Nathan Sanchez \u003cnathanasanchez@google.com\u003e\nReviewed-by: Thomas Smith \u003cthomsmit@google.com\u003e\n"
    },
    {
      "commit": "051dffdd184c0dc6539585f6c12e93e6ad78efcb",
      "tree": "d49921d30d5886408c506aed3a9821ae375f7b8b",
      "parents": [
        "5c10dc53321d0fd7994a6944aebe0603b4be05ea"
      ],
      "author": {
        "name": "Eric Boren",
        "email": "borenet@google.com",
        "time": "Fri Nov 13 18:43:58 2026 +0000"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 13 11:23:12 2026 -0800"
      },
      "message": "Add build.sh for canvaskit-emsdk\n\nChange-Id: Ica9a7df233627fc81400246e6428d7fbcae7e32d\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1428277\nCommit-Queue: Eric Boren \u003cborenet@google.com\u003e\nAuto-Submit: Eric Boren \u003cborenet@google.com\u003e\nCommit-Queue: Jorge Betancourt \u003cjmbetancourt@google.com\u003e\nReviewed-by: Jorge Betancourt \u003cjmbetancourt@google.com\u003e\n"
    },
    {
      "commit": "5c10dc53321d0fd7994a6944aebe0603b4be05ea",
      "tree": "b66d63a0408c62621a9161ccd2be45567044fd86",
      "parents": [
        "0a258fb153b8d879b00c7e00944d47249bbcccd4"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Fri Nov 13 09:58:33 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 13 11:17:03 2026 -0800"
      },
      "message": "Manual roll vulkan-deps from 3b515217adea to 0c2d3de01495 (8 revisions)\n\nManual roll requested by robertphillips@google.com\n\nhttps://chromium.googlesource.com/vulkan-deps.git/+log/3b515217adea..0c2d3de01495\n\nAlso rolling transitive DEPS:\n  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers/+log/6efe5ae6b7c6ad29da3f2cc3f164b9c3d72b78b1..5c6004e758e0c80185ef2cee93ae5c10fa342a5b\n  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/4772069f41ab84482c732dc73d35ec455494d0a3..219905fa163f81568d5c049edcc11e5a7e8e9b43\n  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/88487f687f3100ebe1d3559a8a34d971ee85b977..b26454f3ccd67e704117a39295fa13935fd3804c\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/vulkan-deps-skia-autoroll\nPlease CC robertphillips@google.com,skiabot@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nCq-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\nBug: None\nChange-Id: I7a7f5331e820e079a9d73f97d64b38eeee0b00ef\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1428296\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0a258fb153b8d879b00c7e00944d47249bbcccd4",
      "tree": "678fdf73135e61590ab87942cd4fbd97563584b3",
      "parents": [
        "b853aa6d0e60e34b0a7cf7f2059a1968c29e4fe0"
      ],
      "author": {
        "name": "David Bebawy",
        "email": "dbebawy@gmail.com",
        "time": "Mon Nov 02 13:53:19 2026 -0500"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 13 11:10:27 2026 -0800"
      },
      "message": "[skparagraph] Measure the hit glyph with its own justification shift\n\ngetGlyphPositionAtCoordinate measured the glyph under the point as\npositionX(found + 1) - positionX(found). positionX adds the\njustification shift stored at that position, and the slot at found + 1\nbelongs to the cluster that starts there: at the end of a line the next\nline writes it, at the end of a run it is the fake glyph, and in RTL it\nbelongs to a glyph on another line. On justified lines the width could\nthen come out negative, so a hit inside a glyph returned its neighbor.\n\nThe width now comes from run-\u003ecalculateWidth(found, found + 1, false),\nwhich takes the right edge from the glyph\u0027s own shift, the same way\ngetRectsForRange and painting do.\n\nFor example, in the text from flutter#155062 justified at width 300 in\nSource Han Serif CN 15, the box of index 77 is [283.24, 300), but a hit\ninside it returned 78 upstream. Hits on the trailing space of each\njustified line and on a space where the style changes also returned\nthe next index, and on an RTL line a hit near the end of a space\nbetween RTL and LTR runs returned the start of the space.\n\nThe new tests take the box of every code unit and check that hits near\nboth ends of it return that code unit. Boxes and painting don\u0027t change;\nthe skparagraph GMs are identical.\n\nJulia Lavrova found this and suggested the fix.\n\nR\u003djlavrova@google.com\n\nBug: https://github.com/flutter/flutter/issues/155062\nChange-Id: Ib99da00516590bfae5f02d02ef70a7fe1a5a8eb4\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1414016\nReviewed-by: Julia Lavrova \u003cjlavrova@google.com\u003e\nCommit-Queue: Alexis Cruz-Ayala \u003calexisdavidc@google.com\u003e\nReviewed-by: Alexis Cruz-Ayala \u003calexisdavidc@google.com\u003e\n"
    },
    {
      "commit": "b853aa6d0e60e34b0a7cf7f2059a1968c29e4fe0",
      "tree": "c17b94787077fa155321e09aa6877711214d5f2b",
      "parents": [
        "94697719dcc8f553858ca0624ae4ceaec1182995"
      ],
      "author": {
        "name": "wei cui",
        "email": "cwei97388@gmail.com",
        "time": "Wed Nov 04 09:59:43 2026 +0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 13 10:51:16 2026 -0800"
      },
      "message": "Prefer matchFamilyStyle in FontCollection\n\nFontCollection::matchTypeface calls SkFontMgr::matchFamily() and then\nSkFontStyleSet::matchStyle(). On Linux, SkFontMgr_fontconfig\u0027s\nonMatchFamily() walks every font in the system and scans each matching\nfont file. Resolving the default Linux font fallback list therefore\ntakes seconds on the first layout.\n\nSkFontMgr::matchFamilyStyle() is the direct single-face lookup. The\nfontconfig implementation uses FcFontMatch() and is two orders of\nmagnitude faster for the same family list. Keep the previous\nmatchFamily()/matchStyle() path as a fallback for font managers that do\nnot return a match from matchFamilyStyle().\n\nAdd a unit test with a font manager that resolves styles directly to\nensure the fast path is used. Also isolate Apple Color Emoji family\nqueries in CountingFontMgr::fEmojiFamilyMatches so that\nSkParagraph_FallbackCacheAcrossParagraphs checks the emoji fallback cache\nrather than every matchFamilyStyle() call; without this the test fails on\nMac NativeFonts_Fontations (fFamilyStyleMatches \u003d\u003d 2, \u003c\u003d 1 expected).\nTest fix from Julia Lavrova\u0027s companion CL 1414542.\n\nLinux probe (system fonts, cold process):\n  before: 3.4-4.1 s for the default fallback list\n  after:  28-39 ms\n\nCJK fallback is unchanged: defaultFallback(U+4E2D) still returns\nNoto Sans CJK JP in the probe.\n\nR\u003dbungeman@google.com, jsimmons@google.com, jlavrova@google.com\n\nChange-Id: Ie103b0c46e849b1f38e73836eab16510a6571eca\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1400176\nCommit-Queue: Alexis Cruz-Ayala \u003calexisdavidc@google.com\u003e\nReviewed-by: Julia Lavrova \u003cjlavrova@google.com\u003e\nReviewed-by: Alexis Cruz-Ayala \u003calexisdavidc@google.com\u003e\n"
    },
    {
      "commit": "94697719dcc8f553858ca0624ae4ceaec1182995",
      "tree": "9d4c7b8809ede517d8ad57232c5c1bf7ea81e97c",
      "parents": [
        "ebeb7a808a273179cebacf907d148fd52773a04f"
      ],
      "author": {
        "name": "Sergio Gonzalez Martin",
        "email": "sergiog@microsoft.com",
        "time": "Wed Nov 11 21:56:09 2026 +0000"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 13 10:34:05 2026 -0800"
      },
      "message": "[rust jpeg] Limit metadata reads to JPEG headers\n\nRust codec initialization currently copies every available encoded byte\nwhile parsing only headers. Read in 8 KiB chunks until SOS instead, and\nleave the remaining input for pixel decoding.\n\nPreserve decoder checkpoints across short reads. If the segment scanner\nrejects padding that zune may accept, read the remaining available input\nonce before parsing, as before this change. This avoids quadratic replay\nwithout rejecting previously accepted input.\n\nFor mandrill_512_q075.jpg, metadata construction reads 8,192 bytes\ninstead of 77,244. The accepted-padding reproducer with 16 MiB of APP\nheaders improves from 665.5 ms to 12.95 ms after fixing the retry loop.\n\nTest growing and complete input, large APP headers, SOS chunk\nboundaries, scanner mismatches, long padding, and unchanged decoded\npixels.\n\nBug: 583910157\nBug: 583931030\nBug: 584016781\nBug: 493315750\nChange-Id: I1b2db4d3383d3880a9e6bcc53f2d09bc0d11815a\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1425036\nReviewed-by: Florin Malita \u003cfmalita@google.com\u003e\nCommit-Queue: Sergio Gonzalez Martin \u003csergiog@microsoft.com\u003e\nReviewed-by: Łukasz Anforowicz \u003clukasza@google.com\u003e\n"
    },
    {
      "commit": "ebeb7a808a273179cebacf907d148fd52773a04f",
      "tree": "753b0fb0fcec9d1325a17a61d6b562411df1b13a",
      "parents": [
        "178c6efe61ab7f8edbd5a2b8f6d02f2a318fdaa7"
      ],
      "author": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Fri Nov 13 13:04:50 2026 -0500"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 13 10:32:57 2026 -0800"
      },
      "message": "[Ganesh] Rebase CPU buffers per draw in GL\n\nWhen fDisableDriverCorrectnessWorkarounds is enabled (such as in strict\nCTS/SkQP runs), fDrawArraysBaseVertexIsBroken and\nfAvoidLargeIndexBufferDraws were disabled on Qualcomm GLES while\nfPreferClientSideDynamicBuffers remained enabled. Binding a client-side\nGrCpuBuffer at offset 0 and calling glDrawArrays or glDrawRangeElements\nwith increasing baseVertex/maxIndex offsets caused the Adreno GLES\ndriver to allocate and copy [0 .. first + count) vertices on every draw,\nconsuming O(N^2) driver memory (~1 GB in a single 4,096-quad op in\nBulkTextureRectTest) and triggering LMKD kills on 2 GB devices.\n\nAlways defer binding CPU-backed vertex and instance buffers in\nGrGLOpsRenderPass so client-side pointers are rebased per draw instead\nof passing non-zero baseVertex/baseInstance offsets on a 0-based CPU\npointer. Move Qualcomm\u0027s fAvoidLargeIndexBufferDraws performance cap\ninto GrGLCaps::init() so indexed draws also rebase per draw with client\narrays, gate desktop GL native indirect draws on non-CPU buffers, and\nreset fUsingCpuBuffer when rebinding a GPU buffer in GrGLVertexArray.\n\nAlso shrink BulkRectTest surface and proxy dimensions from 128x128 to\n8x8 and pass GrSyncCpu::kYes to flushAndSubmit() between subtests so\ntexture allocations and in-flight GPU work are reclaimed promptly.\n\nBug: 584627496\nTest: dm --src tests -m GrMeshTest BulkFillRectTest BulkTextureRectTest\nChange-Id: Icb4abbdab106ba89e07f2e2cdc1702bb2da70e1a\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1425096\nReviewed-by: Nathan Sanchez \u003cnathanasanchez@google.com\u003e\nCommit-Queue: Greg Daniel \u003cegdaniel@google.com\u003e\n"
    },
    {
      "commit": "178c6efe61ab7f8edbd5a2b8f6d02f2a318fdaa7",
      "tree": "71fa636d7ef6643dddb2d468bfef56f190b6c1f7",
      "parents": [
        "4a57053b1e9805d9610da673bf3a8fa027f987c3"
      ],
      "author": {
        "name": "Nathan Sanchez",
        "email": "nathanasanchez@google.com",
        "time": "Thu Nov 12 13:21:22 2026 -0500"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 13 10:22:04 2026 -0800"
      },
      "message": "Reland \"[ganesh] Restrict GL and Metal dynamic scissors to pipeline drawBounds\"\n\nThis reverts commit 50ba8e6d82572c55b146d8c802fe1fc14d47ca1c.\n\nOriginal change\u0027s description:\n\u003e Revert \"[ganesh] Restrict GL and Metal dynamic scissors to pipeline drawBounds\"\n\u003e\n\u003e This reverts commit 2de9e16e687f0c2f3c2f727f1dc395a9ebaf842b.\n\u003e\n\u003e Reason for revert: Probably blocking Chrome roll\n\u003e\n\u003e Failure Link: \u003cLINK TO FAILURE\u003e\n\u003e\n\u003e Original change\u0027s description:\n\u003e \u003e [ganesh] Restrict GL and Metal dynamic scissors to pipeline drawBounds\n\u003e \u003e\n\u003e \u003e When shader-based blending falls back to a partial SkBackingFit::kApprox\n\u003e \u003e dst copy, hardware blending is disabled and the fragment shader outputs\n\u003e \u003e mix(dstSample, blended, coverage) for every rasterized pixel—including\n\u003e \u003e zero-coverage pixels. Geometry that overshoots its declared opBounds\n\u003e \u003e (such as acute conic miters in AAHairlineOp) can sample uninitialized or\n\u003e \u003e stale scratch-texture memory outside copyRect and overwrite live render\n\u003e \u003e target pixels.\n\u003e \u003e\n\u003e \u003e Bring Ganesh OpenGL and Metal into parity with Vulkan and D3D12 by\n\u003e \u003e clamping dynamic scissor state to fCurrentPipelineBounds:\n\u003e \u003e\n\u003e \u003e - Track fCurrentPipelineBounds on GrGLOpsRenderPass (intersecting render\n\u003e \u003e   pass fContentBounds with drawBounds in float space before roundOut).\n\u003e \u003e   Configure the scissor via GrScissorState in both onBindPipeline (when\n\u003e \u003e   pipeline scissor is disabled) and onSetScissorRect (intersecting with\n\u003e \u003e   the dynamic scissor so kApprox saveLayers and loose clip bounds still\n\u003e \u003e   enforce drawBounds).\n\u003e \u003e - Remove flushScissorTest from GrGLGpu::flushGLState so consecutive\n\u003e \u003e   sub-RT draws do not toggle GL_SCISSOR_TEST, while keeping\n\u003e \u003e   GL_SCISSOR_TEST disabled when bounds cover the full render target.\n\u003e \u003e - Apply the same fCurrentPipelineBounds clamping in GrMtlOpsRenderPass\n\u003e \u003e   and initialize GrMtlRenderCommandEncoder::fCurrentScissorRect to an\n\u003e \u003e   invalid sentinel so an initial empty {0, 0, 0, 0} scissor is not\n\u003e \u003e   skipped on TopLeft surfaces.\n\u003e \u003e - Add GrPipelineDrawBoundsTest and GrDrawBoundsHairlineDstCopyTest.\n\u003e \u003e\n\u003e \u003e Change-Id: Ib2b1587f2f1b3adb15625797dfdadd03254d1012\n\u003e \u003e Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1417236\n\u003e \u003e Commit-Queue: Thomas Smith \u003cthomsmit@google.com\u003e\n\u003e \u003e Reviewed-by: Robert Phillips \u003crobertphillips@google.com\u003e\n\u003e\n\u003e No-Presubmit: true\n\u003e No-Tree-Checks: true\n\u003e No-Try: true\n\u003e Change-Id: Ia9736df670f1efc8221a9f4340c7474c4c6fff1c\n\u003e Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1423176\n\u003e Commit-Queue: Robert Phillips \u003crobertphillips@google.com\u003e\n\u003e Bot-Commit: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\n\nChange-Id: Ibb08c44c7034e6b75851acbd148b70564ad63c10\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1423178\nReviewed-by: Thomas Smith \u003cthomsmit@google.com\u003e\nCommit-Queue: Thomas Smith \u003cthomsmit@google.com\u003e\nReviewed-by: Nathan Sanchez \u003cnathanasanchez@google.com\u003e\n"
    },
    {
      "commit": "4a57053b1e9805d9610da673bf3a8fa027f987c3",
      "tree": "09012fbef31d42062b72a0a8882d7c6b66495255",
      "parents": [
        "11f46cfe883845e427e788e8741adfb6fb78d645"
      ],
      "author": {
        "name": "Bryan Enrique Gonzalez Velez",
        "email": "bryanenriquegv@google.com",
        "time": "Thu Nov 12 22:16:26 2026 +0000"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 13 10:21:06 2026 -0800"
      },
      "message": "[spanify] Spanify pixel-compare, blur, geometry, matrix tests (Wave 0)\n\n- Migrate C-style arrays and raw pointer parameters to std::array and\n  SkSpan in tests/AAClipTest, BackendAllocationTest, BlurTest,\n  CompressedBackendAllocationTest, DataRefTest, GeometryTest,\n  GrQuadBufferTest, GradientTest, LRUCacheTest, and MatrixProcsTest,\n  dropping now-redundant count parameters and NUM_TESTS-style index\n  loops in favor of range-for.\n- tests/ComparePixels: ComparePixels and CheckSolidPixels now take\n  SkSpan\u003cconst float, 4\u003e tolerances; existing float[4] callers convert\n  implicitly and are unchanged. Internally, compare_colors takes spans\n  and per-pixel RGBA_F32 values are bounds-checked subspans of a single\n  per-pixmap view, leaving one SK_UNSAFE_TODO until SkPixmap exposes a\n  span accessor.\n- tests/GradientTest: GradRec stores its fixed-size points/radii by\n  value as std::array instead of borrowed pointers.\n- No assertion is weakened; the affected tests pass on CPU and\n  Ganesh/Graphite Vulkan.\n\nPerformance Verification: Verified as part of the full Wave 0 XL batch\n(https://skia-review.googlesource.com/c/skia/+/1409352, base commit\n607de4b035dcf7fdbaafb66c6cc04f22009ff4d4) across 8888, gl, and grvk\nusing ABBA-interleaved nanobench (N\u003d30, retry-samples\u003d150, BH-FDR\u003d0.05)\nwith 0 regressions:\nhttps://docs.google.com/spreadsheets/d/1W--egaOxnJk2SVbTTfMJWESDq_V7UnhDHU2EgZ74qG8/edit#gid\u003d0\n\nBug: 505484715\nChange-Id: I354ed6dacb807288602fa61c36c5644c269b232e\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1423957\nReviewed-by: Alexis Cruz-Ayala \u003calexisdavidc@google.com\u003e\nCommit-Queue: Alexis Cruz-Ayala \u003calexisdavidc@google.com\u003e\n"
    },
    {
      "commit": "11f46cfe883845e427e788e8741adfb6fb78d645",
      "tree": "39aaf6689c1fadd5b73788c85f9fd3e626cd3d56",
      "parents": [
        "6645a930056e0ee8d70f881af7a77a3f7bc1e874"
      ],
      "author": {
        "name": "Jorge Betancourt",
        "email": "jmbetancourt@google.com",
        "time": "Fri Nov 13 09:52:53 2026 -0500"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 13 07:23:08 2026 -0800"
      },
      "message": "Avoid float equality for hashing image filters\n\nThe issue came from Value::Hash() performing a hash on the complete\nbyte representation while SkImageFilterCacheKey::operator\u003d\u003d() did it\nnumerically. Doing a memcmp fixes the following:\n\n1) Float comparisons of -0.0f and +0.0f can equate to true if denormals as zero (DAZ) is enabled, false otherwise, and this can be flipped at runtime (like with ScopedSubnormalFloatDisabler in Chrome).\n2) fTypeMask was not considered in equality when it should have been.\n\nBug: b/574044271\nChange-Id: Id9db5a3771c0b5d7ff6a2819a70a8b43d40b6455\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1426736\nCommit-Queue: Jorge Betancourt \u003cjmbetancourt@google.com\u003e\nReviewed-by: Thomas Smith \u003cthomsmit@google.com\u003e\n"
    },
    {
      "commit": "6645a930056e0ee8d70f881af7a77a3f7bc1e874",
      "tree": "2d9b14b84d2719f577f51c58ebaee0dbffa4ef18",
      "parents": [
        "5b54980417723f572c12e3cdf96a7440e6c53407"
      ],
      "author": {
        "name": "Sarah rust",
        "email": "sarahrust@google.com",
        "time": "Tue Nov 10 21:23:23 2026 +0000"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 13 07:15:12 2026 -0800"
      },
      "message": "Add guard around clang::reinitializes for non-clang builds.\n\nBug: b/567653168\nChange-Id: I64a346e53180e5f2adc8f5292bfe4daa19d7842f\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1423200\nReviewed-by: Greg Daniel \u003cegdaniel@google.com\u003e\nCommit-Queue: Sarah Rust \u003csarahrust@google.com\u003e\n"
    },
    {
      "commit": "5b54980417723f572c12e3cdf96a7440e6c53407",
      "tree": "6493543effaea40313083fedbf3b82b8bddd9743",
      "parents": [
        "402537ccb87513dddbc94bc74d4db14a49dc6240"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Fri Nov 13 04:50:07 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 13 06:05:49 2026 -0800"
      },
      "message": "Manual roll ANGLE from 4f74e3988571 to d24b707bc574 (6 revisions)\n\nManual roll requested by robertphillips@google.com\n\nhttps://chromium.googlesource.com/angle/angle.git/+log/4f74e3988571..d24b707bc574\n\n2026-11-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 660bf91094b9 to 3b515217adea (20 revisions)\n2026-11-13 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 1eb2d9fcf088 to 3f78e935a5cb (1217 revisions)\n2026-11-13 zmo@chromium.org GL: Clamp max fragment texture image units to 13 on PowerVR\n2026-11-13 zmo@chromium.org GL: Limit expanded variable fields per shader on PowerVR\n2026-11-13 abdolrashidi@google.com Tests: Skip i_am_security on Pixel 6\n2026-11-13 cclao@google.com Skip the flaky test DrawThenBlitThenDrawWithXFB on win+intel\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/angle-skia-autoroll\nPlease CC jmadill@google.com,robertphillips@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nCq-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\nTest: Test: angle_end2end_tests --gtest_filter\u003d*LinkAndRelinkMaxTextureImageUnits13*\nTest: Test: angle_end2end_tests --gtest_filter\u003d*NestedStructsInUniformBlocks*\nTest: Test: angle_unittests --gtest_filter\u003d*TooMany*\nChange-Id: I600fb728dacb8fe9b194b04c96f094ca494c0ab1\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1428016\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "402537ccb87513dddbc94bc74d4db14a49dc6240",
      "tree": "74f30f5d3f329091dc5504f12ce8114887ec60b2",
      "parents": [
        "3671857860c507015c10d98e68e63179ae9e087b"
      ],
      "author": {
        "name": "Jorge Betancourt",
        "email": "jmbetancourt@google.com",
        "time": "Fri Oct 30 10:11:33 2026 -0400"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 13 05:52:04 2026 -0800"
      },
      "message": "Update compiler and linker for Mac to support latest Xcode\n\nNewer versions of Xcode have newer TBD files that added a new architecture target slice (arm64e.x1-macos). Upstream LLVM added support in https://github.com/llvm/llvm-project/pull/222721.\n\nChange-Id: Ie275c9418b4dde2a8ae5feb64312051c0f381509\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1410496\nReviewed-by: Eric Boren \u003cborenet@google.com\u003e\nCommit-Queue: Jorge Betancourt \u003cjmbetancourt@google.com\u003e\n"
    },
    {
      "commit": "3671857860c507015c10d98e68e63179ae9e087b",
      "tree": "0d141a2d88038d7ab15a6cc3564741b9ab5d7fd1",
      "parents": [
        "97503f56a68de722e7b9cecf3cfae44dddb394d8"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Fri Nov 13 04:03:34 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 13 05:16:10 2026 -0800"
      },
      "message": "Roll vulkan-deps from b142ae607b17 to 3b515217adea (5 revisions)\n\nhttps://chromium.googlesource.com/vulkan-deps.git/+log/b142ae607b17..3b515217adea\n\nAlso rolling transitive DEPS:\n  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/9292223bfc8bf81020bc649eb3aaa5999fb6959d..4772069f41ab84482c732dc73d35ec455494d0a3\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/vulkan-deps-skia-autoroll\nPlease CC robertphillips@google.com,skiabot@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nCq-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\nBug: None\nChange-Id: I0fc58513673ae2c892f6128d78b339c3acffe6f1\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1427936\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "97503f56a68de722e7b9cecf3cfae44dddb394d8",
      "tree": "c66df701ee9beeb3cff98666c9c594a724005ccd",
      "parents": [
        "bfa7ff9b8db9eefbfa2a45d15b620592a9f36f59"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Fri Nov 13 03:18:10 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 13 04:15:40 2026 -0800"
      },
      "message": "Manual roll Dawn from 39a385f22ab4 to 583a36ec971f (10 revisions)\n\nManual roll requested by robertphillips@google.com\n\nhttps://dawn.googlesource.com/dawn.git/+log/39a385f22ab4..583a36ec971f\n\n2026-11-13 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 1eb2d9fcf088 to 3f78e935a5cb (1217 revisions)\n2026-11-13 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from c2cfebd8f340 to b77c129b4c9d (15 revisions)\n2026-11-13 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll DirectX Shader Compiler from c8611f6ff76e to 49fea47e722b (6 revisions)\n2026-11-13 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll V8 from a9909cbabd9f to 4af304604fe4 (56 revisions)\n2026-11-13 hocheung@chromium.org Make DeviceBase::ReduceMemoryUsageImpl return ResultOrError\u003cbool\u003e\n2026-11-13 lehoangquyen@chromium.org Use LRUCache for temporary uniform buffers in DeviceBase\n2026-11-13 lehoangquyen@chromium.org Add ClearDepthWithDraw toggle and workaround\n2026-11-13 lehoangquyen@chromium.org Rename ApplyClearColorValueWithDrawHelper to ApplyClearWithDrawHelper\n2026-11-13 kainino@chromium.org [dawn][metal] Remove lazy vertex buffer setting\n2026-11-13 kainino@chromium.org [dawn][metal] ArgBufs: simplify mapping of vertex buffer slots\n\nAlso rolling transitive DEPS:\n  https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/cc7c44411318a2e499e69ebd778cd22d82bd2860..ecb00cc74a6251b273c78789f947d3eb280dd093\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/dawn-skia-autoroll\nPlease CC cwallez@google.com,rharrison@google.com,robertphillips@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nCq-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\nBug: None\nChange-Id: I8bdb2b904842602e8d662609e25ff119f7e0be7e\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1427203\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "bfa7ff9b8db9eefbfa2a45d15b620592a9f36f59",
      "tree": "963869a30889b8bf7a2f10d3634e5cbc3630e66d",
      "parents": [
        "8b6821a5bbae84e944805910722adb1a67d285d7"
      ],
      "author": {
        "name": "Daniel Cheng",
        "email": "dcheng@chromium.org",
        "time": "Mon Nov 09 16:27:54 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 13 00:02:01 2026 -0800"
      },
      "message": "Pass attributes directly in SkXMLParser::onStartElement()\n\nXML parser libraries such as expat and xml-rs  provide all attributes\nwhen emitting a start-element event. Remove `onAddAttribute()` and pass\na `SkSpan\u003cconst Attribute\u003e` parameter in `onStartElement()` instead.\nThis simplifies `SkDOMParser` significantly since it no longer needs to\nbuffer and flush attributes.\n\nAlso consistently use `std::string_view` in `onStartElement()`,\n`onEndElement()`, and `onText()` callbacks: later changes will add a\nxml-rs backend to `SkXMLParser`, and Rust `\u0026str`s are not guaranteed to\nbe NUL-terminated.\n\nBug: 512908978\nChange-Id: Ic446edcc60b4157a4f096d5aa74a0c83b26417ba\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1422459\nCommit-Queue: Daniel Cheng \u003cdcheng@chromium.org\u003e\nReviewed-by: Florin Malita \u003cfmalita@google.com\u003e\nReviewed-by: Alexis Cruz-Ayala \u003calexisdavidc@google.com\u003e\n"
    },
    {
      "commit": "8b6821a5bbae84e944805910722adb1a67d285d7",
      "tree": "e64e942cb4bfd894f3066301c31eaba91b89fef7",
      "parents": [
        "52a6822e5311b947bf67c20e33833775c981ea09"
      ],
      "author": {
        "name": "Daniel Cheng",
        "email": "dcheng@chromium.org",
        "time": "Mon Nov 09 16:15:10 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Fri Nov 13 00:01:48 2026 -0800"
      },
      "message": "Remove SkXMLParserWriter and synthetic SkXMLParser event APIs\n\n`SkXMLParser` was previously not just a stream parser, but also used as\na general SAX-style XML event sink. This allowed code to drive\n`SkXMLParser` subclasses like `SkDOMParser` without actually producing\nXML (since it would be immediately reparsed anyway). However, many of\nthe original users of this functionality (e.g. binary XML) have been\nremoved from Skia; `SkXMLParserWriter` (only used in tests) is the sole\nremaining user.\n\nMore importantly, supporting `SkXMLParserWriter` (which adds attributes\nincrementally after `startElement()`) makes it hard to pass  attributes\ndirectly in `onStartElement()`. In turn, this complicates consolidating\nall XML parsing into `SkXMLParser`, since the `FamilyData` parser in\n`SkFontMgr_android_parser.cpp` inspects attributes when handling opening\ntags.\n\n- Remove `SkXMLParserWriter` and replace its use in `SVGDeviceTest.cpp`\n  with a combination of `SkSVGCanvas` and `SkDynamicMemoryWStream` (to\n  produce the SVG output) and `SkDOM::build()` to parse the resulting\n  output. The updated helper takes a callable that draws to the canvas\n  to avoid subtle scoping/ordering issues.\n- Remove methods and fields that were never used:\n  - `SkDOM::copy()`\n  - `SkXMLParser::parse(const SkDOM\u0026, const SkDOMNode*)`\n  - `SkXMLParser::reportError()` (which was never implemented)\n  - `SkXMLParser::fParser`\n- As well as methods that are no longer called after this change:\n  - `SkDOM::beginParsing()`\n  - `SkDOM::finishParsing()`\n  - `SkXMLParser::startElement()`\n  - `SkXMLParser::addAttribute()`\n  - `SkXMLParser::text()`\n  - `SkXMLParser::endElement()`\n- Move `ParsingContext` into `SkXMLParser` so the expat callbacks can\n  directly call the protected `on*` methods.\n- Mark `SkXMLParser` as `SK_ONLY_STACK_ALLOCATABLE` since `SkDOM` no\n  longer heap-allocates `SkDOMParser`.\n\nBug: 512908978\nChange-Id: Ie31be939f47263aedac49c999b118adc26638e3c\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1422458\nCommit-Queue: Daniel Cheng \u003cdcheng@chromium.org\u003e\nReviewed-by: Florin Malita \u003cfmalita@google.com\u003e\nReviewed-by: Alexis Cruz-Ayala \u003calexisdavidc@google.com\u003e\n"
    },
    {
      "commit": "52a6822e5311b947bf67c20e33833775c981ea09",
      "tree": "64f644ee6329c11181f02999d16c9391298192c9",
      "parents": [
        "a1dcb38e15a7aa8aed0775cc68589ab0e08dd9ba"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Thu Nov 12 22:10:26 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 22:30:06 2026 -0800"
      },
      "message": "Roll jsfiddle-base from a1fa0e2b6d9c to 8933649a1eff\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/jsfiddle-base-skia\nPlease CC borenet@google.com,skiabot@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nChange-Id: Id4ae69d6e7ad54e48e13bc3d26af364e8a06fb28\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1427201\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "a1dcb38e15a7aa8aed0775cc68589ab0e08dd9ba",
      "tree": "a910424b1605bf2722f090638cb1640fe40aaec5",
      "parents": [
        "ebb40ae769badb58831a125117c11fce69110698"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Thu Nov 12 20:01:34 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 21:19:44 2026 -0800"
      },
      "message": "Roll ANGLE from fe3425bba7f9 to 4f74e3988571 (6 revisions)\n\nhttps://chromium.googlesource.com/angle/angle.git/+log/fe3425bba7f9..4f74e3988571\n\n2026-11-13 abdolrashidi@google.com Skip some framebuffer fetch tests on Win/Intel\n2026-11-13 b.schade@samsung.com Skip redundant glUseProgram on the current program\n2026-11-13 b.schade@samsung.com Vulkan: Add DescriptorSetCache::hasCachedDescriptorSet\n2026-11-12 cnorthrop@google.com FrameCapture: Decouple default uniform reset from program setup\n2026-11-12 jisunnie.lee@samsung.com Vulkan: Use read surface size as blit source bounds\n2026-11-12 vinayakareddy@google.com Tests: Add 4 new restricted traces\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/angle-skia-autoroll\nPlease CC jmadill@google.com,robertphillips@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nCq-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\nTest: Test: angle_end2end_tests --gtest_filter\u003dEGLPreRotationBlitFramebufferTest.*\nTest: Test: angle_end2end_tests --gtest_filter\u003dEGLSurfaceTest3.*\nTest: Test: angle_trace_tests --gtest_filter\u003d*baby_pandas_school_bus*:*stormshot*:*kids_games_for_toddlers_3_5*:*rally_fury*\nTest: Test: capture_tests.py --skip-cl\nChange-Id: Ia8bc1376670813f4e1f8992682b760ae20a3a4d2\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1427399\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "ebb40ae769badb58831a125117c11fce69110698",
      "tree": "8683660bd38ba19b94b66910936269982d0ed19a",
      "parents": [
        "cda6f098ce4a269d5e2b759ee5daee518e298354"
      ],
      "author": {
        "name": "skia-autoroll",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Fri Nov 13 04:01:36 2026 +0000"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 21:09:03 2026 -0800"
      },
      "message": "Roll Skia Infra from 612c30b5fd64 to 805becdeb942 (21 revisions)\n\nhttps://skia.googlesource.com/buildbot.git/+log/612c30b5fd64..805becdeb942\n\n2026-11-12 borenet@google.com [bazel] Set --experimental_repository_downloader_retries\u003d3\n2026-11-12 borenet@google.com [skolo] Use gcloud ADC token instead of .gitcookies in get_ansible_binaries\n2026-11-12 ggj@google.com [perf] Add group_stepfit_traces and enable it for androidx\n2026-11-12 borenet@google.com [task driver] Interleave log streams when fetching from the DB\n2026-11-12 borenet@google.com [tool] Switch base image from base-cipd to basealpine-with-git\n2026-11-12 borenet@google.com Use //kube/basealpine:basealpine-with-git\n2026-11-12 borenet@google.com [pinpoint] Switch bisect_workflow to basealpine\n2026-11-12 borenet@google.com [perf] Switch perfserver to basealpine\n2026-11-12 borenet@google.com [named-fiddles] Switch base image to basealpine\n2026-11-12 borenet@google.com [perf] Switch backendserver to basealpine\n2026-11-12 borenet@google.com [docsyserver] Switch from base-cipd to debian-testing-slim + apt git\n2026-11-12 borenet@google.com [perf] Switch perf_e2e_test_runner from base-cipd to debian-testing-slim\n2026-11-12 borenet@google.com [basealpine] Add //kube/basealpine:basealpine-with-git\n2026-11-12 borenet@google.com [debugger-app] Switch base image from base-cipd to basealpine\n2026-11-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll jsfiddle-final from 6b9bac4bfdf3 to 237ef0250c7b\n2026-11-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll bazel_test_all from b4783851a400f79ce... to 4452511a775c5b2fa... (1 revision)\n2026-11-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll git-credential-luci from 799bcc22b633bddca... to 64f75d49386156e99... (1 revision)\n2026-11-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll cpython3 from 3@3.14.10.chromium.3 to 3@3.14.10.chromium.4 (1 revision)\n2026-11-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll presubmit from b4783851a400f79ce... to 4452511a775c5b2fa... (1 revision)\n2026-11-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll command_wrapper from b4783851a400f79ce... to 4452511a775c5b2fa... (1 revision)\n2026-11-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Depot Tools from 29de65c7fffa to 1afcf0756e47 (4 revisions)\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/infra-skia\nPlease CC borenet@google.com,skiabot@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Skia Infra: https://bugs.chromium.org/p/skia/issues/entry\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nBug: None\nChange-Id: Id2659f553d88e77bee91035761d37e90dd081016\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1427536\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "cda6f098ce4a269d5e2b759ee5daee518e298354",
      "tree": "6990f5c075778994c8e8394adde2fdf92516350c",
      "parents": [
        "4f92ca233d6f1286c628e2fc969d521f2bb5f148"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Thu Nov 12 20:01:47 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 21:06:46 2026 -0800"
      },
      "message": "Roll Dawn from f3ec6002a07e to 39a385f22ab4 (9 revisions)\n\nhttps://dawn.googlesource.com/dawn.git/+log/f3ec6002a07e..39a385f22ab4\n\n2026-11-13 dneto@google.com Fix names of builtin shader variables used in messages\n2026-11-13 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Mesa from 28806e5e8245 to e9b12c2774a7 (111 revisions)\n2026-11-12 shrekshao@google.com [opengl] Limit texture image units to 13 on PowerVR\n2026-11-12 rharrison@chromium.org [ir] Move non-struct constant access range checks to WGSL only\n2026-11-12 dneto@google.com [ir] prevent infinite loops: ensure loop increment survives backends\n2026-11-12 headlessclayton@gmail.com [wgsl] Raise more barrier / load patterns to workgroupUniformLoad\n2026-11-12 dneto@google.com [inspector] Fix detection of frag_position when it\u0027s not last\n2026-11-12 amaiorano@google.com [native] Flatten ResourceTable dirty slot updates\n2026-11-12 stevenperron@google.com [tint][spirv-reader] Fix ICE forking texture param callees\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/dawn-skia-autoroll\nPlease CC cwallez@google.com,rharrison@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nCq-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\nBug: None\nChange-Id: I70eb498c71c8aba6ce1a1551ca3141802da17ae4\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1427200\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "4f92ca233d6f1286c628e2fc969d521f2bb5f148",
      "tree": "a2b4cb0e3baa2c9b4709a789d4a014cd0e5bf9e2",
      "parents": [
        "d87a6c04da74bda165bee5d5de67e8c60f7df3a9"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Thu Nov 12 20:01:47 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 20:37:34 2026 -0800"
      },
      "message": "Roll debugger-app-base from 8420707762f3 to 07fe585b169d\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/debugger-app-base-skia\nPlease CC borenet@google.com,skiabot@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nChange-Id: I79e53e621217159025c750080f9805dbac98c985\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1427199\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d87a6c04da74bda165bee5d5de67e8c60f7df3a9",
      "tree": "aa86ea43a77bf0fc1f095c63cb0de14d8784a2bd",
      "parents": [
        "de828482e74d04cb5f18475afefa20d965deb0ab"
      ],
      "author": {
        "name": "recipe-roller",
        "email": "recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 19:44:19 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 20:06:45 2026 -0800"
      },
      "message": "Roll recipe dependencies (trivial).\n\nThis is an automated CL created by the recipe roller. This CL rolls\nrecipe changes from upstream projects (depot_tools) into this repository.\n\nThe build that created this CL was\nhttps://ci.chromium.org/b/8665280814683309009\n\ndepot_tools:\nhttps://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/dbd771c405c895187b0cdb249d81276166adf028~..97da8489e4b7e9dc78fa2efb846871a7b423d933\n  dbd771c (ovsienko@google.com)\n      git-blame-ignore-revs: replace Change-Id with commit hash\n  97da848 (rop@google.com)\n      license_allowlist: add M158 review permissive/notice licenses\n\nPlease check the following references for more information:\n- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller\n- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback\n- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md\n\nUse https://goo.gl/noib3a to file a bug.\n\nRecipe-Tryjob-Bypass-Reason: Autoroller\nIgnore-Freeze: Autoroller\nBugdroid-Send-Email: False\nChange-Id: Ib586b92204dffc296ae639710e6b9ddcb307f221\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1427476\nBot-Commit: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com \u003crecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\u003e\nCommit-Queue: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com \u003crecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "de828482e74d04cb5f18475afefa20d965deb0ab",
      "tree": "6c19e0e29f316f83194e04d8a2fa098199266658",
      "parents": [
        "b76f2a9435674f3377cae8a863b8b91a64367ad8"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Thu Nov 12 18:51:16 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 19:54:17 2026 -0800"
      },
      "message": "Roll agents from cb9a67747790 to 915560017c2c (1 revision)\n\nhttps://chromium.googlesource.com/chromium/agents.git/+log/cb9a67747790..915560017c2c\n\n2026-11-13 ovsienko@google.com Add .git-blame-ignore-revs for Ruff migrations\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/agents-skia\nPlease CC browser-perf-engprod@google.com,ggj@google.com,gmarcoesau@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in agents: https://b.corp.google.com/issues/new?component\u003d1923111\u0026template\u003d2204026\nTo file a bug in Skia: https://b.corp.google.com/issues/new?component\u003d1923111\u0026template\u003d2204026\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nChange-Id: Ibd674aa9c20946c2e095e51b7993a5862d39897a\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1427178\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "b76f2a9435674f3377cae8a863b8b91a64367ad8",
      "tree": "74c09e54b55dad79a5a8df28ad7e98df7bfb2b8b",
      "parents": [
        "118d33d94ed61113a3b6b0363ea3922be3033e68"
      ],
      "author": {
        "name": "recipe-roller",
        "email": "recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 18:52:05 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 19:20:02 2026 -0800"
      },
      "message": "Roll recipe dependencies (trivial).\n\nThis is an automated CL created by the recipe roller. This CL rolls\nrecipe changes from upstream projects (depot_tools) into this repository.\n\nThe build that created this CL was\nhttps://ci.chromium.org/b/8665283961655320129\n\ndepot_tools:\nhttps://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/72f685f27fd11b6ce2340da7b868b2a0d00172fc~..5761a110deaa0f6ba17529cd122fec0e5af0a451\n  72f685f (nerima@google.com)\n      gclient: cap default --jobs at 32 and support $GCLIENT_JOBS\n  5761a11 (nerima@google.com)\n      gclient_scm: parallelize git checkouts when checkout.workers is...\n\nPlease check the following references for more information:\n- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller\n- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback\n- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md\n\nUse https://goo.gl/noib3a to file a bug.\n\nRecipe-Tryjob-Bypass-Reason: Autoroller\nIgnore-Freeze: Autoroller\nBugdroid-Send-Email: False\nChange-Id: Ie0b48f01d969891a3c9234ec9d224e40c30323f5\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1427417\nBot-Commit: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com \u003crecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\u003e\nCommit-Queue: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com \u003crecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "118d33d94ed61113a3b6b0363ea3922be3033e68",
      "tree": "db0b744d2012a5176f6b0fccd404b0f3733c0c9b",
      "parents": [
        "39789dc72b05832916c9752178a41a94233d2652"
      ],
      "author": {
        "name": "skia-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skia-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 17:50:55 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 18:50:01 2026 -0800"
      },
      "message": "Roll agents-internal from 085b38ad222c to 35739341a23f (1 revision)\n\nhttps://chrome-internal.googlesource.com/chrome/agents-internal.git/+log/085b38ad222c..35739341a23f\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://skia-autoroll.corp.goog/r/agents-internal-skia\nPlease CC browser-perf-engprod@google.com,ggj@google.com,gmarcoesau@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in agents-internal: https://b.corp.google.com/issues/new?component\u003d1923111\u0026template\u003d2204026\nTo file a bug in Skia: https://b.corp.google.com/issues/new?component\u003d1923111\u0026template\u003d2204026\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nChange-Id: Ibd9bed79d1e6c76989ba128a909f7a89904fe4df\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1427197\nBot-Commit: skia-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com \u003cskia-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com\u003e\nCommit-Queue: skia-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com \u003cskia-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "39789dc72b05832916c9752178a41a94233d2652",
      "tree": "ffc5faacdbc37def2f8cdda4b0735974e1534925",
      "parents": [
        "3abdad1835c4d3a495e68a6fc3e53dced539b6f8"
      ],
      "author": {
        "name": "recipe-roller",
        "email": "recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 16:51:33 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 17:13:34 2026 -0800"
      },
      "message": "Roll recipe dependencies (trivial).\n\nThis is an automated CL created by the recipe roller. This CL rolls\nrecipe changes from upstream projects (depot_tools) into this repository.\n\nThe build that created this CL was\nhttps://ci.chromium.org/b/8665291509062686593\n\ndepot_tools:\nhttps://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/5873083667e444d5e2e7788da08a638d8f60adf3~..080d0a6e420a297172e29b2daeb546e2e3aeaaee\n  5873083 (wnwen@google.com)\n      [Agents] test_history: show skips as skips, split reviver by ta...\n  080d0a6 (ovsienko@google.com)\n      Roll vpython3 to 227e19d4d8e7\n\nPlease check the following references for more information:\n- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller\n- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback\n- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md\n\nUse https://goo.gl/noib3a to file a bug.\n\nRecipe-Tryjob-Bypass-Reason: Autoroller\nIgnore-Freeze: Autoroller\nBugdroid-Send-Email: False\nChange-Id: I913f471159e14a442c2faf192a5f12d053aef731\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1427257\nCommit-Queue: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com \u003crecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\u003e\nBot-Commit: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com \u003crecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "3abdad1835c4d3a495e68a6fc3e53dced539b6f8",
      "tree": "c16fa6885490bd9781a901477f2d29eedebdf4f8",
      "parents": [
        "3072db56bcc0d8418a4323958586ba8778e3da87"
      ],
      "author": {
        "name": "skia-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skia-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 16:04:55 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 17:12:14 2026 -0800"
      },
      "message": "Roll agents-internal from 4fd2920b271a to 085b38ad222c (1 revision)\n\nhttps://chrome-internal.googlesource.com/chrome/agents-internal.git/+log/4fd2920b271a..085b38ad222c\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://skia-autoroll.corp.goog/r/agents-internal-skia\nPlease CC browser-perf-engprod@google.com,ggj@google.com,gmarcoesau@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in agents-internal: https://b.corp.google.com/issues/new?component\u003d1923111\u0026template\u003d2204026\nTo file a bug in Skia: https://b.corp.google.com/issues/new?component\u003d1923111\u0026template\u003d2204026\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nChange-Id: I2b3c6d854be080d61df0893ce358a090e5f8f6ee\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1427376\nCommit-Queue: skia-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com \u003cskia-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com\u003e\nBot-Commit: skia-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com \u003cskia-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "3072db56bcc0d8418a4323958586ba8778e3da87",
      "tree": "34fa5a15a6e2b059920b3db8a89d66ec866a36ec",
      "parents": [
        "932f62756f87d990e2e3a2c62d4d30a184e16fe4"
      ],
      "author": {
        "name": "Julia Lavrova",
        "email": "jlavrova@google.com",
        "time": "Mon Nov 09 15:14:29 2026 +0000"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 16:42:40 2026 -0800"
      },
      "message": "[skparagraph] Find soft hyphen clusters once, in the Cluster constructor\n\nTextLine::justify calls Cluster::isSoftHyphen up to three times for each\ncluster of a justified line, and TextWrapper::breakTextIntoLines calls\nit while breaking lines. After ce0b85b46d, even with the two-byte UTF-8\ncompare from the parent change, every call stays an out-of-line call\ninto Run.cpp that loads fOwner-\u003etext() when Skia is built without LTO\n(JustifyMixed_Relayout remains +6.0% slower than ed76513681 in no-LTO\ntxt_benchmarks).\n\nCluster::Cluster already receives the cluster text slice, so compute\nfIsSoftHyphen once in the constructor with the same 0xC2 0xAD check and\nmake isSoftHyphen() an inline accessor in Run.h. Moving the check itself\ninto Run.h is not possible because Run.h only forward-declares\nParagraphImpl.\n\nEquivalence and layout:\n- Cluster::Cluster forms fTextRange from the same text span passed to\n  the constructor, so fIsSoftHyphen gives the same result as the parent\n  change for every cluster. Verified identical results across 1,179,659\n  generated inputs (all 1,112,064 Unicode scalar values at non-zero\n  paragraph offsets, 2,048 lone surrogates in WTF-8, all 65,536 two-byte\n  sequences, and 11 empty/truncated/overlong/adjacent-SHY slices).\n- Behavior notes: Cluster has a single constructor and defaulted\n  copy/move; ParagraphImpl::fText does not change after the cluster\n  table is built, and ParagraphCache reuses clusters only for byte-equal\n  text. Thread safety is unchanged: fIsSoftHyphen is written once in the\n  constructor and read-only afterward, with no shared mutable state.\n- Memory: fIsSoftHyphen (1 byte) sits in existing trailing padding after\n  bool fIsIdeographic; sizeof(Cluster) stays 64 bytes (alignof 8,\n  verified via static_assert on x86_64 Clang; 0 extra bytes/cluster).\n\nPerformance vs parent change (Linux x86_64, Clang Release, FreeType,\nICU, performance governor, 12 interleaved rounds x 5 reps, median\ncpu_time):\n\n  Benchmark             | No-LTO before -\u003e after    | Full LTO before -\u003e after\n  ----------------------|---------------------------|------------------------------\n  JustifyLayout         | 47.21 -\u003e 44.83 us (-5.0%) | 35.58 -\u003e 34.51 us (-3.0%)\n  JustifyMixed_Relayout | 139.9 -\u003e 132.6 us (-5.2%) | 104.2 -\u003e 102.5 us (-1.6%)\n  Many100x621_CacheHit  | 2885 -\u003e 2728 us (-5.4%)   | 2185 -\u003e 2166 us (-0.8%, noise)\n\nCombined with the parent change, no-LTO vs ed76513681 moves to -6.0% /\n-0.5% / -3.6% (Full LTO vs ed76513681: -7.4% / -5.7% / -8.1%).\n\nBinary-layout note: no-LTO RelayoutManyWidths_Latin (which has no soft\nhyphens and does not run Cluster::Cluster during relayout) shifts +3.7%\n(+4.3% in a separate 12-round probe); keeping an uncalled noinline stub\nof the old function size at its old spot in Run.cpp restores\nRelayoutManyWidths_Latin to -0.1% [-0.2%, +0.0%] while keeping the\njustify wins (-4.6% / -4.4% / -3.5%). Full LTO RelayoutManyWidths_Latin\nis +0.3% (noise), and SimpleBuilder (which never runs layout) shifts\n+1.9% in Full LTO, matching code-alignment jitter.\n\nNo behavior change; existing SkParagraph_JustifyHyphenated and corpus\ntests cover justified soft-hyphen lines.\n\nTested:\n- Skia dm --match SkParagraph (Linux x86_64, Debug, Clang, NativeFonts +\n  FreeType, ICU): 231/231 passed vs parent change (232/232 on main)\n- Flutter engine + framework text corpus (Linux x86_64,\n  host_debug_unopt, Clang, FreeType, ICU): 2,411/2,411 targeted tests\n  passed; 20,199/20,200 full corpus passed (100/100 C++ txt_unittests\n  smoke + 20,099/20,100 framework across 921 files, 0 regressions, 1\n  pre-existing unrelated Cupertino failure on both)\n- Flutter web CanvasKit suite chrome-dart2js-canvaskit-canvaskit (Linux\n  x86_64, wasm_release canvaskit_chromium, Emscripten/Clang, FreeType,\n  ICU, Chrome 145 headless): 349 passed, 0 failed, 1 skipped\n- Flutter txt_benchmarks A/B gate (Linux x86_64, host_release Full LTO,\n  Clang, FreeType, ICU, 20 interleaved rounds): JustifyLayout 0.9651\n  [0.9528, 0.9793], LongLayout 0.9997, ShortLayout 0.9855, TextBigO/1024\n  0.9970 (0 regressions)\n- google3 SkParagraph clients (1,151 test targets, Linux x86_64, Clang,\n  FreeType, ICU; 1,136 executed): no regressions\n- Trybots (all passed):\n  Test-Ubuntu24.04-Clang-GCE-CPU-AVX2-x86_64-Debug-All-NativeFonts_FreeType_ASAN_Upload,\n  Test-Ubuntu24.04-Clang-GCE-CPU-AVX2-x86_64-Release-All-NativeFonts_Fontations,\n  Test-Mac14-Clang-MacMini8.1-CPU-AVX2-x86_64-Debug-All-NativeFonts_Fontations,\n  Test-Mac15-Clang-MacMini16.10-CPU-AppleM4-arm64-Debug-All-NativeFonts,\n  Test-Win11-Clang-GCE-CPU-AVX2-x86_64-Debug-All-NativeFonts,\n  Test-Win11-Clang-GCE-CPU-AVX2-x86_64-Debug-All-NativeFonts_DWriteCore,\n  Test-Android-Clang-GalaxyS24-CPU-Adreno750-arm64-Release-All-Android_NativeFonts_AndroidNDKFonts\n  (SkParagraph tests that need the extra test fonts skip on this bot),\n  Canary-Chromium, Canary-Android\n- Full LTO codegen (Linux x86_64, Clang): isSoftHyphen is inlined in both\n  justify lambdas before and after; the check drops from 10 instructions\n  (range length, fOwner text load, 0xC2/0xAD compares) to 2 (one byte\n  compare), and the two lambdas shrink by 27 instructions / 103 bytes\n- Not tested: iOS CoreText\n- Not measured: macOS, Windows, Android, or ARM64\n\nPerf: ShortLayout 1.084 -\u003e 1.087 us (+0.3%, 95% CI [-0.1, +0.8], n\u003d60/60, rounds\u003d12) NOISE\nPerf: JustifyLayout 47.21 -\u003e 44.83 us (-5.0%, 95% CI [-5.2, -4.5], n\u003d60/60, rounds\u003d12) WIN\nPerf: TextBigO/64 2.126 -\u003e 2.115 us (-0.5%, 95% CI [-0.9, -0.1], n\u003d60/60, rounds\u003d12) NOISE\nPerf: SimpleBuilder 0.8141 -\u003e 0.8069 us (-0.9%, 95% CI [-1.4, +0.0], n\u003d60/60, rounds\u003d12) NOISE\nPerf: EllipsisMaxLines3_Relayout 52.17 -\u003e 52.09 us (-0.1%, 95% CI [-0.7, +0.2], n\u003d60/60, rounds\u003d12) NOISE\nPerf: RelayoutManyWidths_Latin 3190 -\u003e 3308 us (+3.7%, 95% CI [+2.9, +4.1], n\u003d60/60, rounds\u003d12) REGRESSION\nPerf: JustifyMixed_Relayout 139.9 -\u003e 132.6 us (-5.2%, 95% CI [-5.5, -5.1], n\u003d60/60, rounds\u003d12) WIN\nPerf: Many100x621_CacheHit 2885 -\u003e 2728 us (-5.4%, 95% CI [-5.7, -5.2], n\u003d60/60, rounds\u003d12) WIN\n\nAssisted-by: Claude Opus 5.5 (Medium)\nChange-Id: I3101be25ec35be94418a4ef5dd11bb30f0b24bef\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1421862\nReviewed-by: Alexis Cruz-Ayala \u003calexisdavidc@google.com\u003e\nCommit-Queue: Julia Lavrova \u003cjlavrova@google.com\u003e\n"
    },
    {
      "commit": "932f62756f87d990e2e3a2c62d4d30a184e16fe4",
      "tree": "fe74d382c25d0754cbd6ceef419366cdbff22ee5",
      "parents": [
        "11d3dfe9486473fc7478151f16f0a7a1c3b30644"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Thu Nov 12 14:36:16 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 16:00:33 2026 -0800"
      },
      "message": "Roll vulkan-deps from 660bf91094b9 to b142ae607b17 (15 revisions)\n\nhttps://chromium.googlesource.com/vulkan-deps.git/+log/660bf91094b9..b142ae607b17\n\nAlso rolling transitive DEPS:\n  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/251c437ef506157c139f77f5525c02223bc78868..9292223bfc8bf81020bc649eb3aaa5999fb6959d\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/vulkan-deps-skia-autoroll\nPlease CC robertphillips@google.com,skiabot@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nCq-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\nBug: None\nChange-Id: If197acfd372f2a5b0bff49f709fc608044cc5402\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1427176\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "11d3dfe9486473fc7478151f16f0a7a1c3b30644",
      "tree": "c48643a62c6e218c6d6465f999ed48e75f0bcb16",
      "parents": [
        "cf65bddcf9d6df04ec853a50805823a4a5e6a604"
      ],
      "author": {
        "name": "Robert Phillips",
        "email": "robertphillips@google.com",
        "time": "Thu Nov 12 14:31:17 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 14:34:08 2026 -0800"
      },
      "message": "Revert \"[ganesh] Flush failures now result in an abandoned Context\"\n\nThis reverts commit bf09d1bdb9d2a85e7bf1b324df2f26516726aef5.\n\nReason for revert: Blocking Chrome roll\n\nFailure Link: \u003cLINK TO FAILURE\u003e\n\nOriginal change\u0027s description:\n\u003e [ganesh] Flush failures now result in an abandoned Context\n\u003e\n\u003e Due to the complexity of recovering from a flush failure, Ganesh now abandons its Context when such a failure occurs.\n\u003e\n\u003e Bug: 584700430\n\u003e Change-Id: I4b5bacfce20a7e48370e5dfac29f670cdde854e6\n\u003e Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1422090\n\u003e Reviewed-by: Michael Ludwig \u003cmichaelludwig@google.com\u003e\n\u003e Commit-Queue: Robert Phillips \u003crobertphillips@google.com\u003e\n\nBug: 584700430\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nChange-Id: Ifa219e06b51d0aee60642a06defb3b405d0881b8\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1427156\nBot-Commit: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nCommit-Queue: Robert Phillips \u003crobertphillips@google.com\u003e\n"
    },
    {
      "commit": "cf65bddcf9d6df04ec853a50805823a4a5e6a604",
      "tree": "a57659dc0b7fa4db03aee8d0f8d9318160aff86e",
      "parents": [
        "4f5c64fa226da659e757ba6ca10db658c844f968"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Thu Nov 12 12:14:34 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 13:40:31 2026 -0800"
      },
      "message": "Manual roll ANGLE from 3fb9dbcf77f2 to fe3425bba7f9 (8 revisions)\n\nManual roll requested by robertphillips@google.com\n\nhttps://chromium.googlesource.com/angle/angle.git/+log/3fb9dbcf77f2..fe3425bba7f9\n\n2026-11-12 kkinnunen@apple.com Metal: Generate shader workarounds directly to text\n2026-11-12 sergiosolano@google.com spanify: Remove most ANGLE_UNSAFE_TODO from perf tests\n2026-11-12 sergiosolano@google.com spanify: Remove ANGLE_UNSAFE_TODO from eight more gl_tests\n2026-11-12 m.maiya@samsung.com Unskip VUID-VkGraphicsPipelineCreateInfo-externalFormatResolve-09309\n2026-11-12 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from 8825cf5dade3 to 660bf91094b9 (8 revisions)\n2026-11-12 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 7a6b2fa9c6a7 to 1eb2d9fcf088 (1116 revisions)\n2026-11-12 syoussefi@chromium.org Revert \"Vulkan: Remove Xclipse VK_GOOGLE_surfaceless_query workaround\"\n2026-11-12 hyshih@google.com Vulkan: Avoid RelaxedPrecision on integers on Adreno 622\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/angle-skia-autoroll\nPlease CC jmadill@google.com,robertphillips@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nCq-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\nTest: Test: dEQP-GLES31.functional.*.atomic.or.mediump_uint on Adreno 622\nChange-Id: I0e5754a47a86a38765358428b6294410fe05cc19\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1426756\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "4f5c64fa226da659e757ba6ca10db658c844f968",
      "tree": "89f3529e28784026e592358d908ffbf96c3c00b7",
      "parents": [
        "c31335575a454084d74a5dadb646633c1cbc64eb"
      ],
      "author": {
        "name": "Bryan Enrique Gonzalez Velez",
        "email": "bryanenriquegv@google.com",
        "time": "Mon Nov 09 21:40:00 2026 +0000"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 12:53:37 2026 -0800"
      },
      "message": "[spanify] Spanify Skia core geometry, curves, and pathops (Wave 0)\n\nMigrate C-style array and raw pointer parameters to SkSpan and\nstd::array in SkCubics, SkBezierCurves, SkCubicClipper, SkQuadClipper,\nSkStroke, SkPathPriv, and SkPathOpsConic.\n\nSkPathBuilder: quadTo(), conicTo(), and cubicTo() gain fixed-extent\nSkSpan\u003cconst SkPoint, N\u003e overloads. The existing const SkPoint[]\noverloads are kept as DEPRECATED forwarders so clients keep compiling.\n\nCall sites that still receive raw pointers are bridged with\nSK_UNSAFE_TODO or .data() and marked TODO(crbug.com/582862856) for a\nfollow-up wave.\n\nUpdate CubicRootsTest, CubicChopTest, and FuzzCubicRoots for the new\nsignatures.\n\nPerformance Verification: Verified as part of the full Wave 0 XL batch\n(https://skia-review.googlesource.com/c/skia/+/1409352, base commit\n607de4b035dcf7fdbaafb66c6cc04f22009ff4d4) across 8888, gl, and grvk\nusing ABBA-interleaved nanobench (N\u003d30, retry-samples\u003d150, BH-FDR\u003d0.05)\nwith 0 regressions:\nhttps://docs.google.com/spreadsheets/d/1W--egaOxnJk2SVbTTfMJWESDq_V7UnhDHU2EgZ74qG8/edit#gid\u003d0\n\nBug: 505484715\nChange-Id: I944a07f7b862ccd1d0b153106546aa866cf71de1\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1415117\nReviewed-by: Florin Malita \u003cfmalita@google.com\u003e\nCommit-Queue: Bryan Enrique Gonzalez \u003cbryanenriquegv@google.com\u003e\n"
    },
    {
      "commit": "c31335575a454084d74a5dadb646633c1cbc64eb",
      "tree": "5757307e3ad724f6427c98baa6d5ec30143e5102",
      "parents": [
        "0c5ce4960ceff2bcba5e9a18c1a7769ce8cec8e2"
      ],
      "author": {
        "name": "recipe-roller",
        "email": "recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 12:24:33 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 12:46:13 2026 -0800"
      },
      "message": "Roll recipe dependencies (trivial).\n\nThis is an automated CL created by the recipe roller. This CL rolls\nrecipe changes from upstream projects (depot_tools) into this repository.\n\nThe build that created this CL was\nhttps://ci.chromium.org/b/8665308497395769665\n\ndepot_tools:\nhttps://chromium.googlesource.com/chromium/tools/depot_tools.git/+/80e6797148a84d0f9a043111f1e6410bbebe86d9\n  80e6797 (gbiv@google.com)\n      [depot_tools] Roll bb to 3148350dc86c\n\nPlease check the following references for more information:\n- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller\n- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback\n- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md\n\nUse https://goo.gl/noib3a to file a bug.\n\nRecipe-Tryjob-Bypass-Reason: Autoroller\nIgnore-Freeze: Autoroller\nBugdroid-Send-Email: False\nChange-Id: Ie0a2a77fb5c2993e31f159ad8b1fa48e74832cdb\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1426717\nBot-Commit: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com \u003crecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\u003e\nCommit-Queue: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com \u003crecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0c5ce4960ceff2bcba5e9a18c1a7769ce8cec8e2",
      "tree": "f8f18ed88d114d0eb668b35947786125ef5c7ffc",
      "parents": [
        "ca9ddfd5b8f90df54e69c6ffee3cb802ee648c1a"
      ],
      "author": {
        "name": "recipe-roller",
        "email": "recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 11:52:06 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 12:14:29 2026 -0800"
      },
      "message": "Roll recipe dependencies (trivial).\n\nThis is an automated CL created by the recipe roller. This CL rolls\nrecipe changes from upstream projects (depot_tools) into this repository.\n\nThe build that created this CL was\nhttps://ci.chromium.org/b/8665310386088696657\n\ndepot_tools:\nhttps://chromium.googlesource.com/chromium/tools/depot_tools.git/+/10396fffb3e812cc5357b2f637c86f226606d0cd\n  10396ff (no-reply@google.com)\n      repo: Update from upstream\n\nPlease check the following references for more information:\n- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller\n- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback\n- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md\n\nUse https://goo.gl/noib3a to file a bug.\n\nRecipe-Tryjob-Bypass-Reason: Autoroller\nIgnore-Freeze: Autoroller\nBugdroid-Send-Email: False\nChange-Id: I4ff16f5626bf3c97507fded65e4cc42ac6f823cd\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1426716\nCommit-Queue: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com \u003crecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\u003e\nBot-Commit: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com \u003crecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "ca9ddfd5b8f90df54e69c6ffee3cb802ee648c1a",
      "tree": "9d3b038589232fa58e93104d68c656f76c03f015",
      "parents": [
        "8afb6a070088748b61caa73e407cc2ebd12c7fe4"
      ],
      "author": {
        "name": "Christopher Cameron",
        "email": "ccameron@google.com",
        "time": "Thu Nov 12 18:18:12 2026 +0000"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 11:46:31 2026 -0800"
      },
      "message": "Add Chromium-private SkConvertPixelsWithColorMatrix API\n\nAdd helper to apply a matrix during color/pixel format conversion.\n\nThis will allow us to do the full set of YUV-to-RGB conversions by:\n- convert YUV planar to YUV packed (upsampling chroma if needed)\n  - this will be done by libyuv when possible\n  - the temporary buffer for this will always be RGBA8 or RGB10A2\n- call SkConvertPixelsWithColorMatrix\n\nOnce I have the skia/ext YUV-to-RGB conversion code solidified, and I\u0027ve\nconverted all of the sprinkled libyuv code to use skia/ext, I may want\nto add a SkYUVAPixmaps to SkPixmap conversion function in Skia\u0027s core.\n\nBug: 40261346\nChange-Id: I40d402e8c68b02c5f5af5e355774bf859d669825\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1423016\nCommit-Queue: Christopher Cameron \u003cccameron@google.com\u003e\nReviewed-by: Florin Malita \u003cfmalita@google.com\u003e\n"
    },
    {
      "commit": "8afb6a070088748b61caa73e407cc2ebd12c7fe4",
      "tree": "fe269daf8f47967043033d94fdbc037f8c840ec2",
      "parents": [
        "506b2da4d2cf36af095cf9388eaa949325eb24d0"
      ],
      "author": {
        "name": "Eric Boren",
        "email": "borenet@google.com",
        "time": "Thu Nov 12 06:32:11 2026 +0000"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 11:39:42 2026 -0800"
      },
      "message": "Roll Skia Infra from a2b4d17b7e2b to 612c30b5fd64 (33 revisions)\n\nhttps://skia.googlesource.com/buildbot.git/+log/a2b4d17b7e2b..612c30b5fd64\n\n2026-11-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll cipd from 799bcc22b633bddca... to 64f75d49386156e99... (1 revision)\n2026-11-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll lucicfg from 8b0ab0e7039020ae9... to 64f75d49386156e99... (1 revision)\n2026-11-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll luci-auth from 799bcc22b633bddca... to 64f75d49386156e99... (1 revision)\n2026-11-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll kitchen from 8b0ab0e7039020ae9... to 64f75d49386156e99... (1 revision)\n2026-11-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll isolate from 799bcc22b633bddca... to 64f75d49386156e99... (1 revision)\n2026-11-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vpython3 from 04ec715f20ae17234... to 32f3f5912cfe849c6... (1 revision)\n2026-11-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll bazel_build_all from b4783851a400f79ce... to 4452511a775c5b2fa... (1 revision)\n2026-11-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll swarming from 8b0ab0e7039020ae9... to 64f75d49386156e99... (1 revision)\n2026-11-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll debugger-app-final from cd2533fb6160 to 1b3e31648d09\n2026-11-12 skia-autoroll@skia-public.iam.gserviceaccount.com Roll docker-credential-luci from 799bcc22b633bddca... to 64f75d49386156e99... (1 revision)\n2026-11-11 davidsegovia@google.com [perf] Add Playwright report page and bisect tests and retire legacy tests\n2026-11-11 davidsegovia@google.com [perf] Add Playwright page objects and tests for regressions and triage workflows\n2026-11-11 davidsegovia@google.com [perf] Add Playwright page object and tests for Explore MultiV2\n2026-11-11 davidsegovia@google.com [perf] Add Playwright page object and tests for multigraph workflows\n2026-11-11 davidsegovia@google.com [perf] Add Playwright mock client, picker helpers, and simplegraph tests\n2026-11-11 davidsegovia@google.com [perf] Add Wasm trace-filter and trace_values to mock Perf frontend\n2026-11-11 davidsegovia@google.com [perf] Add stateful mock Perf frontend with Chrome and V8 datasets\n2026-11-11 davidsegovia@google.com [perf] Add sk_element_playwright_test macro and Playwright test runner\n2026-11-11 borenet@google.com [fiddle] Freeze sibling tasks during seccomp syscall inspection in fiddle_secwrap\n2026-11-11 borenet@google.com Replace git_from_cipd with git_version metric\n2026-11-11 borenet@google.com [fiddle] Fix openat2 flags inspection and O_CREAT/O_TRUNC check in fiddle_secwrap\n2026-11-11 borenet@google.com [fiddle] Resolve symlinks before \"..\" in fiddle_secwrap path checks\n2026-11-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll jsfiddle-final from 3b85c5d335d0 to 6b9bac4bfdf3\n2026-11-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll bazel_build_all from 58f3522d332da8f61... to b4783851a400f79ce... (1 revision)\n2026-11-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll presubmit from 58f3522d332da8f61... to b4783851a400f79ce... (1 revision)\n2026-11-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll vpython3 from 8b0ab0e7039020ae9... to 04ec715f20ae17234... (1 revision)\n2026-11-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll git_wrapper from fcf75df72c29e9da6... to 04ec715f20ae17234... (1 revision)\n2026-11-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll goldctl from 799bcc22b633bddca... to 04ec715f20ae17234... (1 revision)\n2026-11-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll git from 3@2.56.0.chromium.11 to 3@2.56.1.chromium.11 (1 revision)\n2026-11-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll Depot Tools from 96a7c1418eed to 29de65c7fffa (5 revisions)\n2026-11-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll bazel_test_all from 58f3522d332da8f61... to b4783851a400f79ce... (1 revision)\n2026-11-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll debugger-app-final from 8de229ba63c0 to cd2533fb6160\n2026-11-11 skia-autoroll@skia-public.iam.gserviceaccount.com Roll command_wrapper from 58f3522d332da8f61... to b4783851a400f79ce... (1 revision)\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/infra-skia\nPlease CC borenet@google.com,skiabot@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Skia Infra: https://bugs.chromium.org/p/skia/issues/entry\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nBug: None\nChange-Id: I85f23137aa261e63f181a9d01f62eb24ea7ee433\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1425397\nCommit-Queue: Eric Boren \u003cborenet@google.com\u003e\nReviewed-by: Robert Phillips \u003crobertphillips@google.com\u003e\n"
    },
    {
      "commit": "506b2da4d2cf36af095cf9388eaa949325eb24d0",
      "tree": "3daea85c9bf678360faae7c7ccb7ca1a91add8ed",
      "parents": [
        "df9fb4ad976ce746c1d740b7015154378fdb7fb4"
      ],
      "author": {
        "name": "Alexis Cruz-Ayala",
        "email": "alexisdavidc@google.com",
        "time": "Thu Nov 12 14:10:05 2026 -0500"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 11:39:07 2026 -0800"
      },
      "message": "[miracleptr] Exclude SkBitmapDevice::fRasterHandle from raw_ptr\n\nSkBitmapDevice::fRasterHandle holds SkRasterHandleAllocator::Handle,\nwhich is an opaque client handle (such as a Windows GDI HDC allocated\nvia CreateCompatibleDC) rather than a heap pointer. Wrapping it in\nraw_ptr caused PartitionAlloc BackupRefPtr crashes on 32-bit Windows\nwhen an HDC value collided with a PartitionAlloc superpage.\n\nAnnotate fRasterHandle with RAW_PTR_EXCLUSION so future MiraclePtr\nrewrites do not wrap it in raw_ptr\n\nBug: 584716838, 351867706\nChange-Id: I1522c39cdb70ea63e8f98eb3ace3a3f8175cd994\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1426336\nReviewed-by: Florin Malita \u003cfmalita@google.com\u003e\nCommit-Queue: Alexis Cruz-Ayala \u003calexisdavidc@google.com\u003e\n"
    },
    {
      "commit": "df9fb4ad976ce746c1d740b7015154378fdb7fb4",
      "tree": "1cb7c11a079c5a642ab99566acb8fbc0a2a35b16",
      "parents": [
        "8c460dc362b90ff1ea56f3b876ec65ee5c2faab5"
      ],
      "author": {
        "name": "Tyler Denniston",
        "email": "denniston.t@gmail.com",
        "time": "Thu Nov 12 13:07:02 2026 -0500"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 11:13:22 2026 -0800"
      },
      "message": "[wasm] add simple wasm debugger page\n\nThis allows us to debug dm.wasm using Chrome DevTools (with a C++\ndevtools extension).\n\nTo use, assuming you have a debug wasm build at `out/wasm`:\n\n  $ tools/wasm/serve_debugger.py --build out/wasm\n  ...\n  Serving at http://localhost:8000/\n\nThen just visit http://localhost:8000 in Chrome, change dm args to\nwhatever you need, and use DevTools debugger to debug. Click Run to\nstart the dm run.\n\nChange-Id: Ibc30f92026e991d45163eac599d395aa00ae516d\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1426376\nCommit-Queue: Tyler Denniston \u003ctyler@flyweight.co\u003e\nReviewed-by: Eric Boren \u003cborenet@google.com\u003e\nReviewed-by: Florin Malita \u003cfmalita@google.com\u003e\n"
    },
    {
      "commit": "8c460dc362b90ff1ea56f3b876ec65ee5c2faab5",
      "tree": "ed4ede2619e5965ac86f2b2ed6373b88178762af",
      "parents": [
        "c5f122a75f2839ca50051a1b68b482053efe8dad"
      ],
      "author": {
        "name": "Alexis Cruz-Ayala",
        "email": "alexisdavidc@google.com",
        "time": "Thu Nov 12 13:27:46 2026 -0500"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 10:54:33 2026 -0800"
      },
      "message": "[SkScalerContext] Harden LCD16 and getImage bounds\n\nWhen a font scaler retains state across glyph loads, consecutive loads can diverge in outline position and dimensions. In SkScalerContextFTUtils::generateGlyphImage, the kLCD16_Format path previously intersected pixel-space mask.fBounds against FreeType\u0027s 3x subpixel-scaled bitmap dimensions and subtracted unscaled pixel offsets from subpixel width, rows, and buffer pointers, triggering subpixel misalignment and assertion failures in copyFT2LCD16.\n\nConvert FreeType\u0027s LCD bitmap bounds to pixel coordinates before intersecting with mask.fBounds, validate LCD pixel mode and 3x divisibility, and crop both the subpixel FT_Bitmap and destination SkMask to the pixel overlap. Also guard non-LCD subpixel outline translation against SkFDot6 overflow, assert non-empty in-bounds pre-allocated buffers at SkScalerContext::getImage entry, and add FreeType_GenerateGlyphImageDivergentOutline in tests/FontHostFreeTypeTest.cpp.\n\nBug: b/576955738\nFixed: b/576955738\nChange-Id: I831b9b2eeb26d3ebc6cc1db1121de72ef2964845\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1425156\nReviewed-by: Julia Lavrova \u003cjlavrova@google.com\u003e\nCommit-Queue: Alexis Cruz-Ayala \u003calexisdavidc@google.com\u003e\n"
    },
    {
      "commit": "c5f122a75f2839ca50051a1b68b482053efe8dad",
      "tree": "dde385430d92cbc72498b86aea530abf79d949ef",
      "parents": [
        "264ed28c4dbd7f0123e2559d1c376aead11934a1"
      ],
      "author": {
        "name": "Bryan Enrique Gonzalez Velez",
        "email": "bryanenriquegv@google.com",
        "time": "Wed Nov 11 22:17:30 2026 +0000"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 10:40:33 2026 -0800"
      },
      "message": "[spanify] GMs: rect modes, blurs, quads, atlas, gradients, filters\n\n- Migrate C-style arrays and raw pointer parameters to std::array and\n  SkSpan in gm/aarectmodes, blurcircles, blurrect, compositor_quads,\n  dashcircle, drawatlas, gradients_no_texture, imagefilters, and\n  lumafilter, dropping now-redundant count parameters.\n- gm/lumafilter holds its shaders by value in the std::to_array table\n  (reference members would dangle once the initializer temporaries are\n  destroyed).\n- gm/compositor_quads models the nullable 4-point clip as\n  std::optional\u003cSkSpan\u003cconst SkPoint, 4\u003e\u003e (SkSpan\u003cT, 4\u003e has no empty\n  state), mirroring SkCanvas::experimental_DrawEdgeAAQuad\u0027s nullable\n  clip[4].\n- gm/dashcircle and gm/gradients_no_texture make their read-only data\n  tables constexpr (gm/dashcircle replaces its single-member DashExample\n  struct with a constexpr array of SkSpans).\n- Rendering verified unchanged: all 86 affected GM images (8888 and\n  Ganesh Vulkan) are byte-identical to origin/main.\n\nPerformance Verification: Verified as part of the full Wave 0 XL batch\n(https://skia-review.googlesource.com/c/skia/+/1409352, base commit\n607de4b035dcf7fdbaafb66c6cc04f22009ff4d4) across 8888, gl, and grvk\nusing ABBA-interleaved nanobench (N\u003d30, retry-samples\u003d150, BH-FDR\u003d0.05)\nwith 0 regressions:\nhttps://docs.google.com/spreadsheets/d/1W--egaOxnJk2SVbTTfMJWESDq_V7UnhDHU2EgZ74qG8/edit#gid\u003d0\n\nBug: 505484715\nChange-Id: I6ed3a2f879fa46379d3ae83939efd42f00ff60e6\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1423956\nReviewed-by: Alexis Cruz-Ayala \u003calexisdavidc@google.com\u003e\nCommit-Queue: Bryan Enrique Gonzalez \u003cbryanenriquegv@google.com\u003e\n"
    },
    {
      "commit": "264ed28c4dbd7f0123e2559d1c376aead11934a1",
      "tree": "a1a23a5084490322514affef57e9ec20db28edaf",
      "parents": [
        "f4ca8f696686f98b7213f4f90642a3e6f9ce72d4"
      ],
      "author": {
        "name": "Bryan Enrique Gonzalez Velez",
        "email": "bryanenriquegv@google.com",
        "time": "Thu Nov 12 01:25:43 2026 +0000"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 10:40:23 2026 -0800"
      },
      "message": "[spanify] Spanify Ganesh YUVA texture proxies and image utilities\n\n- Migrate C-style array parameters to fixed-extent SkSpan in\n  GrYUVATextureProxies (plane proxies, views, color types), GrImageUtils\n  and SkImage_GaneshBase (tile modes), and their overrides/callers in\n  SkImage_Ganesh, SkImage_GaneshYUVA, and SkImage_GaneshFactories.\n  Document which constructor inputs are moved from.\n- Add an SkSpan overload of SkImages::PromiseTextureFromYUVA that checks\n  there is at least one texture context per plane; the pointer overload\n  is kept for existing clients, marked DEPRECATED, and forwards to the\n  SkSpan version via SK_UNSAFE_TODO (TODO(crbug.com/582862856)).\n- Use std::array for the promise image backend formats and contexts in\n  DDLPromiseImageHelper.\n- Add PromiseImageYUVAOverloads test covering both overloads and the\n  invalid-info path.\n- Alphabetize system includes in SkImage_GaneshBase.h.\n- Add a release note.\n\nPerformance Verification: Verified as part of the full Wave 0 XL batch\n(https://skia-review.googlesource.com/c/skia/+/1409352, base commit\n607de4b035dcf7fdbaafb66c6cc04f22009ff4d4) across 8888, gl, and grvk\nusing ABBA-interleaved nanobench (N\u003d30, retry-samples\u003d150, BH-FDR\u003d0.05)\nwith 0 regressions:\nhttps://docs.google.com/spreadsheets/d/1W--egaOxnJk2SVbTTfMJWESDq_V7UnhDHU2EgZ74qG8/edit#gid\u003d0\n\nBug: 505484715\nChange-Id: I7ac757af6aefe101b3f64d6ea45dfa9229234bd6\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1416136\nReviewed-by: Michael Ludwig \u003cmichaelludwig@google.com\u003e\nCommit-Queue: Bryan Enrique Gonzalez \u003cbryanenriquegv@google.com\u003e\n"
    },
    {
      "commit": "f4ca8f696686f98b7213f4f90642a3e6f9ce72d4",
      "tree": "36770194f1f434fb660b46545d81cd0d64671e96",
      "parents": [
        "e51f0e282b9be5104275887cf4c93fbbbe281ee3"
      ],
      "author": {
        "name": "Joshua Yu",
        "email": "joshuayu@google.com",
        "time": "Thu Nov 12 12:58:51 2026 -0500"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 10:34:52 2026 -0800"
      },
      "message": "[ganesh] Fix non-convexity check in HullShader\n\nThis adds a fix to HullShader in PathInnerTriangulateOp, a GM, and a test.\n\nFor symmetric S-curve cubic ribbons, PatchWriter performs a De Casteljau\ninflection chop at t\u003d0.5 which produces collinear control points. In the\nHullShader, cross products between collinear input vectors yield near-0\nvalues with ambiguous signs.\n\nThis floating-point rounding causes the bisection check to swap p1 and\np2, resulting in a bowtie for convex hulls. In the non-convexity check,\nthis causes either 1) p2 to be erroneously collapsed into p1 or 2) the\ndegenerate bowtie to be rendered if all hull vertices are collapsed into\ntheir next neighbor effectively resulting in no vertex removals.\n\nInstead of relying on sign() operations, the netdir of the hull is\nsummed from the raw cross product results, and the vertex whose cross\nproduct is most opposite to netdir (most \"concave\") is collapsed into\nits next neighbor. This recovers as much missing area as possible of the\nconvex hull.\n\nChange-Id: I41a23b82d600aa83ceb486a96806e33ae36d80c5\nBug: b/576311140\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1423858\nReviewed-by: Thomas Smith \u003cthomsmit@google.com\u003e\nCommit-Queue: Joshua Yu \u003cjoshuayu@google.com\u003e\n"
    },
    {
      "commit": "e51f0e282b9be5104275887cf4c93fbbbe281ee3",
      "tree": "957d5dd717255edba468393a333c2a568d4e7fc0",
      "parents": [
        "1733ad1482c931d4b6582bb6639eb5591022b822"
      ],
      "author": {
        "name": "Arthur Sonzogni",
        "email": "arthursonzogni@chromium.org",
        "time": "Thu Nov 12 17:55:10 2026 +0000"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 10:26:10 2026 -0800"
      },
      "message": "Mark GrGLOpsRenderPass::fIndexPointer DanglingUntriaged\n\nfIndexPointer points into a client-side index buffer owned by\nfActiveIndexBuffer, but is not cleared when that buffer is released.\nOn GPUs using client-side buffers (e.g. Adreno), this trips the\ndangling pointer detector. A follow-up will remove the field.\n\nBug: 351867706\nCq-Include-Trybots: skia/skia.primary:Test-Android-Clang-GalaxyS24-GPU-Adreno750-arm64-Release-All-Android\nChange-Id: If9a6df8f3894f42290f0b27ae824937d34d49cce\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1426476\nAuto-Submit: Arthur Sonzogni \u003carthursonzogni@chromium.org\u003e\nCommit-Queue: Arthur Sonzogni \u003carthursonzogni@chromium.org\u003e\nCommit-Queue: Robert Phillips \u003crobertphillips@google.com\u003e\nReviewed-by: Robert Phillips \u003crobertphillips@google.com\u003e\n"
    },
    {
      "commit": "1733ad1482c931d4b6582bb6639eb5591022b822",
      "tree": "053704802b1fa20ebe7e3507eca0cc7eec690ac5",
      "parents": [
        "0f9d7ed2cec00542362594286d131c3158395a18"
      ],
      "author": {
        "name": "Arthur Sonzogni",
        "email": "arthursonzogni@chromium.org",
        "time": "Wed Nov 11 16:56:43 2026 +0000"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 07:38:33 2026 -0800"
      },
      "message": "miracleptr: Rewrite core Ganesh pointers to raw_ptr\n\nProtect the heap-owned pointer fields in src/gpu/ganesh with raw_ptr,\nso use-after-free bugs on Ganesh contexts, resources, render tasks,\ncaches, and atlases turn into non-exploitable crashes in Chromium.\n\nSix hot per-draw/per-flush pointers (GrFragmentProcessor::fParent,\nGrProgramInfo::fGeomProc, GrResourceAllocator::Interval::fProxy,\nGrBufferAllocPool::fBufferPtr, GrGpuBuffer::fMapPtr, and\nGrCpuBuffer::fData) are excluded via RAW_PTR_EXCLUSION where\nindividual benchmarks showed regressions.\n\nBug: 351867706\nDoc: https://bit.ly/miracleptr-skia\nCq-Include-Trybots: skia/skia.primary:Canary-Android\nCq-Include-Trybots: skia/skia.primary:Canary-Chromium\nChange-Id: Ie63d1b77266f983a1b25e19ddf4e27345941d963\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1419976\nCommit-Queue: Greg Daniel \u003cegdaniel@google.com\u003e\nAuto-Submit: Arthur Sonzogni \u003carthursonzogni@chromium.org\u003e\nReviewed-by: Greg Daniel \u003cegdaniel@google.com\u003e\n"
    },
    {
      "commit": "0f9d7ed2cec00542362594286d131c3158395a18",
      "tree": "50ef0fd13281834bc2092228efccce7e56e4f056",
      "parents": [
        "cf0dca67c88f9481c7961f9e25511219cbf914e3"
      ],
      "author": {
        "name": "Tyler Denniston",
        "email": "denniston.t@gmail.com",
        "time": "Wed Nov 11 15:46:35 2026 -0500"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 07:33:44 2026 -0800"
      },
      "message": "[wasm] add glBlitFramebuffer caps for webgl2\n\nWebGL 1 lacks support for this operation, but webgl2 does, and follows\nthe gles 3 spec:\n\n\u003chttps://registry.khronos.org/webgl/specs/latest/2.0/#4.7.4\u003e\n\nSo this allows us to enable the tests that use it.\n\nBug: b/584258002\nChange-Id: I560cd22c81e2adf6a2c690c738c36a115b8a1933\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1423857\nCommit-Queue: Tyler Denniston \u003ctyler@flyweight.co\u003e\nReviewed-by: Eric Boren \u003cborenet@google.com\u003e\nReviewed-by: Florin Malita \u003cfmalita@google.com\u003e\n"
    },
    {
      "commit": "cf0dca67c88f9481c7961f9e25511219cbf914e3",
      "tree": "724293e120f8c56ec3af55b3546b156c2ddd8949",
      "parents": [
        "4e80afbc518c2335035b48d0a3c10a0deb5d9a5a"
      ],
      "author": {
        "name": "cristina",
        "email": "huangcristina@google.com",
        "time": "Fri Nov 06 13:06:11 2026 -0500"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 06:21:40 2026 -0800"
      },
      "message": "[ganesh] Fix anisotropic GrSamplerState handling issue\n\n- Reserve 11 bits for fMaxAniso in asKey() so 1024 won\u0027t overflow.\n- Check fMaxAniso in GrSamplerState::operator\u003d\u003d.\n- Preserve fMaxAniso in GrGeometryProcessor::TextureSampler::reset() for\n  unrestricted textures. For restricted textures, use clamp wrap mode\n  and disable mipmapping and anisotropic filtering.\n- Remove the obsolete clamp_filter() helper.\n\nBug: b/581438423\nChange-Id: Iea0e1a383ecf88a073c62465175f1d93d13a5b38\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1418276\nReviewed-by: Michael Ludwig \u003cmichaelludwig@google.com\u003e\nCommit-Queue: Cristina Huang \u003chuangcristina@google.com\u003e\n"
    },
    {
      "commit": "4e80afbc518c2335035b48d0a3c10a0deb5d9a5a",
      "tree": "2caa81e3f8b6b91f7e62cf16aead049b2b288a6f",
      "parents": [
        "bf09d1bdb9d2a85e7bf1b324df2f26516726aef5"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Thu Nov 12 04:37:48 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 05:29:54 2026 -0800"
      },
      "message": "Manual roll Dawn from e327e2a60b08 to f3ec6002a07e (6 revisions)\n\nManual roll requested by robertphillips@google.com\n\nhttps://dawn.googlesource.com/dawn.git/+log/e327e2a60b08..f3ec6002a07e\n\n2026-11-12 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 9d94f63824e8 to 1eb2d9fcf088 (2476 revisions)\n2026-11-12 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 615aa21abb10 to c2cfebd8f340 (11 revisions)\n2026-11-12 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll DirectX Shader Compiler from 823a3dadf981 to c8611f6ff76e (1 revision)\n2026-11-12 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from a39baa792ba2 to 660bf91094b9 (20 revisions)\n2026-11-12 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll V8 from 3278125d2ae7 to a9909cbabd9f (134 revisions)\n2026-11-12 lehoangquyen@chromium.org d3d11: Check for device loss in BlockWaitForLastSubmittedSerial\n\nAlso rolling transitive DEPS:\n  https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/d8ad4495323e7b20443e7129fcbfd7ee78282818..cc7c44411318a2e499e69ebd778cd22d82bd2860\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/dawn-skia-autoroll\nPlease CC cwallez@google.com,rharrison@google.com,robertphillips@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nCq-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\nBug: None\nChange-Id: I596d5ca1793ef0ba4198e38279a298eec3ec8e20\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1425697\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "bf09d1bdb9d2a85e7bf1b324df2f26516726aef5",
      "tree": "2d4c9e8aa94e2d2aaeac1ac747151194c1608461",
      "parents": [
        "92633f14dc0a87f5938c722196814441e6f02804"
      ],
      "author": {
        "name": "Robert Phillips",
        "email": "robertphillips@google.com",
        "time": "Thu Nov 12 08:22:13 2026 -0500"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 05:26:11 2026 -0800"
      },
      "message": "[ganesh] Flush failures now result in an abandoned Context\n\nDue to the complexity of recovering from a flush failure, Ganesh now abandons its Context when such a failure occurs.\n\nBug: 584700430\nChange-Id: I4b5bacfce20a7e48370e5dfac29f670cdde854e6\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1422090\nReviewed-by: Michael Ludwig \u003cmichaelludwig@google.com\u003e\nCommit-Queue: Robert Phillips \u003crobertphillips@google.com\u003e\n"
    },
    {
      "commit": "92633f14dc0a87f5938c722196814441e6f02804",
      "tree": "2758d1e2e3983bdcbbd3abb3a8b1c1f3a23f0753",
      "parents": [
        "3b71ec08218f9c884b025fb738251d528385becc"
      ],
      "author": {
        "name": "Miyoung Shin",
        "email": "myid.shin@igalia.com",
        "time": "Thu Oct 29 20:27:31 2026 +0900"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 04:33:10 2026 -0800"
      },
      "message": "Support the Expat 2.8 and 2.9 APIs\n\nExpat 2.8.0 added XML_SetHashSalt16Bytes() and later deprecated\nXML_SetHashSalt(). Expat 2.9.0 added XML_GetCurrentLineNumber64() and\nXML_GetCurrentColumnNumber64() and deprecated the XML_Size versions.\nBuilding against Expat 2.9.0 fails with -Wdeprecated-declarations.\n\nUse the new functions when they are available. Keep the old ones\notherwise, since builds that use the system Expat may get an older\nversion (e.g. Chromium on Linux).\n\nThe hash salt is still set explicitly, to keep Expat from reading\nsystem entropy in sandboxed processes (crbug.com/40088338). It is now\n16 bytes when XML_SetHashSalt16Bytes() is available.\n\nBug: 493762623\nChange-Id: I35076a6654e5dd95c05dae96bff85e7d5320e788\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1409637\nReviewed-by: Julia Lavrova \u003cjlavrova@google.com\u003e\nReviewed-by: Robert Phillips \u003crobertphillips@google.com\u003e\nCommit-Queue: Robert Phillips \u003crobertphillips@google.com\u003e\n"
    },
    {
      "commit": "3b71ec08218f9c884b025fb738251d528385becc",
      "tree": "1d0517e0ff38d76448e20d4045135cb1d59b6c85",
      "parents": [
        "9aa2513a4ac9783ad90114c6d5e1585abaeb412d"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Thu Nov 12 01:14:44 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Thu Nov 12 02:33:23 2026 -0800"
      },
      "message": "Roll vulkan-deps from 66237fd5d66e to 660bf91094b9 (7 revisions)\n\nhttps://chromium.googlesource.com/vulkan-deps.git/+log/66237fd5d66e..660bf91094b9\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/vulkan-deps-skia-autoroll\nPlease CC robertphillips@google.com,skiabot@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nCq-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\nBug: None\nChange-Id: I897ca8776a071ac297f40d69dd511bebe5d2cf76\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1425696\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "9aa2513a4ac9783ad90114c6d5e1585abaeb412d",
      "tree": "6b21cf9ab6eb1cbd177d531e062cbc6a17265ad4",
      "parents": [
        "47f8184df5df323bba67abb1e492e3c202e1dc39"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Wed Nov 11 20:01:47 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 11 21:32:53 2026 -0800"
      },
      "message": "Roll ANGLE from 615aa21abb10 to 3fb9dbcf77f2 (9 revisions)\n\nhttps://chromium.googlesource.com/angle/angle.git/+log/615aa21abb10..3fb9dbcf77f2\n\n2026-11-11 jhbanh@google.com Disable the Linux/NVIDIA GTX 1660 experimental builder\n2026-11-11 b.schade@samsung.com Expose support for GL_KHR_robust_buffer_access_behavior\n2026-11-11 jhbanh@google.com Enable removed test suite for Linux/NVIDIA GTX 1660 stable\n2026-11-11 i.nazarov@samsung.com Vulkan: Optimize per-program pipeline cache usage\n2026-11-11 uchintala@google.com Tests: Add 6 new restricted traces\n2026-11-11 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from a39baa792ba2 to 8825cf5dade3 (12 revisions)\n2026-11-11 angle-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from cddb5c91b23f to 708e9e777738 (1 revision)\n2026-11-11 angle-autoroll@skia-public.iam.gserviceaccount.com Roll VK-GL-CTS from c9835145e8ee to a17b2ea469b1 (1 revision)\n2026-11-11 angle-autoroll@skia-public.iam.gserviceaccount.com Roll Chromium from 760cd00c13bb to 7a6b2fa9c6a7 (2676 revisions)\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/angle-skia-autoroll\nPlease CC jmadill@google.com,robertphillips@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nCq-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\nTest: Test: KHR-NoContext.es32.robust_buffer_access_behavior.*\nTest: Test: angle_trace_tests --gtest_filter\u003d\"*seven_deadly_sins*:*frag_pro_shooter*:*schoolboy_runaway*:*i_am_cat*:*i_am_security*:*super_bino_go*\"\nChange-Id: I7c37baacf15a944f34d02e98a2cfd05379c00789\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1425300\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "47f8184df5df323bba67abb1e492e3c202e1dc39",
      "tree": "ddfc14e95879bba0cdf4e58e8c2433d58409564c",
      "parents": [
        "d67d0f22e3ecbb8794223e2ebd008d1650246cb9"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Wed Nov 11 20:00:58 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 11 20:56:07 2026 -0800"
      },
      "message": "Roll Dawn from 484be16090c3 to e327e2a60b08 (13 revisions)\n\nhttps://dawn.googlesource.com/dawn.git/+log/484be16090c3..e327e2a60b08\n\n2026-11-11 stevenperron@google.com [Native] Clamp Maximum limits below kLimitU*Undefined sentinels\n2026-11-11 jhbanh@google.com Disable the Dawn Linux/NVIDIA GTX 1660 experiment\n2026-11-11 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Mesa from 62b0e52f875e to 28806e5e8245 (108 revisions)\n2026-11-11 jrprice@google.com [tint] Lower temporary storage limit\n2026-11-11 stevenperron@google.com [tint][spirv-reader] Split Texture::Process into named steps\n2026-11-11 amaiorano@google.com Always split oversized B2T/T2B row/image strides\n2026-11-11 dawn-automated-expectations@chops-service-accounts.iam.gserviceaccount.com Roll third_party/webgpu-cts/ d116bcccd..3cc5b73f1 (1 commit)\n2026-11-11 rharrison@chromium.org [ir] Optimize Evaluator operations\n2026-11-11 cwallez@chromium.org [dawn][gl] Add GL_RENDERER to the adapter description\n2026-11-11 dsinclair@chromium.org Remove ast::Builder Lets that don\u0027t take a type.\n2026-11-11 dsinclair@chromium.org Remove some `Const` overrides in ast::Builder.\n2026-11-11 stevenperron@google.com Roll V8 from 7defeaee47ea to 3278125d2ae7 (134 revisions)\n2026-11-11 amaiorano@google.com Add reproxy_cache dir to gitgnore\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/dawn-skia-autoroll\nPlease CC cwallez@google.com,rharrison@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nCq-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\nBug: None\nChange-Id: I8c32252720fd62cd235419ec61c3275c034302ea\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1425296\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d67d0f22e3ecbb8794223e2ebd008d1650246cb9",
      "tree": "46600265c48916a4aef0b8d9e968c81086cc2753",
      "parents": [
        "11c3a5a2ecfbed8fc4967bd3c9d11982a173b078"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Wed Nov 11 20:01:55 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 11 20:41:24 2026 -0800"
      },
      "message": "Roll debugger-app-base from 22941fd05bf8 to 8420707762f3\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/debugger-app-base-skia\nPlease CC borenet@google.com,skiabot@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nChange-Id: I657a57ca9b3b78fb20a456db4ac9f0c5a4cd3431\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1425280\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "11c3a5a2ecfbed8fc4967bd3c9d11982a173b078",
      "tree": "f8a0c91baf372cfae82a23ad081b773d740272d3",
      "parents": [
        "23e7e63789b87873ea2810932ccfc604ec20ab14"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Wed Nov 11 20:01:50 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 11 20:37:44 2026 -0800"
      },
      "message": "Roll fiddler-base from 2dd3ca5767f6 to 6861a63080c9\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/fiddler-base-skia\nPlease CC borenet@google.com,skiabot@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nChange-Id: I6cdde6000f1af5e464b25af440ab24822a03ee2f\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1425301\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "23e7e63789b87873ea2810932ccfc604ec20ab14",
      "tree": "2025396d23f36facc3065275d945784378836513",
      "parents": [
        "dfef69e0ebf4d67f5260ff46ae8ddd3b589baf78"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Wed Nov 11 16:04:38 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 11 17:01:28 2026 -0800"
      },
      "message": "Roll agents from ab8b2323432b to cb9a67747790 (1 revision)\n\nhttps://chromium.googlesource.com/chromium/agents.git/+log/ab8b2323432b..cb9a67747790\n\n2026-11-12 yuje@chromium.org [skills/utr] Update UTR skill for proactive workflows\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/agents-skia\nPlease CC browser-perf-engprod@google.com,ggj@google.com,gmarcoesau@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in agents: https://b.corp.google.com/issues/new?component\u003d1923111\u0026template\u003d2204026\nTo file a bug in Skia: https://b.corp.google.com/issues/new?component\u003d1923111\u0026template\u003d2204026\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nChange-Id: I6aa06c70e6bf5e3837d25a66a00106940ce34f70\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1425126\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "dfef69e0ebf4d67f5260ff46ae8ddd3b589baf78",
      "tree": "bf3fc210030673f07a53dfcacc02b9854547d0f9",
      "parents": [
        "bfedf3f031755a00fc7653b76e5d2a87473740c7"
      ],
      "author": {
        "name": "Joshua Yu",
        "email": "joshuayu@google.com",
        "time": "Tue Nov 10 11:51:14 2026 -0500"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 11 14:17:01 2026 -0800"
      },
      "message": "[graphite] Remove legacy graphite clip rrect shader\n\nPreprocessor directives checking for the staging flag SK_GRAPHITE_USE_LEGACY_RRECT_CLIP_SHADER and associated legacy code are removed after removing the flag from Chromium\u0027s Skia config (https://chromium-review.googlesource.com/8776895).\n\nChange-Id: I7c6d4a167f85e9aaf80d03879ab099736fd65075\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1402556\nReviewed-by: Michael Ludwig \u003cmichaelludwig@google.com\u003e\nCommit-Queue: Joshua Yu \u003cjoshuayu@google.com\u003e\n"
    },
    {
      "commit": "bfedf3f031755a00fc7653b76e5d2a87473740c7",
      "tree": "7565f6c16a01c568b2f724c4d9643b9d82183fd7",
      "parents": [
        "66eb4a0a923ed87b8638f2f4122e14b321e98f04"
      ],
      "author": {
        "name": "Nathan Sanchez",
        "email": "nathanasanchez@google.com",
        "time": "Wed Nov 11 12:01:40 2026 -0500"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 11 13:28:13 2026 -0800"
      },
      "message": "[Vulkan] Don\u0027t destroy descriptor pools on Imagination\n\nThis intentionally leaks any pools which can\u0027t be destroyed safely on\nImagination drivers due to VK_ERROR_OUT_OF_HOST_MEMORY or\nVK_ERROR_OUT_OF_DEVICE_MEMORY in vkAllocateDescriptorSets. This matches\nthe approach Dawn took and is okay since we will mark the context lost\nanyways for Ganesh. This is necessary since vkDestroyDescriptorPool may\nbe called before the device context is marked as lost due to the OOM.\n\nOn Graphite, we currently don\u0027t mark the context as lost on OOM, however\nwe should fail to allocate more descriptor pools on OOM and this fix\nmitigates the current issue of calling vkDestroyDescriptorPool on\nImagination. Created crbug.com/584699258 for tracking setting the\ncontext as lost for when Graphite OOMs.\n\nFixed: 580859133\nBug: 580859133\nChange-Id: I26c55553d95e8e786297b06c1513df0365544577\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1423856\nCommit-Queue: Nathan Sanchez \u003cnathanasanchez@google.com\u003e\nReviewed-by: Michael Ludwig \u003cmichaelludwig@google.com\u003e\n"
    },
    {
      "commit": "66eb4a0a923ed87b8638f2f4122e14b321e98f04",
      "tree": "557287d160fddf0f08e48d094e7b287197010645",
      "parents": [
        "8436d0ace82f82b68a5ed4334e8d66c043b5fa67"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Wed Nov 11 11:25:16 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 11 13:11:50 2026 -0800"
      },
      "message": "Roll vulkan-deps from 8825cf5dade3 to 66237fd5d66e (1 revision)\n\nhttps://chromium.googlesource.com/vulkan-deps.git/+log/8825cf5dade3..66237fd5d66e\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/vulkan-deps-skia-autoroll\nPlease CC robertphillips@google.com,skiabot@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nCq-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\nBug: None\nChange-Id: Ib9947b11bfea3a958753a6289d06831805ad88f3\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1424277\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "8436d0ace82f82b68a5ed4334e8d66c043b5fa67",
      "tree": "baf46ebd6333d96ed04820eb2344156978dc065e",
      "parents": [
        "267037d7a235b6613961f59078d7ff82855d98d5"
      ],
      "author": {
        "name": "Alexis Cruz-Ayala",
        "email": "alexisdavidc@google.com",
        "time": "Wed Nov 11 14:43:16 2026 -0500"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 11 13:03:06 2026 -0800"
      },
      "message": "[SkContext] Added fEnableRuntimeOpts to SkContextOptions\n\nAdded a field to SkContextOptions to allow users to select whether they want to initialize the SkOpts.\n\nUpdating GetGlobalSkContext() to match this logic.\n\nChange-Id: Ia81a176b3387ae9789c582e9c283ae0d5bd51007\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1416956\nReviewed-by: Greg Daniel \u003cegdaniel@google.com\u003e\nReviewed-by: Michael Ludwig \u003cmichaelludwig@google.com\u003e\nCommit-Queue: Alexis Cruz-Ayala \u003calexisdavidc@google.com\u003e\n"
    },
    {
      "commit": "267037d7a235b6613961f59078d7ff82855d98d5",
      "tree": "071b691476c4cd3d75a0ca3d1f1ee9932996863f",
      "parents": [
        "83c021cb30e41c9e46298abefff8344a82a87f44"
      ],
      "author": {
        "name": "YeungKC",
        "email": "I@YeungKC.com",
        "time": "Fri Nov 06 04:04:18 2026 +0900"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 11 11:39:21 2026 -0800"
      },
      "message": "[skparagraph] Do not decode the text to find a soft hyphen\n\nTextLine::justify calls Cluster::isSoftHyphen up to three times for\neach cluster of a justified line, and each call decodes UTF-8 from the\nparagraph text. U+00AD has one valid UTF-8 form, C2 AD, so compare the\ntwo bytes instead.\n\nAn overlong form of U+00AD is not valid UTF-8, and it is no longer a\nsoft hyphen.\n\nLayout of 3500 justified paragraphs from the ParagraphCache takes\n45.9 ms instead of 51.4 ms (local nanobench, macOS arm64 Release,\nmedian of 7 interleaved rounds).\n\nChange-Id: Ic1ccbf6cd0434fc3f6d103dfc2389d401ebe232b\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1418836\nReviewed-by: Julia Lavrova \u003cjlavrova@google.com\u003e\nCommit-Queue: Alexis Cruz-Ayala \u003calexisdavidc@google.com\u003e\nReviewed-by: Alexis Cruz-Ayala \u003calexisdavidc@google.com\u003e\n"
    },
    {
      "commit": "83c021cb30e41c9e46298abefff8344a82a87f44",
      "tree": "168a055dc96a380ef360307e55981a25c7caf0db",
      "parents": [
        "965cb0b95aa54510a4e903777d185f0f64a8e7f4"
      ],
      "author": {
        "name": "Sergio Gonzalez Martin",
        "email": "sergiog@microsoft.com",
        "time": "Tue Nov 10 16:01:45 2026 +0000"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 11 11:27:23 2026 -0800"
      },
      "message": "Reland \"[rust jpeg] Opt into libjpeg-turbo subsampling and quantization parity\"\n\nThis is a reland of commit 2605c4a9761c9c2e9e7d8dc7ac84c459d87bdcd3\n\nReason of failure was that we were missing patch in jpeg-encoder crate\nso the newly added method was not found. No change has been done in the\noriginal skia CL. Reland should complete after following Chromium CL\ncompletes:\n\nhttps://chromium-review.googlesource.com/c/chromium/src/+/8778239\n\nOriginal change\u0027s description:\n\u003e [rust jpeg] Opt into libjpeg-turbo subsampling and quantization parity\n\u003e\n\u003e When encoding JPEGs through SkJpegRustEncoder, opt into two jpeg-encoder\n\u003e settings so decoded output matches SkJpegEncoder (libjpeg-turbo):\n\u003e\n\u003e - ChromaSubsamplingMethod::Average (2x2 box filter matching libjpeg\u0027s\n\u003e   h2v2_downsample instead of top-left nearest-neighbor point sampling),\n\u003e   along with upstream PR #44\u0027s bottom-edge downsampled row clamping on\n\u003e   partial-iMCU heights.\n\u003e - Encoder::set_exact_quantization(true) (16-bit variable-shift\n\u003e   reciprocal division matching libjpeg-turbo\u0027s compute_reciprocal).\n\u003e\n\u003e This changes brings PR from jpeg-encoder:\n\u003e\n\u003e https://github.com/vstroebel/jpeg-encoder/pull/44\n\u003e\n\u003e Bug: 493315750\n\u003e Change-Id: Id63bd04e2a8bff05e38c3799a838f0c9c5440741\n\u003e Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1423196\n\u003e Reviewed-by: Łukasz Anforowicz \u003clukasza@google.com\u003e\n\u003e Commit-Queue: Sergio Gonzalez Martin \u003csergiog@microsoft.com\u003e\n\u003e Reviewed-by: Florin Malita \u003cfmalita@google.com\u003e\n\nBug: 493315750\nChange-Id: I15f5403e1c046aa747ed385ad73f7f05f289238b\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1424397\nReviewed-by: Florin Malita \u003cfmalita@google.com\u003e\nReviewed-by: Łukasz Anforowicz \u003clukasza@google.com\u003e\nCommit-Queue: Sergio Gonzalez Martin \u003csergiog@microsoft.com\u003e\n"
    },
    {
      "commit": "965cb0b95aa54510a4e903777d185f0f64a8e7f4",
      "tree": "8c8b867ec10c7c2ae3df90de8416777ff419c0e3",
      "parents": [
        "336a3f4974e0a36c96ac0bf96b55b312683b9dd8"
      ],
      "author": {
        "name": "Eric Boren",
        "email": "borenet@google.com",
        "time": "Wed Nov 11 14:44:05 2026 +0000"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 11 11:02:50 2026 -0800"
      },
      "message": "[infra] Add skia gardener as reviewer for nontrivial recipe rolls\n\nChange-Id: I7d1f1b27f1263731623f43cc9c688852455a25fa\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1422519\nReviewed-by: Robert Phillips \u003crobertphillips@google.com\u003e\nCommit-Queue: Robert Phillips \u003crobertphillips@google.com\u003e\nAuto-Submit: Eric Boren \u003cborenet@google.com\u003e\n"
    },
    {
      "commit": "336a3f4974e0a36c96ac0bf96b55b312683b9dd8",
      "tree": "0d54e93a8d9045a7aae2bdd5f6e4aa0830360efc",
      "parents": [
        "15110e42139354238ec99ff3401945fa3aae8226"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Wed Nov 11 09:29:41 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 11 10:57:26 2026 -0800"
      },
      "message": "Manual roll Dawn from c43ffc1318c8 to 484be16090c3 (6 revisions)\n\nManual roll requested by robertphillips@google.com\n\nhttps://dawn.googlesource.com/dawn.git/+log/c43ffc1318c8..484be16090c3\n\n2026-11-11 stevenperron@google.com [v8] Add boringssl and nasm dependencies for standalone builds\n2026-11-11 stevenperron@google.com [napi_v8] Schedule finalizers on an EventLoop owned by napi_env__\n2026-11-11 amaiorano@google.com [native] Remove ResourceTable SlotState::visible\n2026-11-11 cwallez@chromium.org [dawn][gl] Dirty bind groups on pipeline change.\n2026-11-11 cwallez@chromium.org Fix warnings in StableInstanceValidationTests that block CQ\n2026-11-11 dawn-autoroll@skia-public.iam.gserviceaccount.com Fix up roll of Chromium DEPS\n\nAlso rolling transitive DEPS:\n  https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/34ede0d51ae535e13886d04e7bbb557fe34acdd5..d8ad4495323e7b20443e7129fcbfd7ee78282818\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/dawn-skia-autoroll\nPlease CC cwallez@google.com,rharrison@google.com,robertphillips@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nCq-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\nBug: None\nChange-Id: I36bffda50f7774f6c84c6fb9eafa38810ad52ce1\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1422502\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "15110e42139354238ec99ff3401945fa3aae8226",
      "tree": "753fffff9def68be1dd54f11f5505d106c1e834d",
      "parents": [
        "18ccbf62b63ad5d74cf8a34ab696e6137c63c0d1"
      ],
      "author": {
        "name": "recipe-roller",
        "email": "recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 09:54:59 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 11 10:38:48 2026 -0800"
      },
      "message": "Roll recipe dependencies (trivial).\n\nThis is an automated CL created by the recipe roller. This CL rolls\nrecipe changes from upstream projects (depot_tools, recipe_engine) into this repository.\n\nThe build that created this CL was\nhttps://ci.chromium.org/b/8665408529638367921\n\ndepot_tools:\nhttps://chromium.googlesource.com/chromium/tools/depot_tools.git/+/40a866ba0e570396878ac86e11ef046c87a36e7d\n  40a866b (ovsienko@google.com)\n      Roll vpython3 to 32f3f5912cfe\n\nrecipe_engine:\nhttps://chromium.googlesource.com/infra/luci/recipes-py.git/+/55b7507aa76018b3b0c41266e239b3ff3dc64afd\n  55b7507 (olivernewman@google.com)\n      [test] Start test runners only as tests are found\n\nPlease check the following references for more information:\n- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller\n- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback\n- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md\n\nUse https://goo.gl/noib3a to file a bug.\n\nRecipe-Tryjob-Bypass-Reason: Autoroller\nIgnore-Freeze: Autoroller\nBugdroid-Send-Email: False\nChange-Id: I311b8ee4b45649a59f1dcfc5160320054d305021\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1424956\nBot-Commit: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com \u003crecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\u003e\nCommit-Queue: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com \u003crecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "18ccbf62b63ad5d74cf8a34ab696e6137c63c0d1",
      "tree": "e1b960c30445164db8d06fab329059783ca9c63d",
      "parents": [
        "481a5d9d35b595e010e5358b66055324ecbc686f"
      ],
      "author": {
        "name": "Michael Ludwig",
        "email": "michaelludwig@google.com",
        "time": "Wed Nov 11 12:18:58 2026 -0500"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 11 10:30:15 2026 -0800"
      },
      "message": "Add tolerance to elliptical stroked rrect tests\n\nAlso prints out alpha value\n\nChange-Id: I862da7363bda3f4f12b856e7cdf8329ca2ecd2eb\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1421999\nCommit-Queue: Michael Ludwig \u003cmichaelludwig@google.com\u003e\nReviewed-by: Robert Phillips \u003crobertphillips@google.com\u003e\nAuto-Submit: Michael Ludwig \u003cmichaelludwig@google.com\u003e\n"
    },
    {
      "commit": "481a5d9d35b595e010e5358b66055324ecbc686f",
      "tree": "50db70216dccbeb211161ba7d721cc49b3ab05e9",
      "parents": [
        "3d7e335da165b0869717d2dcbba8c589d1268e76"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Thu Nov 05 00:27:01 2026 +0000"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 11 10:14:45 2026 -0800"
      },
      "message": "SkCrabbyAvifCodec: keep HLG/PQ for limited range\n\nThe YUV range only affects the YUV-to-RGB conversion, which CrabbyAvif\nalready applies when decoding pixels. The decoded RGB output is always\nfull range, so passing the source YUV range to MakeCICP caused\ncicp_get_android_sk_color_space() to return nullptr for limited-range\nfiles (full_range_flag !\u003d 1) and drop the BT2020_HLG / BT2020_PQ color\nspace tag.\n\nPass full_range_flag\u003d1 to MakeCICP to describe the decoded RGB output.\n\nBug: 573244987\nChange-Id: Id1fea81fe11edf551a890d127ad3cd903166e332\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1417456\nReviewed-by: Noelle Scobie \u003cnscobie@google.com\u003e\nCommit-Queue: Vignesh Venkat \u003cvigneshv@google.com\u003e\n"
    },
    {
      "commit": "3d7e335da165b0869717d2dcbba8c589d1268e76",
      "tree": "c8a9a643db692ab7e71885fb762686c0feeb200b",
      "parents": [
        "bfe3b88518f23ab4b40531782267951115e19ed9"
      ],
      "author": {
        "name": "recipe-roller",
        "email": "recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 08:53:42 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 11 09:49:26 2026 -0800"
      },
      "message": "Roll recipe dependencies (trivial).\n\nThis is an automated CL created by the recipe roller. This CL rolls\nrecipe changes from upstream projects (recipe_engine) into this repository.\n\nThe build that created this CL was\nhttps://ci.chromium.org/b/8665412306736400977\n\nrecipe_engine:\nhttps://chromium.googlesource.com/infra/luci/recipes-py.git/+/777ef2408770ae619b4c066bdc4936c886fddffc\n  777ef24 (olivernewman@google.com)\n      [cipd] Don\u0027t cache failed ensure_tool installs\n\nPlease check the following references for more information:\n- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller\n- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback\n- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md\n\nUse https://goo.gl/noib3a to file a bug.\n\nRecipe-Tryjob-Bypass-Reason: Autoroller\nIgnore-Freeze: Autoroller\nBugdroid-Send-Email: False\nChange-Id: Id6da5489d755ba8667ffc86fa37ca9f228b00e0e\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1424091\nCommit-Queue: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com \u003crecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\u003e\nBot-Commit: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com \u003crecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "bfe3b88518f23ab4b40531782267951115e19ed9",
      "tree": "35df411a9cfb914090e3ccc6d34cefdb9b2e0995",
      "parents": [
        "97dd598ce25f8f5334ccad8ffd26f4e3008becb4"
      ],
      "author": {
        "name": "Sarah Rust",
        "email": "sarahrust@google.com",
        "time": "Wed Nov 11 11:12:27 2026 -0500"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 11 09:07:58 2026 -0800"
      },
      "message": "Add --addin-jsons and wire dawn_version.json to Skia bazel builds for dawn.\n\nNew parameters added from Dawn roller: https://issues.chromium.org/issues/578759552\n\nChange-Id: Icba85d22a44af5eaa3b4538760fb5b3303067b32\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1422501\nReviewed-by: Robert Phillips \u003crobertphillips@google.com\u003e\nCommit-Queue: Sarah Rust \u003csarahrust@google.com\u003e\n"
    },
    {
      "commit": "97dd598ce25f8f5334ccad8ffd26f4e3008becb4",
      "tree": "4d511987ebd960e7226af5db3a2c42a2eac5c026",
      "parents": [
        "803e99ecbaa1d6c6c7d731bfe5a22393e0179f74"
      ],
      "author": {
        "name": "Julia Lavrova",
        "email": "jlavrova@google.com",
        "time": "Mon Nov 09 04:29:18 2026 +0000"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 11 08:57:05 2026 -0800"
      },
      "message": "[SkScalerContext] Harden mask-filtered getImage\n\nWhen a mask filter is set, SkScalerContext::getImage regenerates the\nunfiltered glyph via a second makeGlyph() load whose path availability,\nmask format, or bounds may diverge from origGlyph when a font scaler\nretains state across glyph loads (such as FreeType Type 1 or TrueType).\nIn that path, getImage previously inspected origGlyph\u0027s stale path and\nformat during path rasterization, aborted or overflowed sub-byte rows\nwhen formats diverged or were not 1-byte-per-pixel, rejected overlapping\nkSDF_Format masks, and multiplied clipped row counts by 3 instead of\nstepping and clearing all three full k3D_Format planes.\n\nDelegate path rasterization to generateImageFromPath(*unfilteredGlyph,\n...), require matching 1-byte-per-pixel formats (kA8, k3D, or kSDF)\nbefore copying the filtered overlap, zero origGlyph.imageSize() when\nclipping, and step k3D_Format planes by their unclipped\ncomputeImageSize() strides.\n\nWithout the fix, SkScalerContext_GetImageMaskFormatMismatchAndSubByte\ncrashes under ASAN with use-after-poison (64-byte write past an 80-byte\nkBW_Format buffer) and aborts on srcMask.fFormat \u003d\u003d origGlyph.fMaskFormat;\nSkScalerContext_GetImageClipped3DAndSDF fails 140 assertions on unzeroed\nk3D_Format planes and corrupted plane strides; and\nSkScalerContext_GetImageFromPathDivergence aborts with SIGILL in\nGenerateImageFromPath on kARGB32_Format.\n\nTested:\n- Skia dm --src tests --nogpu -m SkStrike SkScalerContext DistanceField\n  Blur Emboss: 32/32 passed in Debug and Release+ASAN (Linux x86_64,\n  Clang 22.1.0, FreeType)\n- Flutter Engine txt_benchmarks A/B (20 interleaved rounds, Release,\n  Linux x86_64, FreeType): NEUTRAL (JustifyLayout 0.9952\n  [0.9861, 1.0149]; LongLayout 0.9888 [0.9800, 0.9986]; ShortLayout\n  0.9831 [0.9699, 0.9969]; TextBigO/1024 1.0059 [0.9952, 1.0159])\n- Chromium component build with patched third_party/skia (Release with\n  DCHECKs, Linux x86_64, Clang 24.0.0git, FreeType/Fontations):\n  skia_unittests (79/79 passed) and blink_platform_unittests\n  --gtest_filter\u003d\"*Font*:*Glyph*\" (255/256 passed, 1 skipped for\n  missing Noto Nastaliq Urdu font)\n- Skia trybots (all green):\n  Test-Ubuntu24.04-Clang-GCE-CPU-AVX2-x86_64-Debug-All-ASAN\n  Test-Mac14-Clang-MacMini8.1-CPU-AVX2-x86_64-Debug-All-NativeFonts_Fontations\n- Canary-G3: google3 CheckTestsSkia and CheckSkiaDependents passed;\n  CheckTestsSkiaDependents had 4 infra aborts and 1 failure in a YouTube\n  RPC error-space test with no Skia frames that fails the same way on\n  an unrelated canary\n- Canary-Chromium: 55 of 59 Chromium CQ builders passed; the 4 failures\n  are ios-simulator patch-apply errors in bot_update\n- Not tested: Windows DirectWrite and Android NDK font backends; GPU\n  rendering trybots\n\nBug: chromium:574221666, chromium:574236375, chromium:576811175\nAssisted-by: Gemini 4 Carbon (High)\nChange-Id: I2aaf5e4636b7ea8118ce56a3326bdd89c41b1161\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1421656\nReviewed-by: Alexis Cruz-Ayala \u003calexisdavidc@google.com\u003e\nCommit-Queue: Julia Lavrova \u003cjlavrova@google.com\u003e\n"
    },
    {
      "commit": "803e99ecbaa1d6c6c7d731bfe5a22393e0179f74",
      "tree": "aa756db781c4dd538915567d337d6be107efbb6f",
      "parents": [
        "8113c27ba6eb87b4b8e1ad3166c4990c158c6e46"
      ],
      "author": {
        "name": "Tyler Denniston",
        "email": "denniston.t@gmail.com",
        "time": "Wed Nov 11 09:29:17 2026 -0500"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 11 08:52:55 2026 -0800"
      },
      "message": "[wasm] enable webgl for wasm gms, tests\n\nNo msaa, dft, etc configs are enabled, just plain webgl. Several\ntests/gms are skipped. From brief investigation some are fixable,\nskbug.com/584258002 filed to follow up later.\n\nAlso, now specifying Vulkan ANGLE backend for linux chrome, which\nenables the actual gpu on linux chrome (previously was going through\nSwiftshader).\n\nChange-Id: Id128e0a5342c0c5d91a9099900e713b5e9c0d64a\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1423198\nReviewed-by: Eric Boren \u003cborenet@google.com\u003e\nReviewed-by: Florin Malita \u003cfmalita@google.com\u003e\nCommit-Queue: Tyler Denniston \u003ctyler@flyweight.co\u003e\n"
    },
    {
      "commit": "8113c27ba6eb87b4b8e1ad3166c4990c158c6e46",
      "tree": "031609b540ce741d91caad55c314946b81fb742d",
      "parents": [
        "e980633379baf53df28472711670faa8a3f77d57"
      ],
      "author": {
        "name": "Tyler Denniston",
        "email": "denniston.t@gmail.com",
        "time": "Tue Nov 10 11:15:51 2026 -0500"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 11 08:51:47 2026 -0800"
      },
      "message": "[wasm]: add extra logging to test runs\n\nChange-Id: I071bceccb8ec23792a0795cd5627df79b111e598\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1423556\nReviewed-by: Eric Boren \u003cborenet@google.com\u003e\nCommit-Queue: Tyler Denniston \u003ctyler@flyweight.co\u003e\nReviewed-by: Florin Malita \u003cfmalita@google.com\u003e\n"
    },
    {
      "commit": "e980633379baf53df28472711670faa8a3f77d57",
      "tree": "8d02e5c0a48f3f9e1c503cc742bd90faeaac3d25",
      "parents": [
        "6c39cf7f6730f7e4de69e04307df7b1cf8ab6900"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Wed Nov 11 03:39:40 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 11 05:35:00 2026 -0800"
      },
      "message": "Manual roll Dawn from 37f80f91a029 to c43ffc1318c8 (8 revisions)\n\nManual roll requested by robertphillips@google.com\n\nhttps://dawn.googlesource.com/dawn.git/+log/37f80f91a029..c43ffc1318c8\n\n2026-11-11 mridulgoyal@google.com [WebGPU][Kotlin] Pre-cache jmethodIDs and jfieldIDs on JNIClasses\n2026-11-11 sainitarun@google.com [native] Add GetStableProcAddress() and webview_instance toggle\n2026-11-11 sainitarun@google.com [native] Validate chained structs against Dawn\u0027s stable ABI\n2026-11-11 sainitarun@google.com [test] Move StableInstanceTests to validation unittests\n2026-11-11 sainitarun@google.com [native] Split FeatureInfo stability and add allow_experimental_apis\n2026-11-11 sainitarun@google.com [generator] Add --addin-jsons and wire dawn_version.json for is_stable()\n2026-11-11 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll SwiftShader from cddb5c91b23f to 708e9e777738 (1 revision)\n2026-11-11 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll ANGLE from 0ffc161d3955 to 615aa21abb10 (13 revisions)\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/dawn-skia-autoroll\nPlease CC cwallez@google.com,rharrison@google.com,robertphillips@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nCq-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\nBug: None\nChange-Id: Ibc978bc17de5aeaf22cd10aa4e32bbfe4e90ea28\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1424456\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "6c39cf7f6730f7e4de69e04307df7b1cf8ab6900",
      "tree": "ed87e2f923659409ad82c0720c366ca2bcd6cc98",
      "parents": [
        "276408586c24003a8f27edf613367a04c765c236"
      ],
      "author": {
        "name": "recipe-roller",
        "email": "recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 04:02:34 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 11 04:26:42 2026 -0800"
      },
      "message": "Roll recipe dependencies (trivial).\n\nThis is an automated CL created by the recipe roller. This CL rolls\nrecipe changes from upstream projects (depot_tools, recipe_engine) into this repository.\n\nThe build that created this CL was\nhttps://ci.chromium.org/b/8665430548279876097\n\ndepot_tools:\nhttps://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/db892c4aea24bca54e2c5abb39e918be4d30b135~..43956b3e74de59b07bf8931ba9a472d622fe86a7\n  db892c4 (ukai@google.com)\n      owners: Remove obsolete RECLIENT_OWNERS and per-file rules\n  a80c66c (ovsienko@google.com)\n      [depot_tools] Reland \"Roll vpython3 to 32c3e2029b20\"\n  3ece155 (philwo@google.com)\n      windows_sdk: validate SetEnv discovery and manifest paths\n  8defb31 (ovsienko@google.com)\n      [depot_tools] Roll vpython3 to 1fe128e81d74\n  132599e (gavinmak@google.com)\n      gerrit_util, my_activity: Restrict OAuth creds to googlesource.com\n  21f144c (gavinmak@google.com)\n      gclient: Normalize backslashes in default GCS filenames\n  84a59aa (gavinmak@google.com)\n      Prevent symlink traversal in gclient GCS dependencies\n  83afc4d (brgan@google.com)\n      gclient_utils: don\u0027t let cmd.exe interpret rmtree paths on Windows\n  a408729 (brgan@google.com)\n      download_from_google_storage: refuse args cmd.exe would interpret\n  4433f40 (brgan@google.com)\n      git_cache: only keep repository data from GCS bootstrap snapshots\n  707864d (brgan@google.com)\n      gerrit_util: don\u0027t resolve git-remote-sso from the current dire...\n  9652892 (arthurmilchior@google.com)\n      [git-cl] Annotate AI comments in `git cl comments`\n  397d3fe (arthurmilchior@google.com)\n      [depot_tools] Add `--show-worktrees` option to `git map-branches`\n  4958d73 (brgan@google.com)\n      bot_update: only report commit positions verified against their...\n  816da11 (arthurmilchior@google.com)\n      [git-cl] Support listing draft comments in `git cl comments`\n  914c722 (masonf@chromium.org)\n      git_cl: Skip branch bug inference if description has Bug: or Fi...\n  93830b2 (gavinmak@google.com)\n      gclient: Confine and sanitize removed CIPD entry git checkout\n  23239db (yiwzhang@google.com)\n      roll lucicfg to 1.46.8\n  006c145 (brgan@google.com)\n      gclient: keep other dependencies out of GCS output directories\n  3c975ac (arthurmilchior@google.com)\n      [git-cl] Clarify that `--draft` lists only your drafts\n  ded968c (gambard@chromium.org)\n      swift_format: Use swift-format from third_party/swift-toolchain\n  354244c (brgan@google.com)\n      gerrit_util: Redact all cookie values in debug_summary_state\n  e5be831 (ayatane@chromium.org)\n      Roll reclient to 0.187.0.ad10b508-gomaip\n  d217af2 (brgan@google.com)\n      gclient: remove the GCS cleanup blocklist\n  56de71e (gavinmak@google.com)\n      gclient_scm: stop auto-restoring old_*.git backups in update()\n  ff26a95 (brgan@google.com)\n      gclient: Restrict protocol_override schemes and target hosts\n  c9239d2 (ntfschr@google.com)\n      Fix presubmit authentication email resolution\n  023c9be (ovsienko@google.com)\n      Revert \"Fix presubmit authentication email resolution\"\n  dcb7182 (ovsienko@google.com)\n      [vpython] Upgrade brotli from 1.0.9 to 1.2.1\n  51800fe (vplotkin@google.com)\n      Make Gerrit tag creation idempotent for matching commits\n  ec9e89f (clemensb@chromium.org)\n      gerrit_util: pass ReAuthContext for patchset-creating REST calls\n  9203db5 (ovsienko@google.com)\n      Roll vpython3 to eee2e756f066\n  487fde3 (gavinmak@google.com)\n      Reland \"Fix presubmit authentication email resolution\"\n  500126d (brgan@google.com)\n      gclient: keep dependency checkouts inside the gclient root\n  9be95df (brgan@google.com)\n      gclient: reject a git cache that overlaps the gclient root\n  9fc44de (brgan@google.com)\n      git_cache: keep mirror directories inside the cache directory\n  80c0902 (brgan@google.com)\n      tests: reuse rebase-update test repos across test methods\n  96a7c14 (ovsienko@google.com)\n      autoninja: Use posixpath.join for Siso log GCS URLs\n  9310029 (nitzan@island.io)\n      presubmit: Use git-mode IsTestableFile for --diff_file changes\n  c4cdaee (rohitrao@chromium.org)\n      swift_format: Support arch-specific subdirectories\n  fb534b1 (brgan@google.com)\n      Revert \"gclient: reject a git cache that overlaps the gclient r...\n  2859de0 (gavinmak@google.com)\n      presubmit: Propagate approvals on cherry-picks\n  29de65c (kiehl@google.com)\n      gclient: Raise gclient_utils.Error in GcsDependency\n  43956b3 (ukai@google.com)\n      autoninja: Remove dead Linux rewrapper_linux.cfg check\n\nrecipe_engine:\nhttps://chromium.googlesource.com/infra/luci/recipes-py.git/+/7b1cc13c89b31adcb8a483d2b54ce0c59001442c\n  7b1cc13 (chromium-autoroll@skia-public.iam.gserviceaccount.com)\n      Roll CAS Client from 41f0d15c9585 to c28a961510f2\n\nPlease check the following references for more information:\n- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller\n- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback\n- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md\n\nUse https://goo.gl/noib3a to file a bug.\n\nRecipe-Tryjob-Bypass-Reason: Autoroller\nIgnore-Freeze: Autoroller\nBugdroid-Send-Email: False\nChange-Id: Ifc01ffc0996c07d5e82902bf9cec70fe5a570c17\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1424496\nBot-Commit: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com \u003crecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\u003e\nCommit-Queue: recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com \u003crecipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "276408586c24003a8f27edf613367a04c765c236",
      "tree": "5e91270fe39a5caaca5bffa803b65562c0393c90",
      "parents": [
        "b89c24bbab8c1a61ed53e9d98c465881d1008de2"
      ],
      "author": {
        "name": "recipe-roller",
        "email": "recipe-mega-autoroller@chops-service-accounts.iam.gserviceaccount.com",
        "time": "Sun Nov 01 20:04:25 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 11 03:51:26 2026 -0800"
      },
      "message": "Roll recipe dependencies (nontrivial).\n\nThis is an automated CL created by the recipe roller. This CL rolls\nrecipe changes from upstream projects (recipe_engine) into this repository.\n\nThe build that created this CL was\nhttps://ci.chromium.org/b/8666276117178510641\n\nPlease review the expectation changes, and LGTM+CQ.\n\nrecipe_engine:\nhttps://chromium.googlesource.com/infra/luci/recipes-py.git/+/8e5387fd52041a4ac322c76a0361752dcccfe04a\n  8e5387f (ovsienko@google.com)\n      Ruff: reformat recipes-py\n\nPlease check the following references for more information:\n- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller\n- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback\n- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md\n\nUse https://goo.gl/noib3a to file a bug.\n\nRecipe-Tryjob-Bypass-Reason: Autoroller\nIgnore-Freeze: Autoroller\nBugdroid-Send-Email: False\nChange-Id: I959f62700f8a9cde851b2f460c0bd58554b5e491\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1412997\nReviewed-by: Eric Boren \u003cborenet@google.com\u003e\nCommit-Queue: Eric Boren \u003cborenet@google.com\u003e\n"
    },
    {
      "commit": "b89c24bbab8c1a61ed53e9d98c465881d1008de2",
      "tree": "d385ff2fbe36b0095027dc26d542cf4c4076382d",
      "parents": [
        "5fc539565e2ac7d29685b89af6e01ed797a3d5fe"
      ],
      "author": {
        "name": "Sergio Gonzalez Martin",
        "email": "sergiog@microsoft.com",
        "time": "Wed Nov 11 00:43:01 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Wed Nov 11 00:44:49 2026 -0800"
      },
      "message": "Revert \"[rust jpeg] Opt into libjpeg-turbo subsampling and quantization parity\"\n\nThis reverts commit 2605c4a9761c9c2e9e7d8dc7ac84c459d87bdcd3.\n\nReason for revert: Failing Chromium skia roll\n[1032/11600] RUST obj/skia/librust_jpeg_ffi_e866329c.rlib obj/skia/librust_jpeg_ffi_e866329c.rmeta obj/skia/rust_jpeg_ffi.rustflags.json obj/skia/rust_jpeg_ffi.rsp.rust\n../../third_party/cpython3/host/bin/python3 ../../build/rust/gni_impl/rustc_wrapper.py --dump-rustc-env-and-flags\u003dobj/skia/rust_jpeg_ffi.rustflags.json --rsp\u003dobj/skia/rust_jpeg_ffi.rsp --rustc\u003d../../third_party/rust-toolchain/bin/rustc --depfile\u003dobj/skia/librust_jpeg_ffi_e866329c.rlib.d --emit\u003ddep-info\u003dobj/skia/librust_jpeg_ffi_e866329c.rlib.d,link,metadata\u003dobj/skia/librust_jpeg_ffi_e866329c.rmeta -o obj/skia/librust_jpeg_ffi_e866329c.rlib -- -Clinker\u003d../../third_party/llvm-build/Release+Asserts/bin/clang++ ../../third_party/skia/experimental/rust_jpeg/ffi/FFI.rs LDFLAGS RUSTENV OUT_DIR\u003dgen/skia/rust_jpeg_ffi CLIPPY_CONF_DIR\u003d../../build/config\nerror[E0599]: no method named `set_exact_quantization` found for struct `Encoder` in the current scope\n    --\u003e ../../third_party/skia/experimental/rust_jpeg/ffi/FFI.rs:1899:13\n\nFailure Link: https://ci.chromium.org/ui/p/chromium/builders/try/android-arm64-rel/1778305/overview\n\nOriginal change\u0027s description:\n\u003e [rust jpeg] Opt into libjpeg-turbo subsampling and quantization parity\n\u003e\n\u003e When encoding JPEGs through SkJpegRustEncoder, opt into two jpeg-encoder\n\u003e settings so decoded output matches SkJpegEncoder (libjpeg-turbo):\n\u003e\n\u003e - ChromaSubsamplingMethod::Average (2x2 box filter matching libjpeg\u0027s\n\u003e   h2v2_downsample instead of top-left nearest-neighbor point sampling),\n\u003e   along with upstream PR #44\u0027s bottom-edge downsampled row clamping on\n\u003e   partial-iMCU heights.\n\u003e - Encoder::set_exact_quantization(true) (16-bit variable-shift\n\u003e   reciprocal division matching libjpeg-turbo\u0027s compute_reciprocal).\n\u003e\n\u003e This changes brings PR from jpeg-encoder:\n\u003e\n\u003e https://github.com/vstroebel/jpeg-encoder/pull/44\n\u003e\n\u003e Bug: 493315750\n\u003e Change-Id: Id63bd04e2a8bff05e38c3799a838f0c9c5440741\n\u003e Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1423196\n\u003e Reviewed-by: Łukasz Anforowicz \u003clukasza@google.com\u003e\n\u003e Commit-Queue: Sergio Gonzalez Martin \u003csergiog@microsoft.com\u003e\n\u003e Reviewed-by: Florin Malita \u003cfmalita@google.com\u003e\n\nBug: 493315750\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nChange-Id: Ibd45e5f3060f2cb03c998d5e371981b7d16aed35\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1424396\nCommit-Queue: Sergio Gonzalez Martin \u003csergiog@microsoft.com\u003e\nBot-Commit: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "5fc539565e2ac7d29685b89af6e01ed797a3d5fe",
      "tree": "6dd9e3aec608015a0ace5e163853ab3980c37f2f",
      "parents": [
        "c74c23677b0dd5e0fd641ae584f9e7d06fd19708"
      ],
      "author": {
        "name": "Arthur Sonzogni",
        "email": "arthursonzogni@chromium.org",
        "time": "Tue Nov 10 13:13:53 2026 +0000"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Nov 10 23:43:41 2026 -0800"
      },
      "message": "miracleptr: Prepare Graphite for raw_ptr\n\nMark stack-only Graphite helpers with SK_ONLY_STACK_ALLOCATABLE, and fix\nmember order and teardown so pointees outlive the pointers to them.\nThis unblocks the raw_ptr rewrite in the follow-up CL.\n\nBug: 351867706\nDoc: https://bit.ly/miracleptr-skia\nChange-Id: Ic17f65d69748b5598f70af5df2ae248fa160bef2\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1423038\nCommit-Queue: Arthur Sonzogni \u003carthursonzogni@chromium.org\u003e\nReviewed-by: Michael Ludwig \u003cmichaelludwig@google.com\u003e\n"
    },
    {
      "commit": "c74c23677b0dd5e0fd641ae584f9e7d06fd19708",
      "tree": "2fb7558f04da9d5e5bcca8eb346ac9743b9c0a40",
      "parents": [
        "158f91ae2df670b49304afe8e435a18115b68562"
      ],
      "author": {
        "name": "Arthur Sonzogni",
        "email": "arthursonzogni@chromium.org",
        "time": "Tue Nov 10 10:06:44 2026 +0000"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Nov 10 23:42:37 2026 -0800"
      },
      "message": "Enable PartitionAlloc official mode in Release\n\nis_official_build has different meanings in Chrome and Skia:\n- In Chrome, it means a production-optimized build (used for shipping\n  binaries and perf bots).\n- In Skia, it packages Skia for distro/OS embedders (using system\n  libraries and disabling tools like dm and nanobench), so Skia Release\n  and Perf bots leave is_official_build \u003d false and set\n  is_debug \u003d false.\n\nBecause PartitionAlloc defaults partition_alloc_is_official_build to\nis_official_build, Skia Release and Perf bots built PartitionAlloc in\nnon-official mode. That keeps RAW_PTR_EXCLUSION\u0027s Clang annotate\nattribute enabled, which blocks compiler optimizations (SROA) and costs\nperformance (crbug.com/40836910):\n- +20% to +55% on Graphite SKP benchmarks (and +9% to +13% on Ganesh)\n  in reverted CL 1408856.\n- +18% to +33% on tessellate_* benchmarks locally, and 2% to 4% on\n  sksl_* benchmarks on current main.\n\nSet partition_alloc_is_official_build_default \u003d !is_debug to match\nChrome\u0027s official and perf builds. DanglingPointerDetector remains\nenforced in both Debug and Release builds, and the Clang raw_ptr plugin\n(to be enabled later) can still be enforced in Debug builds or via\nforce_enable_raw_ptr_exclusion.\n\nBug: 351867706\nDoc: https://bit.ly/miracleptr-skia\nChange-Id: I27a6ec297995bc69ee2dd43fa4bd3d04468c376f\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1423036\nCommit-Queue: Arthur Sonzogni \u003carthursonzogni@chromium.org\u003e\nReviewed-by: Michael Ludwig \u003cmichaelludwig@google.com\u003e\n"
    },
    {
      "commit": "158f91ae2df670b49304afe8e435a18115b68562",
      "tree": "1b3ccad5027b38dffc2bd62a8d7f89f0ded68423",
      "parents": [
        "cc4c54f752ba51ba18cad1104a9833fdaaa0251e"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Tue Nov 10 22:10:32 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Nov 10 23:22:56 2026 -0800"
      },
      "message": "Roll vulkan-deps from 1b88769ae8fd to 8825cf5dade3 (11 revisions)\n\nhttps://chromium.googlesource.com/vulkan-deps.git/+log/1b88769ae8fd..8825cf5dade3\n\nAlso rolling transitive DEPS:\n  https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/a08de8457bfb88adc077e83ac8f18df968447f0d..251c437ef506157c139f77f5525c02223bc78868\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/vulkan-deps-skia-autoroll\nPlease CC robertphillips@google.com,skiabot@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nCq-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\nBug: None\nChange-Id: I9a8dfc02c550834cf103436e1d22be71b7055933\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1424276\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "cc4c54f752ba51ba18cad1104a9833fdaaa0251e",
      "tree": "c5701a1d46405999846670074c6fdeaff2285296",
      "parents": [
        "e058f1deddb2ae9cbd95a25b5556fc25c4a35c2e"
      ],
      "author": {
        "name": "skia-autoroll",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Wed Nov 11 04:01:37 2026 +0000"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Nov 10 21:31:00 2026 -0800"
      },
      "message": "Roll Skia Infra from 92fc7c30159f to a2b4d17b7e2b (18 revisions)\n\nhttps://skia.googlesource.com/buildbot.git/+log/92fc7c30159f..a2b4d17b7e2b\n\n2026-11-10 borenet@google.com [task_scheduler] Update window in MainLoop, key tasksByTime/jobsByTime by repo\n2026-11-10 gmarcoesau@google.com [bazel] Ship the go.mod Go SDK in go_toolchain_tar (1.25.0 -\u003e 1.27.3)\n2026-11-10 borenet@google.com [fiddle] Resolve relative paths against dirfd in fiddle_secwrap\n2026-11-10 borenet@google.com [fiddler] Fix false negatives in e2e_test\n2026-11-10 borenet@google.com [k8s-checker] Track metrics created during failed performChecks runs\n2026-11-10 gmarcoesau@google.com [npm-audit-mirror] Upgrade fast-uri to 3.1.9 and brace-expansion to 2.1.7\n2026-11-10 borenet@google.com [autogardener] Minor tweaks to prompts/markdown\n2026-11-10 borenet@google.com [am] Add --location flag to pre-populate liveness metrics\n2026-11-10 borenet@google.com Manually roll Depot Tools from 500126d6e351 to 96a7c1418eed, fix test\n2026-11-10 borenet@google.com [mcp] Fix root step ID for task drivers\n2026-11-10 borenet@google.com [cd] Various fixes\n2026-11-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll jsfiddle-final from e4b703c81d38 to 3b85c5d335d0\n2026-11-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll cpython3 from 3@3.14.10.chromium.2 to 3@3.14.10.chromium.3 (1 revision)\n2026-11-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll presubmit from 88b63f6b7b4d1e218... to 58f3522d332da8f61... (1 revision)\n2026-11-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll command_wrapper from 88b63f6b7b4d1e218... to 58f3522d332da8f61... (1 revision)\n2026-11-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll bazel_build_all from 88b63f6b7b4d1e218... to 58f3522d332da8f61... (1 revision)\n2026-11-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll debugger-app-final from b97f3ef9e6b0 to 8de229ba63c0\n2026-11-10 skia-autoroll@skia-public.iam.gserviceaccount.com Roll bazel_test_all from 88b63f6b7b4d1e218... to 58f3522d332da8f61... (1 revision)\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/infra-skia\nPlease CC borenet@google.com,skiabot@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Skia Infra: https://bugs.chromium.org/p/skia/issues/entry\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nBug: None\nChange-Id: I154237e07336a8f85f1f94397370b58d7318c002\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1423958\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "e058f1deddb2ae9cbd95a25b5556fc25c4a35c2e",
      "tree": "de0b70b444fb4c04c06bfca712edca347d6aa25d",
      "parents": [
        "b578cbc5f8b107db740dec317652c5060d8d1309"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Tue Nov 10 20:01:00 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Nov 10 21:28:53 2026 -0800"
      },
      "message": "Roll ANGLE from 6bb0e73cb040 to 615aa21abb10 (10 revisions)\n\nhttps://chromium.googlesource.com/angle/angle.git/+log/6bb0e73cb040..615aa21abb10\n\n2026-11-11 syoussefi@chromium.org Revert \"Reland \"Vulkan: Never emulate uint8 indices\"\"\n2026-11-11 hyshih@google.com Vulkan: Avoid RelaxedPrecision on integers on Adreno 702\n2026-11-11 kbr@chromium.org GL: reenable useTexSubImageForClientDataNpotUploads.\n2026-11-11 cnorthrop@google.com Tests: Add the VulkanPipelineBinaryPerf benchmark\n2026-11-11 kbr@chromium.org GL: add renderbuffer size overflow workaround.\n2026-11-11 ahmed.yamout@arm.com Fix Vulkan initialization in angle_white_box_perftests\n2026-11-10 yuxinhu@google.com Spirv: Use replacement Input varying for interpolate* built-in\n2026-11-10 nrishel@mozilla.com D3D11: Make buffer storage LRU count type consistent.\n2026-11-10 hyshih@google.com Vulkan: Grow buffer blocks geometrically\n2026-11-10 kbr@chromium.org GL: apply limit-varying workaround to fragment shaders.\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/angle-skia-autoroll\nPlease CC jmadill@google.com,robertphillips@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nCq-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\nTest: Test: angle_end2end_tests --gtest_filter\u003d*AtomicOrMediumpUintHighBit*\nTest: Test: angle_end2end_tests --gtest_filter\u003dVulkanMemoryBlockGrowthTest.*\nTest: Test: angle_perftests --gtest_filter\u003dVulkanPipelineBinary*Benchmark*\nTest: Test: dEQP-GLES31.functional.*.atomic.or.mediump_uint on Adreno 702\nChange-Id: I9bf189e6ed60be79735345d598988f54b5e99fe6\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1423976\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "b578cbc5f8b107db740dec317652c5060d8d1309",
      "tree": "c9b72daeef62bbdd13299c7c29191f9039478613",
      "parents": [
        "d1b29a7dfdd8873462c10b22f0dd2c7b3e1c1500"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Tue Nov 10 20:01:13 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Nov 10 21:15:12 2026 -0800"
      },
      "message": "Roll Dawn from b73cc737e4e7 to 37f80f91a029 (8 revisions)\n\nhttps://dawn.googlesource.com/dawn.git/+log/b73cc737e4e7..37f80f91a029\n\n2026-11-11 chouinard@google.com Fix ShaderF16Tests skipping on D3D12 when use_dxc is default\n2026-11-11 slient0x277@gmail.com fix(wire): guard against null memoryHandle in OnBufferMapAsyncCallback\n2026-11-10 chouinard@google.com Pass --keep_going to the LiteRT-LM Bazel build\n2026-11-10 alanbaker@google.com [ir] Check array byte size when decoding\n2026-11-10 dawn-autoroll@skia-public.iam.gserviceaccount.com Roll Mesa from 7c9b2268a841 to 62b0e52f875e (4 revisions)\n2026-11-10 alanbaker@google.com [wgsl][ir] Add bf16 subgroup matrix support\n2026-11-10 alanbaker@google.com [tint] Add bf16 type\n2026-11-10 alanbaker@google.com [wgsl] Add bf16 number\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/dawn-skia-autoroll\nPlease CC cwallez@google.com,rharrison@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Dawn: https://bugs.chromium.org/p/dawn/issues/entry\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nCq-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\nBug: None\nChange-Id: I56a003b108ae4bca36a0c95c23d4969e367909e2\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1423998\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d1b29a7dfdd8873462c10b22f0dd2c7b3e1c1500",
      "tree": "60c54f13a2374cd0c55e1d764ee9fa3780399005",
      "parents": [
        "faef45fa962a4c8293b1871c31b987e7e8b15a38"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Tue Nov 10 20:01:34 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Nov 10 21:08:49 2026 -0800"
      },
      "message": "Roll SwiftShader from cddb5c91b23f to 708e9e777738 (1 revision)\n\nhttps://swiftshader.googlesource.com/SwiftShader.git/+log/cddb5c91b23f..708e9e777738\n\n2026-11-10 syoussefi@google.com Fix advanced blend dynamic state\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/swiftshader-skia-autoroll\nPlease CC bsalomon@google.com,robertphillips@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nCq-Include-Trybots: skia/skia.primary:Test-Ubuntu24.04-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader\nBug: None\nChange-Id: I291b72764780f0ff9bcfbaeeb0af73b73a76f0bd\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1423979\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "faef45fa962a4c8293b1871c31b987e7e8b15a38",
      "tree": "964361c2860ac1e1879beeac294da89f0d6d4ff9",
      "parents": [
        "657283e78115e3b443a8e3720088da7d410500f2"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Tue Nov 10 20:01:19 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Nov 10 20:39:56 2026 -0800"
      },
      "message": "Roll fiddler-base from b2742e29e5d7 to 2dd3ca5767f6\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/fiddler-base-skia\nPlease CC borenet@google.com,skiabot@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nChange-Id: I7b7367e5133907a78038edc82fe063eac629c876\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1424036\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "657283e78115e3b443a8e3720088da7d410500f2",
      "tree": "4b9ea1a578f301fd2e88c0438a7cbbbf8d21773b",
      "parents": [
        "2605c4a9761c9c2e9e7d8dc7ac84c459d87bdcd3"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Tue Nov 10 20:01:10 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Nov 10 20:36:48 2026 -0800"
      },
      "message": "Roll debugger-app-base from 14d0e3f817f2 to 22941fd05bf8\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/debugger-app-base-skia\nPlease CC borenet@google.com,skiabot@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nChange-Id: I072abd15f517a2f375230d48fe73e13e5e5a4628\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1423997\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "2605c4a9761c9c2e9e7d8dc7ac84c459d87bdcd3",
      "tree": "d0c1011d77f05a6c1af13b700075aee055a09e09",
      "parents": [
        "3e43917e38ab485a677454d73bd71ab12a62a4ce"
      ],
      "author": {
        "name": "Sergio Gonzalez Martin",
        "email": "sergiog@microsoft.com",
        "time": "Tue Nov 10 16:01:45 2026 +0000"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Nov 10 15:44:30 2026 -0800"
      },
      "message": "[rust jpeg] Opt into libjpeg-turbo subsampling and quantization parity\n\nWhen encoding JPEGs through SkJpegRustEncoder, opt into two jpeg-encoder\nsettings so decoded output matches SkJpegEncoder (libjpeg-turbo):\n\n- ChromaSubsamplingMethod::Average (2x2 box filter matching libjpeg\u0027s\n  h2v2_downsample instead of top-left nearest-neighbor point sampling),\n  along with upstream PR #44\u0027s bottom-edge downsampled row clamping on\n  partial-iMCU heights.\n- Encoder::set_exact_quantization(true) (16-bit variable-shift\n  reciprocal division matching libjpeg-turbo\u0027s compute_reciprocal).\n\nThis changes brings PR from jpeg-encoder:\n\nhttps://github.com/vstroebel/jpeg-encoder/pull/44\n\nBug: 493315750\nChange-Id: Id63bd04e2a8bff05e38c3799a838f0c9c5440741\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1423196\nReviewed-by: Łukasz Anforowicz \u003clukasza@google.com\u003e\nCommit-Queue: Sergio Gonzalez Martin \u003csergiog@microsoft.com\u003e\nReviewed-by: Florin Malita \u003cfmalita@google.com\u003e\n"
    },
    {
      "commit": "3e43917e38ab485a677454d73bd71ab12a62a4ce",
      "tree": "7f4c5860133f05af20f5ffe2151767400dc9a01e",
      "parents": [
        "06062e36d938c3352dd534d2fcf6fb8408e59650"
      ],
      "author": {
        "name": "Sergio Gonzalez Martin",
        "email": "sergiog@microsoft.com",
        "time": "Mon Nov 09 23:46:49 2026 +0000"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Nov 10 15:44:00 2026 -0800"
      },
      "message": "[rust ico] Expose stable default image metadata\n\nSelect the default representation from the ICO directory by image area,\nthen bit depth, retaining directory order for equal-quality entries.\nKeep this choice independent of payload availability and offset sorting.\n\nExpose its dimensions and cursor hotspot separately from the bounding\ncanvas that contains all frame rectangles. Support decoding at the\ndefault dimensions, choosing a matching or smaller compatible entry\nwithout writing outside the destination.\n\nThis lets Blink preserve legacy intrinsic sizing while fully\ninitializing the published decode output, including partial input.\n\nAdd native Skia regressions for default dimensions versus bounding\ncanvas, directory area/bit-depth selection, zero-byte dimensions,\ncursor directory-order ties and partial-input frame availability.\nCheck decoded pixels and transparent padding in dirty destinations.\n\nBug: 576944414\nBug: 580401590\nChange-Id: Ic8a206bd41df579050773939a7602ad74808e9a3\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1422156\nReviewed-by: Florin Malita \u003cfmalita@google.com\u003e\nReviewed-by: Łukasz Anforowicz \u003clukasza@google.com\u003e\nCommit-Queue: Sergio Gonzalez Martin \u003csergiog@microsoft.com\u003e\n"
    },
    {
      "commit": "06062e36d938c3352dd534d2fcf6fb8408e59650",
      "tree": "d86388bf04c26dabcd49f49cfbeaefb4ef3b4583",
      "parents": [
        "363f361dd58157f746a29984590937ec5ac237fa"
      ],
      "author": {
        "name": "Bryan Enrique Gonzalez Velez",
        "email": "bryanenriquegv@google.com",
        "time": "Tue Nov 10 20:16:27 2026 +0000"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Nov 10 14:43:48 2026 -0800"
      },
      "message": "[spanify] Spanify Ganesh effects, GL state, gradients and resource keys\n\n- Migrate C-style arrays and raw pointer parameters to std::array and\n  SkSpan in GrTextureEffect (border color), GrYUVtoRGBEffect (plane FPs,\n  snap, packed wrap modes), GrGradientShader (interval building),\n  GrBlurUtils, GrSamplerState, GrTestUtils, GrStencilSettings\n  (user-to-raw lookup tables), GrGLGpu (named per-buffer/program state\n  structs), and skgpu::FixedSizeKey.\n- GrGradientShader: build_intervals now derives its output limit from\n  the span sizes instead of a separate outputLength parameter, and is\n  made static (it had no callers outside the file).\n- Internal Ganesh/Graphite code only; no public API changes.\n\nPerformance Verification: Verified as part of the full Wave 0 XL batch\n(https://skia-review.googlesource.com/c/skia/+/1409352, base commit\n607de4b035dcf7fdbaafb66c6cc04f22009ff4d4) across 8888, gl, and grvk\nusing ABBA-interleaved nanobench (N\u003d30, retry-samples\u003d150, BH-FDR\u003d0.05)\nwith 0 regressions:\nhttps://docs.google.com/spreadsheets/d/1W--egaOxnJk2SVbTTfMJWESDq_V7UnhDHU2EgZ74qG8/edit#gid\u003d0\n\nBug: 505484715\nChange-Id: I8b1c679d0f1a1809574c12f9df9e170331df429a\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1421036\nCommit-Queue: Bryan Enrique Gonzalez \u003cbryanenriquegv@google.com\u003e\nReviewed-by: Michael Ludwig \u003cmichaelludwig@google.com\u003e\n"
    },
    {
      "commit": "363f361dd58157f746a29984590937ec5ac237fa",
      "tree": "d25ef86a575694be02bdf88430d9a53d08b37539",
      "parents": [
        "7bd33f8a3b709c30b16b4ff5074382296f837d9e"
      ],
      "author": {
        "name": "Daniel Cheng",
        "email": "dcheng@chromium.org",
        "time": "Thu Nov 05 17:20:14 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Nov 10 12:41:51 2026 -0800"
      },
      "message": "Remove unused bool return value from SkXMLParser callbacks\n\nSkXMLParser\u0027s element, attribute, and text callbacks have historically\nreturned a bool to indicate whether parsing should be stopped early,\nbut SkXMLParser.cpp ignored those return values and no SkXMLParser\nsubclass ever returns true. Change these methods to return void instead.\n\nBug: 512908978\nChange-Id: I9c9ea5770aed341dca44ea4f824ad2ab7b4f2e3c\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1419676\nAuto-Submit: Daniel Cheng \u003cdcheng@chromium.org\u003e\nReviewed-by: Florin Malita \u003cfmalita@google.com\u003e\nReviewed-by: Alexis Cruz-Ayala \u003calexisdavidc@google.com\u003e\nCommit-Queue: Alexis Cruz-Ayala \u003calexisdavidc@google.com\u003e\n"
    },
    {
      "commit": "7bd33f8a3b709c30b16b4ff5074382296f837d9e",
      "tree": "c48269c15542469bae29cfd20b62bf36e979a201",
      "parents": [
        "ef113dc1861cb6d1ac186a5edd3ea3c986a22b50"
      ],
      "author": {
        "name": "Bryan Enrique Gonzalez Velez",
        "email": "bryanenriquegv@google.com",
        "time": "Sat Nov 07 02:52:57 2026 +0000"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Nov 10 12:14:08 2026 -0800"
      },
      "message": "[spanify] Spanify Skia core text, strike, checksum and runtime effects (Wave 0)\n\n- Migrate C-style arrays and raw pointer buffers to std::array and\n  SkSpan in SkStrike/SkStrikeRef, SkTextBlob, SkChecksum, SkCpu,\n  SkGaussFilter, SkMD5, SkRuntimeEffect, and SkOverdrawColorFilter.\n- Add SkSpan overloads for SkTextBlob::getIntercepts,\n  SkOverdrawColorFilter::MakeWithSkColors,\n  SkStrikeRef::getWidthsStrided, SkRuntimeEffect::makeColorFilter, and\n  SkMD5::write; the pointer overloads are kept for existing clients,\n  marked DEPRECATED, and forward to the SkSpan versions via\n  SK_UNSAFE_TODO (tracked under crbug.com/582862856).\n- Add a release note for the new public SkSpan overloads.\n\nPerformance Verification: Verified as part of the full Wave 0 XL batch\n(https://skia-review.googlesource.com/c/skia/+/1409352, base commit\n607de4b035dcf7fdbaafb66c6cc04f22009ff4d4) across 8888, gl, and grvk\nusing ABBA-interleaved nanobench (N\u003d30, retry-samples\u003d150, BH-FDR\u003d0.05)\nwith 0 regressions:\nhttps://docs.google.com/spreadsheets/d/1W--egaOxnJk2SVbTTfMJWESDq_V7UnhDHU2EgZ74qG8/edit#gid\u003d0\n\nBug: 505484715, 582862856\nChange-Id: I8e952acf80628649c9b537d2cd3fbe6126ba6dcd\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1416037\nReviewed-by: Robert Phillips \u003crobertphillips@google.com\u003e\nCommit-Queue: Bryan Enrique Gonzalez \u003cbryanenriquegv@google.com\u003e\n"
    },
    {
      "commit": "ef113dc1861cb6d1ac186a5edd3ea3c986a22b50",
      "tree": "8d979c1f1568a6af3c1b91a44d9c120060c76590",
      "parents": [
        "514de714689f62e0d0d12afcebceea49a2027e98"
      ],
      "author": {
        "name": "Robert Phillips",
        "email": "robertphillips@google.com",
        "time": "Tue Nov 10 11:05:55 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Nov 10 11:10:51 2026 -0800"
      },
      "message": "Revert \"miracleptr: Rewrite src/core pointers to raw_ptr\"\n\nThis reverts commit bac6ea8913b9d196b0ca75c3d2fe09288a4672af.\n\nReason for revert: Perf regression\n\nFailure Link: \u003cLINK TO FAILURE\u003e\n\nOriginal change\u0027s description:\n\u003e miracleptr: Rewrite src/core pointers to raw_ptr\n\u003e\n\u003e Protect the heap-owned pointer fields in src/core with raw_ptr, so\n\u003e use-after-free bugs on caches, strikes, glyphs, pictures and streams\n\u003e turn into non-exploitable crashes in Chromium.\n\u003e\n\u003e This follows the benchmarked set: hot rasterizer, raster pipeline and\n\u003e clip fields stay plain pointers, as they regressed MotionMark and\n\u003e Speedometer. Stack-only helpers and short-lived argument structs also\n\u003e stay plain, since MiraclePtr adds no protection there.\n\u003e\n\u003e The glyph strike cache\u0027s linked list (fHead, fTail, fNext, fPrev) also\n\u003e stays plain: every cache hit moves a strike to the front, and raw_ptr\n\u003e made GlyphRunRSXform_cached 20% slower.\n\u003e\n\u003e A few fields are marked DanglingUntriaged where the pointee is released\n\u003e before the holder is destroyed (cache records, pixel ref release\n\u003e contexts, intrusive lists).\n\u003e\n\u003e Bug: 351867706\n\u003e Doc: https://bit.ly/miracleptr-skia\n\u003e Change-Id: I7722366573b2c72631b100f77c92123536640d25\n\u003e Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1401356\n\u003e Reviewed-by: Michael Ludwig \u003cmichaelludwig@google.com\u003e\n\u003e Commit-Queue: Arthur Sonzogni \u003carthursonzogni@chromium.org\u003e\n\nBug: 351867706\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nChange-Id: I88e53faffa312cceb65a8fa6c0ec49761a112232\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1423756\nBot-Commit: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nCommit-Queue: Robert Phillips \u003crobertphillips@google.com\u003e\n"
    },
    {
      "commit": "514de714689f62e0d0d12afcebceea49a2027e98",
      "tree": "53ee9436c55e8f4b5c5c4de9e7ef5b1d3650ed39",
      "parents": [
        "7ba20986e19b533b46933e9a272148e9f7aed0fb"
      ],
      "author": {
        "name": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "skia-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Tue Nov 10 09:38:53 2026 -0800"
      },
      "committer": {
        "name": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "skcq-be@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Tue Nov 10 10:56:15 2026 -0800"
      },
      "message": "Manual roll ANGLE from ff51c70cfd6d to 6bb0e73cb040 (6 revisions)\n\nManual roll requested by robertphillips@google.com\n\nhttps://chromium.googlesource.com/angle/angle.git/+log/ff51c70cfd6d..6bb0e73cb040\n\n2026-11-10 jisunnie.lee@samsung.com Vulkan: Add feature to disable recordable bit for RGB888 format\n2026-11-10 angle-autoroll@skia-public.iam.gserviceaccount.com Roll vulkan-deps from eca3fe52df6e to a39baa792ba2 (7 revisions)\n2026-11-10 sergiosolano@google.com spanify: Remove ANGLE_UNSAFE_TODO from four gl_tests\n2026-11-10 zmo@chromium.org GL: Pause transform feedback before forcing program binding\n2026-11-10 hyshih@google.com Vulkan: Use dedicated memory for images larger than half a block\n2026-11-10 b.schade@samsung.com Update clip cull distance expectations\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/angle-skia-autoroll\nPlease CC jmadill@google.com,robertphillips@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry\nTo file a bug in Skia: https://bugs.chromium.org/p/skia/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nCq-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\nTest: Test: KHR-GLES3.clip_distance.*\nTest: Test: KHR-GLES3.cull_distance.*\nTest: Test: angle_end2end_tests --gtest_filter\u003dTransformFeedbackTest.Link*\nChange-Id: I40b361409ce1dbf2155cd9450c9947598e189a8a\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/1423657\nBot-Commit: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: skia-autoroll@skia-public.iam.gserviceaccount.com \u003cskia-autoroll@skia-public.iam.gserviceaccount.com\u003e\n"
    }
  ],
  "next": "7ba20986e19b533b46933e9a272148e9f7aed0fb"
}
