From 0547be54ea0e5c533855400f361c0587ab3309ee Mon Sep 17 00:00:00 2001 From: baldurk Date: Sat, 24 Feb 2018 14:08:09 +0000 Subject: [PATCH] Multiply index offset by stride when opening buffer viewers. Refs #884 --- renderdocui/Windows/PipelineState/D3D11PipelineStateViewer.cs | 4 ++-- renderdocui/Windows/PipelineState/D3D12PipelineStateViewer.cs | 4 ++-- renderdocui/Windows/PipelineState/GLPipelineStateViewer.cs | 4 ++-- .../Windows/PipelineState/VulkanPipelineStateViewer.cs | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/renderdocui/Windows/PipelineState/D3D11PipelineStateViewer.cs b/renderdocui/Windows/PipelineState/D3D11PipelineStateViewer.cs index 6223aa8c6..6fefd6578 100644 --- a/renderdocui/Windows/PipelineState/D3D11PipelineStateViewer.cs +++ b/renderdocui/Windows/PipelineState/D3D11PipelineStateViewer.cs @@ -965,7 +965,7 @@ namespace renderdocui.Windows.PipelineState node.Image = global::renderdocui.Properties.Resources.action; node.HoverImage = global::renderdocui.Properties.Resources.action_hover; - node.Tag = new IABufferTag(state.m_IA.ibuffer.Buffer, draw != null ? draw.indexOffset : 0); + node.Tag = new IABufferTag(state.m_IA.ibuffer.Buffer, draw != null ? draw.indexOffset * draw.indexByteWidth : 0); if (!ibufferUsed) InactiveRow(node); @@ -982,7 +982,7 @@ namespace renderdocui.Windows.PipelineState node.Image = global::renderdocui.Properties.Resources.action; node.HoverImage = global::renderdocui.Properties.Resources.action_hover; - node.Tag = new IABufferTag(state.m_IA.ibuffer.Buffer, draw != null ? draw.indexOffset : 0); + node.Tag = new IABufferTag(state.m_IA.ibuffer.Buffer, draw != null ? draw.indexOffset * draw.indexByteWidth : 0); EmptyRow(node); diff --git a/renderdocui/Windows/PipelineState/D3D12PipelineStateViewer.cs b/renderdocui/Windows/PipelineState/D3D12PipelineStateViewer.cs index afa6a62e2..45d450b84 100644 --- a/renderdocui/Windows/PipelineState/D3D12PipelineStateViewer.cs +++ b/renderdocui/Windows/PipelineState/D3D12PipelineStateViewer.cs @@ -1023,7 +1023,7 @@ namespace renderdocui.Windows.PipelineState node.Image = global::renderdocui.Properties.Resources.action; node.HoverImage = global::renderdocui.Properties.Resources.action_hover; - node.Tag = new IABufferTag(state.m_IA.ibuffer.Buffer, draw != null ? draw.indexOffset : 0); + node.Tag = new IABufferTag(state.m_IA.ibuffer.Buffer, draw != null ? draw.indexOffset * draw.indexByteWidth : 0); if (!ibufferUsed) InactiveRow(node); @@ -1040,7 +1040,7 @@ namespace renderdocui.Windows.PipelineState node.Image = global::renderdocui.Properties.Resources.action; node.HoverImage = global::renderdocui.Properties.Resources.action_hover; - node.Tag = new IABufferTag(state.m_IA.ibuffer.Buffer, draw != null ? draw.indexOffset : 0); + node.Tag = new IABufferTag(state.m_IA.ibuffer.Buffer, draw != null ? draw.indexOffset * draw.indexByteWidth : 0); EmptyRow(node); diff --git a/renderdocui/Windows/PipelineState/GLPipelineStateViewer.cs b/renderdocui/Windows/PipelineState/GLPipelineStateViewer.cs index 26f504f21..818eac4f6 100644 --- a/renderdocui/Windows/PipelineState/GLPipelineStateViewer.cs +++ b/renderdocui/Windows/PipelineState/GLPipelineStateViewer.cs @@ -1018,7 +1018,7 @@ namespace renderdocui.Windows.PipelineState node.Image = global::renderdocui.Properties.Resources.action; node.HoverImage = global::renderdocui.Properties.Resources.action_hover; - node.Tag = new IABufferTag(state.m_VtxIn.ibuffer, draw != null ? draw.indexOffset : 0, -1); + node.Tag = new IABufferTag(state.m_VtxIn.ibuffer, draw != null ? draw.indexOffset * draw.indexByteWidth : 0, -1); if (!ibufferUsed) InactiveRow(node); @@ -1035,7 +1035,7 @@ namespace renderdocui.Windows.PipelineState node.Image = global::renderdocui.Properties.Resources.action; node.HoverImage = global::renderdocui.Properties.Resources.action_hover; - node.Tag = new IABufferTag(state.m_VtxIn.ibuffer, draw != null ? draw.indexOffset : 0, -1); + node.Tag = new IABufferTag(state.m_VtxIn.ibuffer, draw != null ? draw.indexOffset * draw.indexByteWidth : 0, -1); EmptyRow(node); diff --git a/renderdocui/Windows/PipelineState/VulkanPipelineStateViewer.cs b/renderdocui/Windows/PipelineState/VulkanPipelineStateViewer.cs index 5bc57232a..91392876e 100644 --- a/renderdocui/Windows/PipelineState/VulkanPipelineStateViewer.cs +++ b/renderdocui/Windows/PipelineState/VulkanPipelineStateViewer.cs @@ -1337,7 +1337,7 @@ namespace renderdocui.Windows.PipelineState node.Image = global::renderdocui.Properties.Resources.action; node.HoverImage = global::renderdocui.Properties.Resources.action_hover; - node.Tag = new IABufferTag(state.IA.ibuffer.buf, draw != null ? draw.indexOffset : 0); + node.Tag = new IABufferTag(state.IA.ibuffer.buf, draw != null ? draw.indexOffset * draw.indexByteWidth : 0); if (!ibufferUsed) InactiveRow(node); @@ -1354,7 +1354,7 @@ namespace renderdocui.Windows.PipelineState node.Image = global::renderdocui.Properties.Resources.action; node.HoverImage = global::renderdocui.Properties.Resources.action_hover; - node.Tag = new IABufferTag(state.IA.ibuffer.buf, draw != null ? draw.indexOffset : 0); + node.Tag = new IABufferTag(state.IA.ibuffer.buf, draw != null ? draw.indexOffset * draw.indexByteWidth : 0); EmptyRow(node);