From 9668cc9a4cb3fe520ba659ed78efbb3d5a08a428 Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 15 Apr 2022 11:45:35 +0100 Subject: [PATCH] Align up the page count when applying single page mappings on D3D12 --- renderdoc/driver/d3d12/d3d12_initstate.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/renderdoc/driver/d3d12/d3d12_initstate.cpp b/renderdoc/driver/d3d12/d3d12_initstate.cpp index 65ee8c3d9..aa288dcd2 100644 --- a/renderdoc/driver/d3d12/d3d12_initstate.cpp +++ b/renderdoc/driver/d3d12/d3d12_initstate.cpp @@ -437,8 +437,8 @@ SparseBinds::SparseBinds(const Sparse::PageTable &table) bind.heap = mapping.singleMapping.memory; bind.rangeOffset = uint32_t(mapping.singleMapping.offset / pageSize); bind.rangeCount = uint32_t(table.isSubresourceInMipTail(sub) - ? table.getMipTailSliceSize() / pageSize - : table.getSubresourceByteSize(sub) / pageSize); + ? (table.getMipTailSliceSize() + pageSize - 1) / pageSize + : (table.getSubresourceByteSize(sub) + pageSize - 1) / pageSize); bind.regionStart = {0, 0, 0, sub}; bind.regionSize = {bind.rangeCount, FALSE, bind.rangeCount, 1, 1}; bind.rangeFlag = D3D12_TILE_RANGE_FLAG_NONE;