)]}'
{
  "commit": "5117752baca0cafbdbb394c345d8d8bbebfdb54b",
  "tree": "24ad5ebae9181698c412a271ae2a1868ee864bc8",
  "parents": [
    "ba8c4db4b3a8652c4b48ccc7d898f89caed31bb0"
  ],
  "author": {
    "name": "Le Hoang Quyen",
    "email": "lehoangquyen@chromium.org",
    "time": "Mon Feb 02 07:05:41 2026 -0800"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Feb 02 07:05:41 2026 -0800"
  },
  "message": "D3D11: Unmap buffers before GPU use via TrackUsage()\n\nThis change ensures that D3D11 buffers are properly unmapped before\nbeing used by the GPU. A new TrackUsage() method is added to Buffer\nthat checks if the buffer is already tracked for the current command\nserial, and if not, unmaps the buffer and marks it as used.\n\nKey changes:\n- Added Buffer::TrackUsage() which unmaps the buffer if needed before\n  marking it as used in pending commands\n- TrackUsage() is called before any GPU operation on buffers\n- Removed deferred unmap mechanism (DeferUnmap, PerformDeferredUnmaps)\n- Added isInitialWrite parameter to WriteInternal() to enable mapping\n  optimization for clear operations\n\nBug: chromium:422741977\nChange-Id: Icd7dd2333f8576d47a43575120fd9d86b8f26705\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/288115\nReviewed-by: Corentin Wallez \u003ccwallez@chromium.org\u003e\nCommit-Queue: Quyen Le \u003clehoangquyen@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6e7551385fbbfdea504d248175428bb6eee28ca1",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Buffer.cpp",
      "new_id": "2c29f563e548a0e245ec160a8c10fc9ffa959972",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Buffer.cpp"
    },
    {
      "type": "modify",
      "old_id": "58d5f2a926c8127d506ae6cc4bbb0c25954fb905",
      "old_mode": 33188,
      "old_path": "src/dawn/native/Buffer.h",
      "new_id": "91070b5654d0d391110af9a587c1d78ea0aab9db",
      "new_mode": 33188,
      "new_path": "src/dawn/native/Buffer.h"
    },
    {
      "type": "modify",
      "old_id": "29b15c1635bef3ef601b08f9ecbb71565a554b0c",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d11/BufferD3D11.cpp",
      "new_id": "0a69e62990b54c2e72582f9fa31629aa429c076e",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d11/BufferD3D11.cpp"
    },
    {
      "type": "modify",
      "old_id": "8eb240a9d5457b9ed6febd98f7ead66bdab642b2",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d11/BufferD3D11.h",
      "new_id": "583f8121bc4adbd608972f3fd94c85c15ea93579",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d11/BufferD3D11.h"
    },
    {
      "type": "modify",
      "old_id": "d938eb34bc2089b0ee5e6520006ebad5d112e25c",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d11/CommandBufferD3D11.cpp",
      "new_id": "8b06047cf102706a7670f3adb834392e98f05b53",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d11/CommandBufferD3D11.cpp"
    },
    {
      "type": "modify",
      "old_id": "39ef2549e13c50942b1851da8713ed8a49dc201c",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d11/DeviceD3D11.cpp",
      "new_id": "8c394f8ac56157b92bc664c31cf97dec3421a9a4",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d11/DeviceD3D11.cpp"
    },
    {
      "type": "modify",
      "old_id": "328d4386305cb401af58bf67ab1b4789b838bcc0",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d11/QueueD3D11.cpp",
      "new_id": "ba05ca9563e1489ffc1b51d5b48f2569605ea03f",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d11/QueueD3D11.cpp"
    },
    {
      "type": "modify",
      "old_id": "504dd81ed9f9a02b907bbc526b2ce694d3bd5912",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d11/QueueD3D11.h",
      "new_id": "620d445d40eb8e56df779669a68bb1cc3b8a5625",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d11/QueueD3D11.h"
    }
  ]
}
