From fcca358d0cbcaabfa7e7da2102ed7df2946050cd Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 22 Jul 2016 19:18:36 +0200 Subject: [PATCH] Handle casting view types for swapchains (non-typeless resource) --- .../PipelineState/D3D11PipelineStateViewer.cs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/renderdocui/Windows/PipelineState/D3D11PipelineStateViewer.cs b/renderdocui/Windows/PipelineState/D3D11PipelineStateViewer.cs index 17929a220..76bfe6f06 100644 --- a/renderdocui/Windows/PipelineState/D3D11PipelineStateViewer.cs +++ b/renderdocui/Windows/PipelineState/D3D11PipelineStateViewer.cs @@ -260,6 +260,12 @@ namespace renderdocui.Windows.PipelineState (view.ArraySize < tex.arraysize && tex.arraysize > 1)) return true; + // in the case of the swapchain case, types can be different and it won't have shown + // up as taking the view's format because the swapchain already has one. Make sure to mark it + // as important + if (view.Format.compType != FormatComponentType.None && view.Format != tex.format) + return true; + return false; } @@ -382,7 +388,7 @@ namespace renderdocui.Windows.PipelineState } // if it's a typeless format, show the format of the view - if (texs[t].format.compType == FormatComponentType.None) + if (texs[t].format != r.Format) { format = "Viewed as " + r.Format.ToString(); } @@ -1109,7 +1115,7 @@ namespace renderdocui.Windows.PipelineState } // if it's a typeless format, show the format of the view - if (texs[t].format.compType == FormatComponentType.None) + if (texs[t].format != r.Format) { format = "Viewed as " + r.Format.ToString(); } @@ -1382,7 +1388,7 @@ namespace renderdocui.Windows.PipelineState } // if it's a typeless format, show the format of the view - if (texs[t].format.compType == FormatComponentType.None) + if (texs[t].format != p.Format) { format = "Viewed as " + p.Format.ToString(); } @@ -1482,7 +1488,7 @@ namespace renderdocui.Windows.PipelineState } // if it's a typeless format, show the format of the view - if (texs[t].format.compType == FormatComponentType.None) + if (texs[t].format != r.Format) { format = "Viewed as " + r.Format.ToString(); } @@ -1596,7 +1602,7 @@ namespace renderdocui.Windows.PipelineState } // if it's a typeless format, show the format of the view - if (texs[t].format.compType == FormatComponentType.None) + if (texs[t].format != state.m_OM.DepthTarget.Format) { format = "Viewed as " + state.m_OM.DepthTarget.Format.ToString(); }