From 56f1b8c4e89a994c477b584bb0917e89f7d2b752 Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 21 Jul 2020 12:35:37 +0100 Subject: [PATCH] Fix size clamp being backwards for D3D12 index buffers --- .../Windows/PipelineState/D3D12PipelineStateViewer.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/qrenderdoc/Windows/PipelineState/D3D12PipelineStateViewer.cpp b/qrenderdoc/Windows/PipelineState/D3D12PipelineStateViewer.cpp index 96d8cc9d9..6ce043045 100644 --- a/qrenderdoc/Windows/PipelineState/D3D12PipelineStateViewer.cpp +++ b/qrenderdoc/Windows/PipelineState/D3D12PipelineStateViewer.cpp @@ -1412,7 +1412,10 @@ void D3D12PipelineStateViewer::setState() node->setTag(QVariant::fromValue( D3D12VBIBTag(state.inputAssembly.indexBuffer.resourceId, state.inputAssembly.indexBuffer.byteOffset + drawOffset, - qMin(state.inputAssembly.indexBuffer.byteSize - drawOffset, 0U), iformat))); + drawOffset > state.inputAssembly.indexBuffer.byteSize + ? 0 + : state.inputAssembly.indexBuffer.byteSize - drawOffset, + iformat))); for(const D3D12Pipe::ResourceData &res : m_Ctx.CurD3D12PipelineState()->resourceStates) { @@ -1460,7 +1463,10 @@ void D3D12PipelineStateViewer::setState() node->setTag(QVariant::fromValue( D3D12VBIBTag(state.inputAssembly.indexBuffer.resourceId, state.inputAssembly.indexBuffer.byteOffset + drawOffset, - qMin(state.inputAssembly.indexBuffer.byteSize - drawOffset, 0U), iformat))); + drawOffset > state.inputAssembly.indexBuffer.byteSize + ? 0 + : state.inputAssembly.indexBuffer.byteSize - drawOffset, + iformat))); for(const D3D12Pipe::ResourceData &res : m_Ctx.CurD3D12PipelineState()->resourceStates) {