)]}'
{
  "commit": "5c63f65ddb80dfc433edb860fedc8195f2ce8bb9",
  "tree": "8e9d165b5bf5737f08cf55b5539527c6a15ac4f4",
  "parents": [
    "ae9f469679fe3bf10e6ce73dfb52eaee2902ecff"
  ],
  "author": {
    "name": "Le Hoang Quyen",
    "email": "lehoangquyen@chromium.org",
    "time": "Wed Jan 14 09:05:13 2026 -0800"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Jan 14 09:05:13 2026 -0800"
  },
  "message": "Remove auto lock from CreateTexture/Sampler API calls\n\nAdd \"no autolock\" to Device::CreateTexture in dawn.json to prevent\nautomatic locking at the API boundary.\n\nIntroduce virtual method UseGuardForCreateTexture() that returns\nstd::optional\u003cDeviceGuard\u003e. The default implementation returns a guard,\nbut D3D11 overrides to return nullopt since its CreateTextureImpl is\nalready thread-safe.\n\nLock acquisition must happen at the API level, not within Impl\nmethods, to avoid potential lock inversion issues when Impl methods\nare called by other internal functions.\n\nThis CL also does similar things for Device::CreateSampler.\n\nBug: 474265307\nBug: 475520968\nChange-Id: I1f3df3e525c447abceeea9ec56e59791e071835f\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/284276\nReviewed-by: Corentin Wallez \u003ccwallez@chromium.org\u003e\nCommit-Queue: Quyen Le \u003clehoangquyen@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2a5c3e08ebbbf41d56f8aedd2c18b47fc753c063",
      "old_mode": 33188,
      "old_path": "src/dawn/dawn.json",
      "new_id": "33f481071a1d9da90a58b1ffb005c5559018ccef",
      "new_mode": 33188,
      "new_path": "src/dawn/dawn.json"
    },
    {
      "type": "modify",
      "old_id": "7087ca9ff4c1d018997cf54b60e81dd0c5dc45d3",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Device.cpp",
      "new_id": "05e683813b2ea1290ef2a3b3be1f0cdafe2a7dd8",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Device.cpp"
    },
    {
      "type": "modify",
      "old_id": "c3e8b72647ddceb5d4b40470c9e9a611d35adb1e",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Device.h",
      "new_id": "1f099f4b172ce97baaedde971e0b0685560375b9",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Device.h"
    },
    {
      "type": "modify",
      "old_id": "6ee0c7310095dbbe2f18eb5d73da82b2c155787c",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d11/DeviceD3D11.cpp",
      "new_id": "4b9b47e3fa37c8b5dc8668f0a0c29a1067e59af9",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d11/DeviceD3D11.cpp"
    },
    {
      "type": "modify",
      "old_id": "2e48f5035abf8cc5b8aafa5c21c86de3fc648b73",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d11/DeviceD3D11.h",
      "new_id": "952f521c03b1ac3eb472f29dee9e819a7f386348",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d11/DeviceD3D11.h"
    }
  ]
}
