)]}'
{
  "commit": "7193b3e1cdcd67d5ec22274856160f5b363db5fd",
  "tree": "0af154bd39b421d511a826090a26c7de25b5dfcc",
  "parents": [
    "b1cd189811ecb1e34566e785069936aecde05bf7"
  ],
  "author": {
    "name": "Ken Russell",
    "email": "kbr@chromium.org",
    "time": "Mon May 04 22:57:25 2026 -0700"
  },
  "committer": {
    "name": "angle-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "angle-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed May 06 17:48:08 2026 -0700"
  },
  "message": "GL: Add recreateFboUponFlush workaround.\n\nFor the moment, apply it to all Qualcomm GPUs. The workaround will be\nrestricted further in follow-on commits.\n\nPass gl::Context to GLImplFactory::createSync on all backends in order\nto provide it to the GL backend for the workaround.\n\nFixed lurking problem with escape sequences in angle_format.py.\n\nIncorporated new unit tests, including some which force-enable the\nworkaround; should be a no-op on other platforms.\n\nCo-authored with jetski-cli.\n\nBug: chromium:493747593\nChange-Id: I027bfb484611a89615620001f160d0c909a7b22f\nReviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7815775\nReviewed-by: Geoff Lang \u003cgeofflang@chromium.org\u003e\nCommit-Queue: Kenneth Russell \u003ckbr@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d5e90617a6eab035b0240dd8900f6fd2f6ee460b",
      "old_mode": 33188,
      "old_path": "include/platform/autogen/FeaturesGL_autogen.h",
      "new_id": "d30f9582c1386873760f753748ae1b5c466d31c3",
      "new_mode": 33188,
      "new_path": "include/platform/autogen/FeaturesGL_autogen.h"
    },
    {
      "type": "modify",
      "old_id": "6c1a69619bdab2b8706a3721589f5ef036021036",
      "old_mode": 33188,
      "old_path": "include/platform/gl_features.json",
      "new_id": "7232893329aa0e6eee331d6647d5e1abc8e7fc9a",
      "new_mode": 33188,
      "new_path": "include/platform/gl_features.json"
    },
    {
      "type": "modify",
      "old_id": "50616083eca60cb0029f7849c01b95d7aa901347",
      "old_mode": 33188,
      "old_path": "scripts/code_generation_hashes/ANGLE_format.json",
      "new_id": "3591ef272fd124ccd6e664278821e45b27b53d59",
      "new_mode": 33188,
      "new_path": "scripts/code_generation_hashes/ANGLE_format.json"
    },
    {
      "type": "modify",
      "old_id": "ec85f681d32fd2c1a13f7e1b7c9d1f3693a3584b",
      "old_mode": 33188,
      "old_path": "scripts/code_generation_hashes/ANGLE_load_functions_table.json",
      "new_id": "ec8f763058644b2fa8cecdee382df605ca02b688",
      "new_mode": 33188,
      "new_path": "scripts/code_generation_hashes/ANGLE_load_functions_table.json"
    },
    {
      "type": "modify",
      "old_id": "90fadc663293b413de4cb2003ce974a4374d394e",
      "old_mode": 33188,
      "old_path": "scripts/code_generation_hashes/D3D11_format.json",
      "new_id": "8cd8a9ea144178934d6f452d611273e8e7043085",
      "new_mode": 33188,
      "new_path": "scripts/code_generation_hashes/D3D11_format.json"
    },
    {
      "type": "modify",
      "old_id": "648d43d8075b8c08f0e602b384f27254af050977",
      "old_mode": 33188,
      "old_path": "scripts/code_generation_hashes/DXGI_format.json",
      "new_id": "214b8183e4ff45bfdebbf211cc1fcee6e7fb4972",
      "new_mode": 33188,
      "new_path": "scripts/code_generation_hashes/DXGI_format.json"
    },
    {
      "type": "modify",
      "old_id": "341b8b87af6caed26af15d274c36261f982e6f78",
      "old_mode": 33188,
      "old_path": "scripts/code_generation_hashes/GL_copy_conversion_table.json",
      "new_id": "af3566ac3c81ab2aa25d7a58290a164a4f0669d2",
      "new_mode": 33188,
      "new_path": "scripts/code_generation_hashes/GL_copy_conversion_table.json"
    },
    {
      "type": "modify",
      "old_id": "eda4f5c861ed9fd9266e1d448cfcb45c9a0dd0f7",
      "old_mode": 33188,
      "old_path": "scripts/code_generation_hashes/GL_format_map.json",
      "new_id": "73563bbcba711bf965b1ac5deb18a5793a723f71",
      "new_mode": 33188,
      "new_path": "scripts/code_generation_hashes/GL_format_map.json"
    },
    {
      "type": "modify",
      "old_id": "79e6c2a0b40e01a58950bab29ecd3d3835b75e20",
      "old_mode": 33188,
      "old_path": "scripts/code_generation_hashes/Metal_default_shaders.json",
      "new_id": "68a851258b5b556d21ad8e23934926e6e41bf0bd",
      "new_mode": 33188,
      "new_path": "scripts/code_generation_hashes/Metal_default_shaders.json"
    },
    {
      "type": "modify",
      "old_id": "1279b30723fa9464263cb5b5c85bb94aa41c46ef",
      "old_mode": 33188,
      "old_path": "scripts/code_generation_hashes/Metal_format_table.json",
      "new_id": "663e0d2175754ab368c3998d0c13c161c59a2093",
      "new_mode": 33188,
      "new_path": "scripts/code_generation_hashes/Metal_format_table.json"
    },
    {
      "type": "modify",
      "old_id": "17f66d21e24f0d14f3b17ac7f049bd886efef011",
      "old_mode": 33188,
      "old_path": "scripts/code_generation_hashes/OpenGL_dispatch_table.json",
      "new_id": "dea39df74637115f9aa03476faab6efeebaf7d5a",
      "new_mode": 33188,
      "new_path": "scripts/code_generation_hashes/OpenGL_dispatch_table.json"
    },
    {
      "type": "modify",
      "old_id": "b81d75ca657625e94a6fac02d74b23c6a97b930e",
      "old_mode": 33188,
      "old_path": "scripts/code_generation_hashes/Vulkan_format.json",
      "new_id": "ba5152f1b4c527a635c5f932a26a82ee2cccc3b8",
      "new_mode": 33188,
      "new_path": "scripts/code_generation_hashes/Vulkan_format.json"
    },
    {
      "type": "modify",
      "old_id": "02679ebca19f6718892fa9909eacaa3c57d6ea78",
      "old_mode": 33188,
      "old_path": "scripts/code_generation_hashes/Vulkan_mandatory_format_support_table.json",
      "new_id": "1616f34e7160e517f135f8ed2940061d2be6f61a",
      "new_mode": 33188,
      "new_path": "scripts/code_generation_hashes/Vulkan_mandatory_format_support_table.json"
    },
    {
      "type": "modify",
      "old_id": "68bae1f7142c67f18ca95940faca2015ea08da41",
      "old_mode": 33188,
      "old_path": "scripts/code_generation_hashes/WebGPU_format.json",
      "new_id": "5380ce4d1d9ace2e4be45c12593f09935e9f3fd4",
      "new_mode": 33188,
      "new_path": "scripts/code_generation_hashes/WebGPU_format.json"
    },
    {
      "type": "modify",
      "old_id": "742a1002bff863e54c03d11d7cca23c25a1bcad4",
      "old_mode": 33188,
      "old_path": "src/libANGLE/Context.cpp",
      "new_id": "57f4a734efd75764761e408451eb62769f68abd5",
      "new_mode": 33188,
      "new_path": "src/libANGLE/Context.cpp"
    },
    {
      "type": "modify",
      "old_id": "07115c9b133755240cc067ffbf247fba080db3dc",
      "old_mode": 33188,
      "old_path": "src/libANGLE/Fence.cpp",
      "new_id": "35c6ae4ff473fdc503f0f7adc3813819e51ce69b",
      "new_mode": 33188,
      "new_path": "src/libANGLE/Fence.cpp"
    },
    {
      "type": "modify",
      "old_id": "ed0ae84953bf570359500ddc6fcc14ad0741885d",
      "old_mode": 33188,
      "old_path": "src/libANGLE/Fence.h",
      "new_id": "f36153ea371c4f14b621868d49dcacd468accba6",
      "new_mode": 33188,
      "new_path": "src/libANGLE/Fence.h"
    },
    {
      "type": "modify",
      "old_id": "251d217f528d925143aa6b6754d35b8fd6200fc2",
      "old_mode": 33188,
      "old_path": "src/libANGLE/Fence_unittest.cpp",
      "new_id": "85df9920704905e23c07a2546d3fc6aa8bc1bdcf",
      "new_mode": 33188,
      "new_path": "src/libANGLE/Fence_unittest.cpp"
    },
    {
      "type": "modify",
      "old_id": "42e5502d539ddff030ef063db6ca1496f4247c1c",
      "old_mode": 33188,
      "old_path": "src/libANGLE/ResourceManager.cpp",
      "new_id": "d1f5e8fd8b0f9776f7f2490c02f08f49d0474c21",
      "new_mode": 33188,
      "new_path": "src/libANGLE/ResourceManager.cpp"
    },
    {
      "type": "modify",
      "old_id": "cf23fc4522421f22822dc7da0ec47cb7185be6d2",
      "old_mode": 33188,
      "old_path": "src/libANGLE/ResourceManager.h",
      "new_id": "1959aec3b909cc212b9a498791105abb98e1e59b",
      "new_mode": 33188,
      "new_path": "src/libANGLE/ResourceManager.h"
    },
    {
      "type": "modify",
      "old_id": "ba7985f49c17b6d68f4cb0f713740a3bf870887c",
      "old_mode": 33188,
      "old_path": "src/libANGLE/renderer/GLImplFactory.h",
      "new_id": "1eee80cfc6099fa8205d94924f4c930ff5137844",
      "new_mode": 33188,
      "new_path": "src/libANGLE/renderer/GLImplFactory.h"
    },
    {
      "type": "modify",
      "old_id": "8dbf48a57ec827070c09472bd7ec087b3e117da0",
      "old_mode": 33188,
      "old_path": "src/libANGLE/renderer/angle_format.py",
      "new_id": "71f1aabbde10df4cc80dd896c7ee6a2cd207aece",
      "new_mode": 33188,
      "new_path": "src/libANGLE/renderer/angle_format.py"
    },
    {
      "type": "modify",
      "old_id": "780737a8732e73798927d3cf08d3c4560d187a54",
      "old_mode": 33188,
      "old_path": "src/libANGLE/renderer/d3d/d3d11/Context11.cpp",
      "new_id": "7bb463dd6eb5a0e25368eed51f4f311897b2622c",
      "new_mode": 33188,
      "new_path": "src/libANGLE/renderer/d3d/d3d11/Context11.cpp"
    },
    {
      "type": "modify",
      "old_id": "93fc111e36e76165a627bbb9740eada855d5eaa3",
      "old_mode": 33188,
      "old_path": "src/libANGLE/renderer/d3d/d3d11/Context11.h",
      "new_id": "6859029c5c921aaf9354a265db988fe3a6470287",
      "new_mode": 33188,
      "new_path": "src/libANGLE/renderer/d3d/d3d11/Context11.h"
    },
    {
      "type": "modify",
      "old_id": "99c1e17d327f0e8fe568c390aa2b0a08aa1a09e1",
      "old_mode": 33188,
      "old_path": "src/libANGLE/renderer/d3d/d3d9/Context9.cpp",
      "new_id": "6724f11102bdbcd40a19b1d986763a1bb7398029",
      "new_mode": 33188,
      "new_path": "src/libANGLE/renderer/d3d/d3d9/Context9.cpp"
    },
    {
      "type": "modify",
      "old_id": "8cf106f8371e38034a52adfdbcebf88e39738301",
      "old_mode": 33188,
      "old_path": "src/libANGLE/renderer/d3d/d3d9/Context9.h",
      "new_id": "f87bbe9353bd07fdb44dd5fea0f81da65fe28055",
      "new_mode": 33188,
      "new_path": "src/libANGLE/renderer/d3d/d3d9/Context9.h"
    },
    {
      "type": "modify",
      "old_id": "fdfa3b100f0e23659b92ff1b6a1fc594bda324f2",
      "old_mode": 33188,
      "old_path": "src/libANGLE/renderer/gl/ContextGL.cpp",
      "new_id": "1eca4c4fb2cab1e2d80a79da67978f1ae5f5aa64",
      "new_mode": 33188,
      "new_path": "src/libANGLE/renderer/gl/ContextGL.cpp"
    },
    {
      "type": "modify",
      "old_id": "e4418005b6a81f51c9d67572b288c92459324639",
      "old_mode": 33188,
      "old_path": "src/libANGLE/renderer/gl/ContextGL.h",
      "new_id": "a5be68e2dd5727b3f8c844e83b40ab33ac02c244",
      "new_mode": 33188,
      "new_path": "src/libANGLE/renderer/gl/ContextGL.h"
    },
    {
      "type": "modify",
      "old_id": "6889e4cd8d18dd7381157316a45e812f40b3a285",
      "old_mode": 33188,
      "old_path": "src/libANGLE/renderer/gl/FramebufferGL.cpp",
      "new_id": "55d1527378078e882e29043750528fbf2a7f1def",
      "new_mode": 33188,
      "new_path": "src/libANGLE/renderer/gl/FramebufferGL.cpp"
    },
    {
      "type": "modify",
      "old_id": "d2f7c1768009494c2007033bcd25ece0407c5174",
      "old_mode": 33188,
      "old_path": "src/libANGLE/renderer/gl/FramebufferGL.h",
      "new_id": "91635556ef5659eb4648a27682c2b0d59168d01c",
      "new_mode": 33188,
      "new_path": "src/libANGLE/renderer/gl/FramebufferGL.h"
    },
    {
      "type": "modify",
      "old_id": "4f7239e1e365f037b7b91aafdc39e1da1462dde8",
      "old_mode": 33188,
      "old_path": "src/libANGLE/renderer/gl/renderergl_utils.cpp",
      "new_id": "5594a617f9483f6db02d9a7c2f6f299ccc0db1bd",
      "new_mode": 33188,
      "new_path": "src/libANGLE/renderer/gl/renderergl_utils.cpp"
    },
    {
      "type": "modify",
      "old_id": "35be49424b289e7bc97861c533a882af3ab738cc",
      "old_mode": 33188,
      "old_path": "src/libANGLE/renderer/metal/ContextMtl.h",
      "new_id": "0fca4f89d102b9f511f0c5ce50f5121c0644358b",
      "new_mode": 33188,
      "new_path": "src/libANGLE/renderer/metal/ContextMtl.h"
    },
    {
      "type": "modify",
      "old_id": "35bc62f2b7faa152b3df889b9c38e0fc6cfccfc4",
      "old_mode": 33188,
      "old_path": "src/libANGLE/renderer/metal/ContextMtl.mm",
      "new_id": "21f9753caf7dfab30a3a3f11474ceda9886bca0c",
      "new_mode": 33188,
      "new_path": "src/libANGLE/renderer/metal/ContextMtl.mm"
    },
    {
      "type": "modify",
      "old_id": "c15a1d82d1999164eb39722119b9dd23109136fc",
      "old_mode": 33188,
      "old_path": "src/libANGLE/renderer/null/ContextNULL.cpp",
      "new_id": "df0ab3e5e35939d91ee628aa694b2a5a04a9df2d",
      "new_mode": 33188,
      "new_path": "src/libANGLE/renderer/null/ContextNULL.cpp"
    },
    {
      "type": "modify",
      "old_id": "bca01224ace234281d4fe1fad2c1f9fda647b37d",
      "old_mode": 33188,
      "old_path": "src/libANGLE/renderer/null/ContextNULL.h",
      "new_id": "a2e49d8c1b76d6e4e85d0bbdcf794f9e333490ad",
      "new_mode": 33188,
      "new_path": "src/libANGLE/renderer/null/ContextNULL.h"
    },
    {
      "type": "modify",
      "old_id": "d2a2177ed6d7ef0a1cfd250e88c4a6a9f1b88a93",
      "old_mode": 33188,
      "old_path": "src/libANGLE/renderer/vulkan/ContextVk.cpp",
      "new_id": "78fd17a9b292a6f6ece24f7643590da63174dc6d",
      "new_mode": 33188,
      "new_path": "src/libANGLE/renderer/vulkan/ContextVk.cpp"
    },
    {
      "type": "modify",
      "old_id": "163cd937cf175d77d076181cf0161d1c145f47ee",
      "old_mode": 33188,
      "old_path": "src/libANGLE/renderer/vulkan/ContextVk.h",
      "new_id": "a344834000232463da6888ccfecb53ea9421dbd9",
      "new_mode": 33188,
      "new_path": "src/libANGLE/renderer/vulkan/ContextVk.h"
    },
    {
      "type": "modify",
      "old_id": "c894e88188b0eb9362ab49df14edd34b73f8ae50",
      "old_mode": 33188,
      "old_path": "src/libANGLE/renderer/wgpu/ContextWgpu.cpp",
      "new_id": "1bbfdda4a4e7233c55f61fb6ef92dae91c3f2c7b",
      "new_mode": 33188,
      "new_path": "src/libANGLE/renderer/wgpu/ContextWgpu.cpp"
    },
    {
      "type": "modify",
      "old_id": "3fb933f7a80b5044151818c08ea59fac62e1eec3",
      "old_mode": 33188,
      "old_path": "src/libANGLE/renderer/wgpu/ContextWgpu.h",
      "new_id": "ef996ce512ff1eaee891ed2ec4578e21aff6bd56",
      "new_mode": 33188,
      "new_path": "src/libANGLE/renderer/wgpu/ContextWgpu.h"
    },
    {
      "type": "modify",
      "old_id": "8400776ff3af23a43ac892e3f4dc0eed3c3c0d3e",
      "old_mode": 33188,
      "old_path": "src/tests/angle_unittests_utils.h",
      "new_id": "529677bb967f45dc0c571b29f6897386e5d91a1e",
      "new_mode": 33188,
      "new_path": "src/tests/angle_unittests_utils.h"
    },
    {
      "type": "modify",
      "old_id": "a029996ecec5071b89a61fd27976c160c6a82be2",
      "old_mode": 33188,
      "old_path": "src/tests/gl_tests/FramebufferTest.cpp",
      "new_id": "1f01ecb9a6132d4e2b3a9f6bea3f2c6a8c38ae6c",
      "new_mode": 33188,
      "new_path": "src/tests/gl_tests/FramebufferTest.cpp"
    },
    {
      "type": "modify",
      "old_id": "55389d015e6031c6c4e8d7df51b8ccf3a6651c84",
      "old_mode": 33188,
      "old_path": "util/autogen/angle_features_autogen.cpp",
      "new_id": "59306b6ab857e8bd81d541d24408891c6d26852b",
      "new_mode": 33188,
      "new_path": "util/autogen/angle_features_autogen.cpp"
    },
    {
      "type": "modify",
      "old_id": "d5016ce035c68208939053be45888eef5e45a283",
      "old_mode": 33188,
      "old_path": "util/autogen/angle_features_autogen.h",
      "new_id": "4c461257e2450c9536336b62191654cb64469800",
      "new_mode": 33188,
      "new_path": "util/autogen/angle_features_autogen.h"
    }
  ]
}
