)]}'
{
  "commit": "4b75589621506dbc2c213938da3a73d5e9cb4c18",
  "tree": "79086b31e823551636ae3a1cbb8b35d1350c694b",
  "parents": [
    "2172cc7c5b99f0f0577cc3f2812a3a5117958985"
  ],
  "author": {
    "name": "Corentin Wallez",
    "email": "cwallez@chromium.org",
    "time": "Tue Apr 22 05:37:49 2025 -0700"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Apr 22 05:37:49 2025 -0700"
  },
  "message": "[dawn][native] Cleanup BGL creation to better support arraySize\n\nSupport for arraySize needs to update ExtractAndExpandBglEntries in\nawkward ways because that method and other related code had accumulated\ndebt. Refactor it a bit in preparation for arraySize.\n\n - Separate the binding counts used to iterate the BGL from the ones\n   used for the validation of total binding counts in the pipeline\n   layouts. Extra bindings are accounted for in BindingCounts for\n   currently unused ExternalTexture reserved resources (one sampler and\n   two sampled textures) and the confusion could cause subtle bugs in\n   the future.\n - Change ExtractAndExpandBglEntries to do the conversion to BindingInfo\n   internally, which avoids the need to store a linked list of\n   BindGroupLayoutEntry on the side. Rename it to\n   ConvertAndExpandBGLEntries.\n - Make it return all of its results by value instead of a mix with\n   pointers (also go down from 6 things returned to only 2).\n - Update SortBindingsCompare to work with BindingInfo and simplify the\n   logic to only what is needed to get the invariants that BGL requires.\n - Make the various *BindingLayout aggregate types by removing their\n   constructors and using a static ::From member function instead.\n - Move operator \u003d\u003d and !\u003d to BindingInfo instead of having it defined\n   in BindGroupLayoutInternal.h\n - Remove / inline a couple unused BindGroupLayoutInternal member\n   functions.\n\nBug: 393558555\nChange-Id: Idc5365b61460a51ed30d6e829b37dcb05ebd76e5\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/236415\nReviewed-by: Loko Kung \u003clokokung@google.com\u003e\nCommit-Queue: Corentin Wallez \u003ccwallez@chromium.org\u003e\nReviewed-by: Brandon Jones \u003cbajones@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "04960e4897d8dc9ca0a7643c39cf7023899c0382",
      "old_mode": 33188,
      "old_path": "src/dawn/native/BindGroupLayoutInternal.cpp",
      "new_id": "1501aac019b422763145c57fcbc7d7f17a543dd8",
      "new_mode": 33188,
      "new_path": "src/dawn/native/BindGroupLayoutInternal.cpp"
    },
    {
      "type": "modify",
      "old_id": "42f9886d6fda6931df31894a719bf52cd35d5e8e",
      "old_mode": 33188,
      "old_path": "src/dawn/native/BindGroupLayoutInternal.h",
      "new_id": "91a0211efb07f6bdcdacf161699f39c2cd640480",
      "new_mode": 33188,
      "new_path": "src/dawn/native/BindGroupLayoutInternal.h"
    },
    {
      "type": "modify",
      "old_id": "3f04c7414d4919dbcd7677e68d08c0a686cd559f",
      "old_mode": 33188,
      "old_path": "src/dawn/native/BindingInfo.cpp",
      "new_id": "f0dc17f138ac0233207cabc30d45db6aaf6174a2",
      "new_mode": 33188,
      "new_path": "src/dawn/native/BindingInfo.cpp"
    },
    {
      "type": "modify",
      "old_id": "c43f52c328cbb1abe37bd17f716ce105ab575b23",
      "old_mode": 33188,
      "old_path": "src/dawn/native/BindingInfo.h",
      "new_id": "3f91c6bd39a12afb1b739a3e873e27d0d9d0ce7b",
      "new_mode": 33188,
      "new_path": "src/dawn/native/BindingInfo.h"
    },
    {
      "type": "modify",
      "old_id": "12f73cbb85eed36b8e7c9a2bdbbfa1bc8299e5cf",
      "old_mode": 33188,
      "old_path": "src/dawn/native/PipelineLayout.cpp",
      "new_id": "16e057a01e71e3e8665efd59414be9b3d7118980",
      "new_mode": 33188,
      "new_path": "src/dawn/native/PipelineLayout.cpp"
    },
    {
      "type": "modify",
      "old_id": "46bc848c9406dbcd98cccde2a8751f1c12b8a05b",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d12/BindGroupD3D12.cpp",
      "new_id": "360b7770ff4fc5065baa399afe5f8923a09eb8d1",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d12/BindGroupD3D12.cpp"
    },
    {
      "type": "modify",
      "old_id": "cbf68db9d31263affe4ccf7af59049c3b0754f0d",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d12/PipelineLayoutD3D12.cpp",
      "new_id": "64852fde8a7e3476debc5c948423eca462f45284",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d12/PipelineLayoutD3D12.cpp"
    },
    {
      "type": "modify",
      "old_id": "ac3bee551f2c58980a10b6c2a5ad50f6eef1e8e7",
      "old_mode": 33188,
      "old_path": "src/dawn/native/webgpu_absl_format.cpp",
      "new_id": "0c7f59772e64131b60df02343fc71fa00a08bec6",
      "new_mode": 33188,
      "new_path": "src/dawn/native/webgpu_absl_format.cpp"
    }
  ]
}
