Give the shader viewer a better disambiguating title when debugging

This commit is contained in:
baldurk
2014-09-06 11:45:51 +01:00
parent 490c9a1fcb
commit 543165cece
6 changed files with 27 additions and 9 deletions
+5 -1
View File
@@ -2476,7 +2476,11 @@ namespace renderdocui.Windows
this.BeginInvoke(new Action(() =>
{
ShaderViewer s = new ShaderViewer(m_Core, shaderDetails, ShaderStageType.Vertex, trace);
string debugContext = String.Format("Vertex {0}", row);
if (draw.numInstances > 1)
debugContext += String.Format(", Instance {0}", m_CurInst);
ShaderViewer s = new ShaderViewer(m_Core, shaderDetails, ShaderStageType.Vertex, trace, debugContext);
s.Show(this.DockPanel);
}));
@@ -1581,7 +1581,7 @@ namespace renderdocui.Windows.PipelineState
if(m_Core.CurD3D11PipelineState != null &&
m_Core.CurD3D11PipelineState.m_IA.Bytecode != null)
{
(new ShaderViewer(m_Core, m_Core.CurD3D11PipelineState.m_IA.Bytecode, ShaderStageType.Vertex, null))
(new ShaderViewer(m_Core, m_Core.CurD3D11PipelineState.m_IA.Bytecode, ShaderStageType.Vertex, null, ""))
.Show(m_DockContent.DockPanel);
}
@@ -1596,7 +1596,7 @@ namespace renderdocui.Windows.PipelineState
if (stage.Shader == ResourceId.Null) return;
ShaderViewer s = new ShaderViewer(m_Core, shaderDetails, stage.stage, null);
ShaderViewer s = new ShaderViewer(m_Core, shaderDetails, stage.stage, null, "");
s.Show(m_DockContent.DockPanel);
}
@@ -2045,7 +2045,9 @@ namespace renderdocui.Windows.PipelineState
this.BeginInvoke(new Action(() =>
{
ShaderViewer s = new ShaderViewer(m_Core, shaderDetails, ShaderStageType.Compute, trace);
string debugContext = String.Format("Group [{0},{1},{2}] Thread [{3},{4},{5}]", gx, gy, gz, tx, ty, tz);
ShaderViewer s = new ShaderViewer(m_Core, shaderDetails, ShaderStageType.Compute, trace, debugContext);
s.Show(m_DockContent.DockPanel);
}));
@@ -932,7 +932,7 @@ namespace renderdocui.Windows.PipelineState
if (stage.Shader == ResourceId.Null) return;
ShaderViewer s = new ShaderViewer(m_Core, shaderDetails, stage.stage, null);
ShaderViewer s = new ShaderViewer(m_Core, shaderDetails, stage.stage, null, "");
s.Show(m_DockContent.DockPanel);
}
+3 -1
View File
@@ -436,7 +436,9 @@ namespace renderdocui.Windows
this.BeginInvoke(new Action(() =>
{
ShaderViewer s = new ShaderViewer(m_Core, shaderDetails, ShaderStageType.Pixel, trace);
string debugContext = String.Format("Pixel {0},{1}", pixel.X, pixel.Y);
ShaderViewer s = new ShaderViewer(m_Core, shaderDetails, ShaderStageType.Pixel, trace, debugContext);
s.Show(this.DockPanel);
}));
+10 -2
View File
@@ -283,7 +283,7 @@ namespace renderdocui.Windows
}
}
public ShaderViewer(Core core, ShaderReflection shader, ShaderStageType stage, ShaderDebugTrace trace)
public ShaderViewer(Core core, ShaderReflection shader, ShaderStageType stage, ShaderDebugTrace trace, string debugContext)
{
InitializeComponent();
@@ -307,6 +307,11 @@ namespace renderdocui.Windows
case ShaderStageType.Compute: m_Stage = m_Core.CurD3D11PipelineState.m_CS; break;
}
if (trace != null)
Text = String.Format("Debug Shader {0} - {1}", m_Core.CurPipelineState.GetShader(stage), debugContext);
else
Text = String.Format("Shader {0}", m_Core.CurPipelineState.GetShader(stage));
var disasm = shader.Disassembly;
if (m_Core.Config.ShaderViewer_FriendlyNaming)
@@ -395,7 +400,10 @@ namespace renderdocui.Windows
if (shader.DebugInfo.entryFunc != "" && shader.DebugInfo.files.Length > 0)
{
Text = shader.DebugInfo.entryFunc+ "()";
if(trace != null)
Text = String.Format("Debug {0}() - {1}", shader.DebugInfo.entryFunc, debugContext);
else
Text = String.Format("{0}()", shader.DebugInfo.entryFunc);
DockContent sel = null;
foreach (var f in shader.DebugInfo.files)
+3 -1
View File
@@ -2692,7 +2692,9 @@ namespace renderdocui.Windows
this.BeginInvoke(new Action(() =>
{
ShaderViewer s = new ShaderViewer(m_Core, shaderDetails, ShaderStageType.Pixel, trace);
string debugContext = String.Format("Pixel {0},{1}", m_PickedPoint.X, m_PickedPoint.Y);
ShaderViewer s = new ShaderViewer(m_Core, shaderDetails, ShaderStageType.Pixel, trace, debugContext);
s.Show(this.DockPanel);
}));