)]}'
{
  "commit": "2177a495ef3e6832162f3b476fefe51e2543a6e5",
  "tree": "3ceaa14afbc7a9324a67054b53f02fe4f9fe6e48",
  "parents": [
    "0d2b886d015dbc79a2dd9d4dff11a4c5c981ff22"
  ],
  "author": {
    "name": "Antonio Maiorano",
    "email": "amaiorano@google.com",
    "time": "Fri Mar 27 09:31:45 2026 -0700"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Fri Mar 27 09:31:45 2026 -0700"
  },
  "message": "[native][d3d12] Fix ShaderVisibleDescriptorAllocator failing to handle large resource table size jumps\n\nThe ShaderVisibleDescriptorAllocator was designed to handle BindGroups\nthat are limited to how many resources can be bound per group per draw\n(kMaxBindingsPerBindGroup \u003d 1000). As such, it starts with a min heap\nsize of 4096 descriptors (for views) and doubles it when needing to\nrealloc.\n\nResourceTables, however, are much larger, limited currently to\nkMaxResourceTableSize (64K), so growing a table by more than double the\ncurrent heap size in ShaderVisibleDescriptorAllocator would fail\n(assert).\n\nThis CL reworks ShaderVisibleDescriptorAllocator to no longer\nautomatically grow its heap, but rather now takes in a\n\u0027minDescriptorCount\u0027 so that it can resize its heap to fit. It still\npools allocations once it reaches the max size. With this, we now\ncompute the total number of view and sampler descriptors required during\ndraw/dispatch and use this to resize the heaps.\n\nBug: 496379067\nChange-Id: I67ade6cdf29802827835f08dcd57876a927cc2cd\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/299595\nReviewed-by: Corentin Wallez \u003ccwallez@chromium.org\u003e\nCommit-Queue: Antonio Maiorano \u003camaiorano@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dd192b1933148b348d2ed44c5c2cd0c166d06d48",
      "old_mode": 33188,
      "old_path": "src/dawn/common/Math.h",
      "new_id": "8d393e82b33a39df9d9d24d6faa47aa5a790fc23",
      "new_mode": 33188,
      "new_path": "src/dawn/common/Math.h"
    },
    {
      "type": "modify",
      "old_id": "cbe6bf37c52f038e1763d4a614934586d0774387",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d12/CommandBufferD3D12.cpp",
      "new_id": "0126d9d47df541a2aeff72bcc44237930ca91b83",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d12/CommandBufferD3D12.cpp"
    },
    {
      "type": "modify",
      "old_id": "c7fc9417bc373f6586dda4ad70d8889922bb371c",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d12/ResourceTableD3D12.cpp",
      "new_id": "89a09a4a1026ed4dafd7fee6313bfb3a127205f6",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d12/ResourceTableD3D12.cpp"
    },
    {
      "type": "modify",
      "old_id": "04580ea9e44c3d8bea42f56a92e733c04a8ef3fe",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d12/ResourceTableD3D12.h",
      "new_id": "58a42c19b68b4968c3cc2ae22e36f5cb2a34b95f",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d12/ResourceTableD3D12.h"
    },
    {
      "type": "modify",
      "old_id": "401044caa362bfa68a8e3890da3655cce064be49",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d12/ShaderVisibleDescriptorAllocatorD3D12.cpp",
      "new_id": "9204aa4629023a906d1add43ec60b405e30dfc33",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d12/ShaderVisibleDescriptorAllocatorD3D12.cpp"
    },
    {
      "type": "modify",
      "old_id": "6a503b264ef30ae49ad69ac37aa44f9e92846030",
      "old_mode": 33188,
      "old_path": "src/dawn/native/d3d12/ShaderVisibleDescriptorAllocatorD3D12.h",
      "new_id": "d7ff6d54d884d48c8facf18cd165312cf9acc44c",
      "new_mode": 33188,
      "new_path": "src/dawn/native/d3d12/ShaderVisibleDescriptorAllocatorD3D12.h"
    },
    {
      "type": "modify",
      "old_id": "0c1b62868e34a1b74a84fa9bda02b9a74a27e6da",
      "old_mode": 33188,
      "old_path": "src/dawn/tests/white_box/D3D12DescriptorHeapTests.cpp",
      "new_id": "f80eb9d397307642636b23f718ca8222ce94a3d9",
      "new_mode": 33188,
      "new_path": "src/dawn/tests/white_box/D3D12DescriptorHeapTests.cpp"
    }
  ]
}
