From f23d86fb6b38df032a07e34ea2b5813b3382cd70 Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 6 Mar 2020 10:37:09 +0000 Subject: [PATCH] Use shader encoding when saving shaders to disk --- .../PipelineState/PipelineStateViewer.cpp | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/qrenderdoc/Windows/PipelineState/PipelineStateViewer.cpp b/qrenderdoc/Windows/PipelineState/PipelineStateViewer.cpp index 14598a414..08d81401b 100644 --- a/qrenderdoc/Windows/PipelineState/PipelineStateViewer.cpp +++ b/qrenderdoc/Windows/PipelineState/PipelineStateViewer.cpp @@ -1163,17 +1163,15 @@ bool PipelineStateViewer::SaveShaderFile(const ShaderReflection *shader) QString filter; - if(m_Ctx.CurPipelineState().IsCaptureD3D11() || m_Ctx.CurPipelineState().IsCaptureD3D12()) + switch(shader->encoding) { - filter = tr("DXBC Shader files (*.dxbc)"); - } - else if(m_Ctx.CurPipelineState().IsCaptureGL()) - { - filter = tr("GLSL files (*.glsl)"); - } - else if(m_Ctx.CurPipelineState().IsCaptureVK()) - { - filter = tr("SPIR-V files (*.spv)"); + case ShaderEncoding::DXBC: filter = tr("DXBC Shader files (*.dxbc)"); break; + case ShaderEncoding::HLSL: filter = tr("HLSL files (*.hlsl)"); break; + case ShaderEncoding::GLSL: filter = tr("GLSL files (*.glsl)"); break; + case ShaderEncoding::SPIRV: filter = tr("SPIR-V files (*.spv)"); break; + case ShaderEncoding::SPIRVAsm: filter = tr("SPIR-V assembly files (*.spvasm)"); break; + case ShaderEncoding::Unknown: + case ShaderEncoding::Count: filter = tr("All files (*.*)"); break; } QString filename = RDDialog::getSaveFileName(this, tr("Save Shader As"), QString(), filter);