)]}'
{
  "commit": "303a3daf0decb8eaacb251346be317be00dda479",
  "tree": "00918f7b8e7c2dbb97be60e82b8a7ab6171efe27",
  "parents": [
    "2ba90d6654861d7b11e64f50b4e0d4e5d232c291"
  ],
  "author": {
    "name": "Bryan Bernhart",
    "email": "bryan.bernhart@intel.com",
    "time": "Thu Apr 30 23:19:16 2020 +0000"
  },
  "committer": {
    "name": "Commit Bot service account",
    "email": "commit-bot@chromium.org",
    "time": "Thu Apr 30 23:19:16 2020 +0000"
  },
  "message": "D3D12: Decouple descriptor heap allocations.\n\nAllows bindgroups to be populated by heap type. Previously, failing to\npopulate one type of GPU descriptor heap required both GPU heaps\nto be switched out. This resulted in extra copies and heap allocations\nshould only one heap type overflow.\n\nThis change also simplifies GPU descriptor heap management:\n- Allocator no longer needs to operate on both heaps.\n- Sub-allocation tracking can be moved into handles.\n\nA follow-up change will remove duplicated sampler heap allocations.\n\nBUG\u003ddawn:155\n\nChange-Id: I1960cf3a8bc3d86d3e8b2775da3d0c92125bcf82\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/19887\nCommit-Queue: Bryan Bernhart \u003cbryan.bernhart@intel.com\u003e\nReviewed-by: Corentin Wallez \u003ccwallez@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "42511960bb3de8db7390d81a23ee3c7c20e2ead9",
      "old_mode": 33188,
      "old_path": "src/dawn_native/BUILD.gn",
      "new_id": "3852fcf1908452d7152b1763753a8c43b44d9732",
      "new_mode": 33188,
      "new_path": "src/dawn_native/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "9d78325508c42050795e9a9aedb4ac8a1ac90ead",
      "old_mode": 33188,
      "old_path": "src/dawn_native/CMakeLists.txt",
      "new_id": "1465ad010b6054a70bdd2efebc86dc97f57e34d9",
      "new_mode": 33188,
      "new_path": "src/dawn_native/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "4d27b521bf8a71afdf6e7bb832c140b2a38e2f12",
      "old_mode": 33188,
      "old_path": "src/dawn_native/d3d12/BindGroupD3D12.cpp",
      "new_id": "4e328747d1ebe74e1d110599303a1e28ae39fd6c",
      "new_mode": 33188,
      "new_path": "src/dawn_native/d3d12/BindGroupD3D12.cpp"
    },
    {
      "type": "modify",
      "old_id": "ac9e71d86aa53351514408e839497c78f637245e",
      "old_mode": 33188,
      "old_path": "src/dawn_native/d3d12/BindGroupD3D12.h",
      "new_id": "05d67b4ba3b7cbcb3826f75a9c7c353c1698d509",
      "new_mode": 33188,
      "new_path": "src/dawn_native/d3d12/BindGroupD3D12.h"
    },
    {
      "type": "modify",
      "old_id": "9a5b66321f21bde373c72a5129958e74176b61f5",
      "old_mode": 33188,
      "old_path": "src/dawn_native/d3d12/CommandBufferD3D12.cpp",
      "new_id": "0a45e2e4f58f1763675320ef803c0da5e953e001",
      "new_mode": 33188,
      "new_path": "src/dawn_native/d3d12/CommandBufferD3D12.cpp"
    },
    {
      "type": "delete",
      "old_id": "2ca788529901d80d4cd2ed376cbf9d9286268717",
      "old_mode": 33188,
      "old_path": "src/dawn_native/d3d12/DescriptorHeapAllocationD3D12.cpp",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "e63d415b3197ff2a5d9809bb0d13e6008f1a8fd3",
      "old_mode": 33188,
      "old_path": "src/dawn_native/d3d12/DescriptorHeapAllocationD3D12.h",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "8f09bf94a16eb310312b4e653375841fb368a2db",
      "old_mode": 33188,
      "old_path": "src/dawn_native/d3d12/DeviceD3D12.cpp",
      "new_id": "fdd620ffe6994d66b2142cd030ad9436ccfd3e9a",
      "new_mode": 33188,
      "new_path": "src/dawn_native/d3d12/DeviceD3D12.cpp"
    },
    {
      "type": "modify",
      "old_id": "615f1fb54ec1b03b47d78c04266c4ccc7d7dee11",
      "old_mode": 33188,
      "old_path": "src/dawn_native/d3d12/DeviceD3D12.h",
      "new_id": "569acbf127cc9ac4b3f82d7cf7abc8f5bbff069e",
      "new_mode": 33188,
      "new_path": "src/dawn_native/d3d12/DeviceD3D12.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c72605a58b6d705765c3f8a9de56e60fd2303e83",
      "new_mode": 33188,
      "new_path": "src/dawn_native/d3d12/GPUDescriptorHeapAllocationD3D12.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c18d2662c3a2b74715d9030b36302128fb53727e",
      "new_mode": 33188,
      "new_path": "src/dawn_native/d3d12/GPUDescriptorHeapAllocationD3D12.h"
    },
    {
      "type": "modify",
      "old_id": "d881f26fce4d2486a3d45eba55abb7459d45cf3f",
      "old_mode": 33188,
      "old_path": "src/dawn_native/d3d12/ShaderVisibleDescriptorAllocatorD3D12.cpp",
      "new_id": "9c36ac5030c1fd8e57c46fadd13f60823c504e0c",
      "new_mode": 33188,
      "new_path": "src/dawn_native/d3d12/ShaderVisibleDescriptorAllocatorD3D12.cpp"
    },
    {
      "type": "modify",
      "old_id": "66f63f55eb87f41e16e659b57d4c340f0f43f132",
      "old_mode": 33188,
      "old_path": "src/dawn_native/d3d12/ShaderVisibleDescriptorAllocatorD3D12.h",
      "new_id": "be4e83974d20708afd8e877cac99d47ff7047ffb",
      "new_mode": 33188,
      "new_path": "src/dawn_native/d3d12/ShaderVisibleDescriptorAllocatorD3D12.h"
    },
    {
      "type": "modify",
      "old_id": "b996d0a19996eeaedcc1dc80de407d81ea0fae7f",
      "old_mode": 33188,
      "old_path": "src/tests/white_box/D3D12DescriptorHeapTests.cpp",
      "new_id": "bdb18c1425e13842e6c7bcd30b5b8ee038f514ae",
      "new_mode": 33188,
      "new_path": "src/tests/white_box/D3D12DescriptorHeapTests.cpp"
    }
  ]
}
