diff --git a/qrenderdoc/Windows/PipelineState/D3D11PipelineStateViewer.cpp b/qrenderdoc/Windows/PipelineState/D3D11PipelineStateViewer.cpp index cfdc7d7ef..65e611bf5 100644 --- a/qrenderdoc/Windows/PipelineState/D3D11PipelineStateViewer.cpp +++ b/qrenderdoc/Windows/PipelineState/D3D11PipelineStateViewer.cpp @@ -1319,8 +1319,9 @@ void D3D11PipelineStateViewer::setState() {tr("Index"), state.inputAssembly.indexBuffer.resourceId, draw ? draw->indexByteWidth : 0, state.inputAssembly.indexBuffer.byteOffset, (qulonglong)length, QString()}); - node->setTag(QVariant::fromValue( - D3D11VBIBTag(state.inputAssembly.indexBuffer.resourceId, draw ? draw->indexOffset : 0))); + node->setTag( + QVariant::fromValue(D3D11VBIBTag(state.inputAssembly.indexBuffer.resourceId, + draw ? draw->indexOffset * draw->indexByteWidth : 0))); if(!ibufferUsed) setInactiveRow(node); @@ -1338,8 +1339,9 @@ void D3D11PipelineStateViewer::setState() RDTreeWidgetItem *node = new RDTreeWidgetItem( {tr("Index"), tr("No Buffer Set"), lit("-"), lit("-"), lit("-"), QString()}); - node->setTag(QVariant::fromValue( - D3D11VBIBTag(state.inputAssembly.indexBuffer.resourceId, draw ? draw->indexOffset : 0))); + node->setTag( + QVariant::fromValue(D3D11VBIBTag(state.inputAssembly.indexBuffer.resourceId, + draw ? draw->indexOffset * draw->indexByteWidth : 0))); setEmptyRow(node); diff --git a/qrenderdoc/Windows/PipelineState/D3D12PipelineStateViewer.cpp b/qrenderdoc/Windows/PipelineState/D3D12PipelineStateViewer.cpp index 53044372f..10ec660ed 100644 --- a/qrenderdoc/Windows/PipelineState/D3D12PipelineStateViewer.cpp +++ b/qrenderdoc/Windows/PipelineState/D3D12PipelineStateViewer.cpp @@ -1336,8 +1336,9 @@ void D3D12PipelineStateViewer::setState() {tr("Index"), state.inputAssembly.indexBuffer.resourceId, draw ? draw->indexByteWidth : 0, (qulonglong)state.inputAssembly.indexBuffer.byteOffset, (qulonglong)length, QString()}); - node->setTag(QVariant::fromValue( - D3D12VBIBTag(state.inputAssembly.indexBuffer.resourceId, draw ? draw->indexOffset : 0))); + node->setTag( + QVariant::fromValue(D3D12VBIBTag(state.inputAssembly.indexBuffer.resourceId, + draw ? draw->indexOffset * draw->indexByteWidth : 0))); if(!ibufferUsed) setInactiveRow(node); @@ -1355,8 +1356,9 @@ void D3D12PipelineStateViewer::setState() RDTreeWidgetItem *node = new RDTreeWidgetItem( {tr("Index"), tr("No Buffer Set"), lit("-"), lit("-"), lit("-"), QString()}); - node->setTag(QVariant::fromValue( - D3D12VBIBTag(state.inputAssembly.indexBuffer.resourceId, draw ? draw->indexOffset : 0))); + node->setTag( + QVariant::fromValue(D3D12VBIBTag(state.inputAssembly.indexBuffer.resourceId, + draw ? draw->indexOffset * draw->indexByteWidth : 0))); setEmptyRow(node); diff --git a/qrenderdoc/Windows/PipelineState/GLPipelineStateViewer.cpp b/qrenderdoc/Windows/PipelineState/GLPipelineStateViewer.cpp index ebde76bf5..04780ef6a 100644 --- a/qrenderdoc/Windows/PipelineState/GLPipelineStateViewer.cpp +++ b/qrenderdoc/Windows/PipelineState/GLPipelineStateViewer.cpp @@ -1214,8 +1214,8 @@ void GLPipelineStateViewer::setState() draw ? draw->indexByteWidth : 0, 0, 0, (qulonglong)length, QString()}); - node->setTag(QVariant::fromValue( - GLVBIBTag(state.vertexInput.indexBuffer, draw ? draw->indexOffset : 0))); + node->setTag(QVariant::fromValue(GLVBIBTag( + state.vertexInput.indexBuffer, draw ? draw->indexOffset * draw->indexByteWidth : 0))); if(!ibufferUsed) setInactiveRow(node); @@ -1233,8 +1233,8 @@ void GLPipelineStateViewer::setState() RDTreeWidgetItem *node = new RDTreeWidgetItem( {tr("Element"), tr("No Buffer Set"), lit("-"), lit("-"), lit("-"), lit("-"), QString()}); - node->setTag(QVariant::fromValue( - GLVBIBTag(state.vertexInput.indexBuffer, draw ? draw->indexOffset : 0))); + node->setTag(QVariant::fromValue(GLVBIBTag( + state.vertexInput.indexBuffer, draw ? draw->indexOffset * draw->indexByteWidth : 0))); setEmptyRow(node); diff --git a/qrenderdoc/Windows/PipelineState/VulkanPipelineStateViewer.cpp b/qrenderdoc/Windows/PipelineState/VulkanPipelineStateViewer.cpp index fc0aa9b35..8a3d801fa 100644 --- a/qrenderdoc/Windows/PipelineState/VulkanPipelineStateViewer.cpp +++ b/qrenderdoc/Windows/PipelineState/VulkanPipelineStateViewer.cpp @@ -1563,8 +1563,9 @@ void VulkanPipelineStateViewer::setState() (qulonglong)state.inputAssembly.indexBuffer.byteOffset, draw != NULL ? draw->indexByteWidth : 0, (qulonglong)length, QString()}); - node->setTag(QVariant::fromValue(VulkanVBIBTag(state.inputAssembly.indexBuffer.resourceId, - draw != NULL ? draw->indexOffset : 0))); + node->setTag(QVariant::fromValue( + VulkanVBIBTag(state.inputAssembly.indexBuffer.resourceId, + draw != NULL ? draw->indexOffset * draw->indexByteWidth : 0))); if(!ibufferUsed) setInactiveRow(node); @@ -1582,8 +1583,9 @@ void VulkanPipelineStateViewer::setState() RDTreeWidgetItem *node = new RDTreeWidgetItem( {tr("Index"), ResourceId(), tr("Index"), lit("-"), lit("-"), lit("-"), QString()}); - node->setTag(QVariant::fromValue(VulkanVBIBTag(state.inputAssembly.indexBuffer.resourceId, - draw != NULL ? draw->indexOffset : 0))); + node->setTag(QVariant::fromValue( + VulkanVBIBTag(state.inputAssembly.indexBuffer.resourceId, + draw != NULL ? draw->indexOffset * draw->indexByteWidth : 0))); setEmptyRow(node);