)]}'
{
  "commit": "6b407b1acee0b27a9e75db08810ca7145982c96f",
  "tree": "45d3a5a57f00b4ad687c0263420cc4d02f6bef8b",
  "parents": [
    "f49880c66ee9724cd8f7d420fcb16d10371c3dfa"
  ],
  "author": {
    "name": "Lokbondo Kung",
    "email": "lokokung@google.com",
    "time": "Fri Sep 26 12:55:30 2025 -0700"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Fri Sep 26 12:55:30 2025 -0700"
  },
  "message": "[dawn][native] Fixes TSAN issues with Device::mState.\n\n- Make mState an atomic so that when running without implicit\n  synchronization, even though there may be a race, we don\u0027t\n  trigger TSAN errors.\n- When running with implicit synchronization, take the\n  DeviceGuard earlier in async Pipeline callbacks. Before, we\n  couldn\u0027t take the DeviceGuard earlier because it could potentially\n  cause us to take the lock more than once as a result of\n  re-entrant callbacks, but now that the device lock is recursive\n  this is no longer an issue, and taking the lock before checking the\n  device state is possible and more correct.\n\nBug: 445324864\nChange-Id: I9bfe84c5a287e03437698bdee080435799e08363\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/263140\nCommit-Queue: Loko Kung \u003clokokung@google.com\u003e\nReviewed-by: Kai Ninomiya \u003ckainino@chromium.org\u003e\nAuto-Submit: Loko Kung \u003clokokung@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5f8521b181c8ce39bcd2a9de03c26186415731fe",
      "old_mode": 33188,
      "old_path": "src/dawn/native/CreatePipelineAsyncEvent.cpp",
      "new_id": "ba506a1ca5e038fd240e21c3153818755caf5b2b",
      "new_mode": 33188,
      "new_path": "src/dawn/native/CreatePipelineAsyncEvent.cpp"
    },
    {
      "type": "modify",
      "old_id": "b18b2f25e991bc31d11c53fe8ba41f618a147657",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Device.h",
      "new_id": "368038b05b5d76b65cbaac62368983366e2f50b5",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Device.h"
    }
  ]
}
