diff --git a/renderdocui/Code/CommonPipelineState.cs b/renderdocui/Code/CommonPipelineState.cs index 633732a79..542b1c8fc 100644 --- a/renderdocui/Code/CommonPipelineState.cs +++ b/renderdocui/Code/CommonPipelineState.cs @@ -49,6 +49,8 @@ namespace renderdocui.Code m_Vulkan = vk; } + public APIPipelineStateType DefaultType = APIPipelineStateType.D3D11; + private bool LogLoaded { get @@ -103,6 +105,62 @@ namespace renderdocui.Code } } + public bool SupportsResourceArrays + { + get + { + if (LogLoaded) + { + if (IsLogVK) + return true; + } + + return false; + } + } + + public string Abbrev(ShaderStageType stage) + { + if (IsLogD3D11 || (!LogLoaded && DefaultType == APIPipelineStateType.D3D11)) + { + switch (stage) + { + case ShaderStageType.Vertex: return "VS"; + case ShaderStageType.Hull: return "HS"; + case ShaderStageType.Domain: return "DS"; + case ShaderStageType.Geometry: return "GS"; + case ShaderStageType.Pixel: return "PS"; + case ShaderStageType.Compute: return "CS"; + } + } + else if (IsLogGL || (!LogLoaded && DefaultType == APIPipelineStateType.OpenGL) || + IsLogVK || (!LogLoaded && DefaultType == APIPipelineStateType.Vulkan)) + { + switch (stage) + { + case ShaderStageType.Vertex: return "VS"; + case ShaderStageType.Tess_Control: return "TCS"; + case ShaderStageType.Tess_Eval: return "TES"; + case ShaderStageType.Geometry: return "GS"; + case ShaderStageType.Fragment: return "FS"; + case ShaderStageType.Compute: return "CS"; + } + } + + return "?S"; + } + + public string OutputAbbrev() + { + if (IsLogGL || (!LogLoaded && DefaultType == APIPipelineStateType.OpenGL) || + IsLogVK || (!LogLoaded && DefaultType == APIPipelineStateType.Vulkan)) + { + return "FB"; + } + + return "RT"; + } + // there's a lot of redundancy in these functions public ShaderBindpointMapping GetBindpointMapping(ShaderStageType stage) @@ -604,20 +662,6 @@ namespace renderdocui.Code return null; } - public bool SupportsResourceArrays - { - get - { - if (LogLoaded) - { - if (IsLogVK) - return true; - } - - return false; - } - } - public void GetConstantBuffer(ShaderStageType stage, uint BufIdx, uint ArrayIdx, out ResourceId buf, out ulong ByteOffset, out ulong ByteSize) { if (LogLoaded) diff --git a/renderdocui/Interop/Enums.cs b/renderdocui/Interop/Enums.cs index a04f910da..c1cc8e457 100644 --- a/renderdocui/Interop/Enums.cs +++ b/renderdocui/Interop/Enums.cs @@ -725,36 +725,6 @@ namespace renderdoc return stage.ToString(); } - public static string Abbrev(this ShaderStageType stage, APIPipelineStateType apitype) - { - if (apitype == APIPipelineStateType.D3D11) - { - switch (stage) - { - case ShaderStageType.Vertex: return "VS"; - case ShaderStageType.Hull: return "HS"; - case ShaderStageType.Domain: return "DS"; - case ShaderStageType.Geometry: return "GS"; - case ShaderStageType.Pixel: return "PS"; - case ShaderStageType.Compute: return "CS"; - } - } - else if (apitype == APIPipelineStateType.OpenGL) - { - switch (stage) - { - case ShaderStageType.Vertex: return "VS"; - case ShaderStageType.Tess_Control: return "TCS"; - case ShaderStageType.Tess_Eval: return "TES"; - case ShaderStageType.Geometry: return "GS"; - case ShaderStageType.Fragment: return "FS"; - case ShaderStageType.Compute: return "CS"; - } - } - - return "?S"; - } - public static string Str(this SystemAttribute systemValue) { switch (systemValue) diff --git a/renderdocui/Windows/PipelineState/PipelineStateViewer.cs b/renderdocui/Windows/PipelineState/PipelineStateViewer.cs index 779448726..4bb8d0076 100644 --- a/renderdocui/Windows/PipelineState/PipelineStateViewer.cs +++ b/renderdocui/Windows/PipelineState/PipelineStateViewer.cs @@ -101,6 +101,7 @@ namespace renderdocui.Windows.PipelineState } m_Current = m_D3D11; + m_Core.CurPipelineState.DefaultType = APIPipelineStateType.D3D11; } private void SetToGL() @@ -117,6 +118,7 @@ namespace renderdocui.Windows.PipelineState } m_Current = m_GL; + m_Core.CurPipelineState.DefaultType = APIPipelineStateType.OpenGL; } private void SetToVulkan() @@ -133,6 +135,7 @@ namespace renderdocui.Windows.PipelineState } m_Current = m_Vulkan; + m_Core.CurPipelineState.DefaultType = APIPipelineStateType.Vulkan; } public void OnLogfileLoaded()