From d78565df33e1b2e2a4550de6c689b77d22dc4a82 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 21 Sep 2023 15:47:25 +0100 Subject: [PATCH] Coalesce unbound sparse bindings on D3D12 --- renderdoc/driver/d3d12/d3d12_initstate.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/renderdoc/driver/d3d12/d3d12_initstate.cpp b/renderdoc/driver/d3d12/d3d12_initstate.cpp index bfa6fe4e0..3027293b5 100644 --- a/renderdoc/driver/d3d12/d3d12_initstate.cpp +++ b/renderdoc/driver/d3d12/d3d12_initstate.cpp @@ -459,7 +459,8 @@ SparseBinds::SparseBinds(const Sparse::PageTable &table) // do simple coalescing. If the previous bind was in the same heap, one tile back, make it // cover this tile if(page > 0 && binds.back().heap == bind.heap && - binds.back().rangeOffset + binds.back().rangeCount == bind.rangeOffset) + (binds.back().rangeOffset + binds.back().rangeCount == bind.rangeOffset || + binds.back().heap == ResourceId())) { binds.back().regionSize.NumTiles++; binds.back().regionSize.Width++;