When opening raw index buffer view, multiply offset by index width

This commit is contained in:
baldurk
2018-01-11 13:48:33 +00:00
parent 316b57e06f
commit b5d9034698
4 changed files with 22 additions and 16 deletions
@@ -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);
@@ -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);
@@ -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);
@@ -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);