)]}'
{
  "commit": "e832cc40921516a63c286dfe5966c2ceb82bb7d3",
  "tree": "ef41e5e8e653138e8507a195e8647269ab5f6ac4",
  "parents": [
    "17a8316c7c4831e5b273d2e1354809f1d0323584"
  ],
  "author": {
    "name": "James Price",
    "email": "jrprice@google.com",
    "time": "Wed Jul 29 17:32:42 2026 -0700"
  },
  "committer": {
    "name": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Jul 29 17:32:42 2026 -0700"
  },
  "message": "[vulkan] Add workgroup atomicStore workaround for Xclipse\n\nThese GPUs appear to implement OpAtomicStore as OpAtomicAdd for\nworkgroup storage. Add a polyfill to emit OpAtomicExchange instead,\nwhich works correctly.\n\nPort a subset of the failing CTS tests to a Dawn E2E test.\n\nFixed: 487773864\nChange-Id: I8ef2d3b886921729069bf7a392f240da5217debf\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/328335\nReviewed-by: Brandon Jones \u003cbajones@chromium.org\u003e\nReviewed-by: dan sinclair \u003cdsinclair@chromium.org\u003e\nCommit-Queue: James Price \u003cjrprice@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8d90aede9dadb424133d82474f4fdd094f25bc1a",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Toggles.cpp",
      "new_id": "b553e64946cc04c8a6167e704fa05e752c5f2542",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Toggles.cpp"
    },
    {
      "type": "modify",
      "old_id": "fdf05bf7ec564b8308a1b30eb5823c512f45bb52",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Toggles.h",
      "new_id": "52115d13a98608c91c021992212c91ac52fcf2b0",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Toggles.h"
    },
    {
      "type": "modify",
      "old_id": "c80d58098fa476441635e0071dc9eb28e60f88d2",
      "old_mode": 33188,
      "old_path": "src/dawn/native/vulkan/PhysicalDeviceVk.cpp",
      "new_id": "caf6fbf3921a937dae55bdbbc752906cd476610b",
      "new_mode": 33188,
      "new_path": "src/dawn/native/vulkan/PhysicalDeviceVk.cpp"
    },
    {
      "type": "modify",
      "old_id": "249fa62f919ea42a5ecedf456b6e9b3e6522fb78",
      "old_mode": 33188,
      "old_path": "src/dawn/native/vulkan/ShaderModuleVk.cpp",
      "new_id": "0673c1163e4458c61c0cbeb0ca9d1a394a84c6ff",
      "new_mode": 33188,
      "new_path": "src/dawn/native/vulkan/ShaderModuleVk.cpp"
    },
    {
      "type": "modify",
      "old_id": "bd90d68ddc4780a78047306a12f3d19680e8099b",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/end2end/ShaderAtomicTests.cpp",
      "new_id": "257c28b3d157d0824881ecd581302b9cc1cfa9ef",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/end2end/ShaderAtomicTests.cpp"
    },
    {
      "type": "modify",
      "old_id": "57f37ae0f79f322ce53bb4e0cca348354429abe7",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/writer/common/options.h",
      "new_id": "4cdf4d7b26b23c6c3c49fb9dd6a1e1716ff6c824",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/writer/common/options.h"
    },
    {
      "type": "modify",
      "old_id": "4e8a8662bf5c2f266aff74ae2ff852549fd5b3ae",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/writer/raise/builtin_polyfill.cc",
      "new_id": "e1ffe6c8f76033b1e1969ff1ac5c55b0dcd87565",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/writer/raise/builtin_polyfill.cc"
    },
    {
      "type": "modify",
      "old_id": "4e193504a74e75f57c57ed571ea23bd8ca3f438b",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/writer/raise/builtin_polyfill.h",
      "new_id": "d5e6df0fe3aa96c0321bb26104389f8c4900ee64",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/writer/raise/builtin_polyfill.h"
    },
    {
      "type": "modify",
      "old_id": "7d90ec9db4fedfb97e0309211f2208d099971217",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/writer/raise/builtin_polyfill_test.cc",
      "new_id": "4ff1ee4653c5fb67e9152f163dd64138e959613b",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/writer/raise/builtin_polyfill_test.cc"
    },
    {
      "type": "modify",
      "old_id": "538de448016c2644cbc026e310e1a9be1d1edcab",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/writer/raise/raise.cc",
      "new_id": "dcd5a946fb60d84061499e16229f6273c2630ee0",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/writer/raise/raise.cc"
    },
    {
      "type": "modify",
      "old_id": "b6c5142aacc239cfd2fe1a679f7ce9521e7f0e96",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/writer/writer_fuzz.cc",
      "new_id": "6412570d67e6700a67c528722455570230ab19be",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/writer/writer_fuzz.cc"
    }
  ]
}
