)]}'
{
  "commit": "39d51512614d2edc7f1ecebdffac4ab778a0c88e",
  "tree": "888b925b45a6b783893c5c00b82891a13db5bf6e",
  "parents": [
    "63242f5340cd19d94eb73a726b3b8f64ec69cd9e"
  ],
  "author": {
    "name": "Corentin Wallez",
    "email": "cwallez@chromium.org",
    "time": "Tue Aug 19 02:14:10 2025 -0700"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Aug 19 02:14:10 2025 -0700"
  },
  "message": "[dawn][native] Allow directly iterating over bindings of one type.\n\nThe BindGroupLayout reorders bindings and sorts them by type. This means\nthat all buffers have a contiguous range, same for all textures,\nsamplers, etc. Code looking at BGLs can use this to directly iterate\nover the bindings they are interested in instead of looping over\nbindings and calling MatchVariant or std::get_if.\n\nIntroduce the scaffolding to support this kind of iteration and use it\nto make more robust the places in the code that already assumed that\nbuffers are at the start.\n\nBug: 439565641\nChange-Id: I235f6df8ee2f0a3dc3a86ac715b47d0f9028b31c\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/257554\nReviewed-by: Loko Kung \u003clokokung@google.com\u003e\nReviewed-by: Geoff Lang \u003cgeofflang@chromium.org\u003e\nCommit-Queue: Corentin Wallez \u003ccwallez@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9757bbfb3846fb1c8422afbd2540dfd2f4e0672f",
      "old_mode": 33188,
      "old_path": "src/dawn/native/BindGroup.cpp",
      "new_id": "be0dd95f489b9db20bc4bf7c8d920fed3e92b960",
      "new_mode": 33188,
      "new_path": "src/dawn/native/BindGroup.cpp"
    },
    {
      "type": "modify",
      "old_id": "c519d8c6211e6f3a1f283db1981c8aad344a5e19",
      "old_mode": 33188,
      "old_path": "src/dawn/native/BindGroupLayoutInternal.cpp",
      "new_id": "523bca5ec30d7f12c74d1ab4699bdb5d4a4e85e4",
      "new_mode": 33188,
      "new_path": "src/dawn/native/BindGroupLayoutInternal.cpp"
    },
    {
      "type": "modify",
      "old_id": "780c2f036cb69fc6c982542e864e05951af843e4",
      "old_mode": 33188,
      "old_path": "src/dawn/native/BindGroupLayoutInternal.h",
      "new_id": "8008807d92a150ffdfd6e1ecaf4b5b41d0bfe32d",
      "new_mode": 33188,
      "new_path": "src/dawn/native/BindGroupLayoutInternal.h"
    },
    {
      "type": "modify",
      "old_id": "a17fb58f4cbd6ab366714cf32349475b9a78d0ab",
      "old_mode": 33188,
      "old_path": "src/dawn/native/CommandBufferStateTracker.cpp",
      "new_id": "db590cf5364274d00709b8ca0b7e882c2dad2c45",
      "new_mode": 33188,
      "new_path": "src/dawn/native/CommandBufferStateTracker.cpp"
    },
    {
      "type": "modify",
      "old_id": "b3038994be1b4dc8cbf5d0e3084ca106199daa3a",
      "old_mode": 33188,
      "old_path": "src/dawn/native/ShaderModule.cpp",
      "new_id": "8d49ebafe88e89b3a3f9d42b3215e48686543821",
      "new_mode": 33188,
      "new_path": "src/dawn/native/ShaderModule.cpp"
    },
    {
      "type": "modify",
      "old_id": "8a057aa879a11bd203aead859306e43f93b62883",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d12/BindGroupD3D12.cpp",
      "new_id": "22dbf99c41f6977a237c8f3be637ab2bf2bebbcf",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d12/BindGroupD3D12.cpp"
    },
    {
      "type": "modify",
      "old_id": "150a16fbec82a13449017426b05fec3d9f20053c",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d12/PipelineLayoutD3D12.cpp",
      "new_id": "d52b32aba05e113b08cd88307c4d01300bf418c2",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d12/PipelineLayoutD3D12.cpp"
    },
    {
      "type": "modify",
      "old_id": "1eea3ac2667c010ff884ee90112b1be024350830",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d12/SamplerHeapCacheD3D12.cpp",
      "new_id": "f6216f4a105dcd78904351c68760122400311571",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d12/SamplerHeapCacheD3D12.cpp"
    }
  ]
}
