diff --git a/renderdoc/api/replay/d3d11_pipestate.h b/renderdoc/api/replay/d3d11_pipestate.h index a3959356d..bfadd2dc0 100644 --- a/renderdoc/api/replay/d3d11_pipestate.h +++ b/renderdoc/api/replay/d3d11_pipestate.h @@ -203,6 +203,9 @@ struct D3D11PipelineState struct OutputMerger { + OutputMerger() + : UAVStartSlot(0), DepthReadOnly(false), StencilReadOnly(false) {} + struct DepthStencilState { DepthStencilState() diff --git a/renderdocui/Code/CommonPipelineState.cs b/renderdocui/Code/CommonPipelineState.cs index 1adca3d41..7c9d42006 100644 --- a/renderdocui/Code/CommonPipelineState.cs +++ b/renderdocui/Code/CommonPipelineState.cs @@ -594,11 +594,9 @@ namespace renderdocui.Code { if (IsLogD3D11) { - ResourceId[] ret = new ResourceId[m_D3D11.m_OM.RenderTargets.Length]; - for (int i = (int)m_D3D11.m_OM.UAVStartSlot; i < m_D3D11.m_OM.RenderTargets.Length; i++) - { - ret[i] = m_D3D11.m_OM.UAVs[i - m_D3D11.m_OM.UAVStartSlot].Resource; - } + ResourceId[] ret = new ResourceId[m_D3D11.m_OM.UAVs.Length]; + for (int i = 0; i < m_D3D11.m_OM.UAVs.Length; i++) + ret[i] = m_D3D11.m_OM.UAVs[i].Resource; return ret; } @@ -606,9 +604,7 @@ namespace renderdocui.Code { ResourceId[] ret = new ResourceId[m_GL.Images.Length]; for (int i = 0; i < m_GL.Images.Length; i++) - { ret[i] = m_GL.Images[i].Resource; - } return ret; } diff --git a/renderdocui/Windows/TextureViewer.cs b/renderdocui/Windows/TextureViewer.cs index 0b1660e3b..3f3f26c60 100644 --- a/renderdocui/Windows/TextureViewer.cs +++ b/renderdocui/Windows/TextureViewer.cs @@ -101,7 +101,7 @@ namespace renderdocui.Windows else if (Type == FollowType.ReadWriteRes) { if (index >= core.CurD3D11PipelineState.m_OM.UAVStartSlot) - view = core.CurD3D11PipelineState.m_OM.UAVs[index - core.CurD3D11PipelineState.m_OM.UAVStartSlot]; + view = core.CurD3D11PipelineState.m_OM.UAVs[index]; } else if (Type == FollowType.PSResource) {