From 8ba66e92a79e688211ac43eac7cee2f8f77a8f27 Mon Sep 17 00:00:00 2001 From: Jake Turner Date: Thu, 9 May 2024 06:32:09 +0100 Subject: [PATCH] Added rdcstr DXIL::Program::GetDebugStatus() returns "DXIL Debugging is not supported" --- renderdoc/driver/shaders/dxbc/dxbc_reflect.cpp | 8 +++----- renderdoc/driver/shaders/dxil/dxil_bytecode.h | 1 + renderdoc/driver/shaders/dxil/dxil_reflect.cpp | 5 +++++ 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/renderdoc/driver/shaders/dxbc/dxbc_reflect.cpp b/renderdoc/driver/shaders/dxbc/dxbc_reflect.cpp index e6c4246ea..927132098 100644 --- a/renderdoc/driver/shaders/dxbc/dxbc_reflect.cpp +++ b/renderdoc/driver/shaders/dxbc/dxbc_reflect.cpp @@ -25,6 +25,7 @@ #include "dxbc_reflect.h" #include "common/formatting.h" #include "core/core.h" +#include "driver/shaders/dxil/dxil_bytecode.h" #include "dxbc_bytecode.h" #include "dxbc_container.h" @@ -373,18 +374,15 @@ void MakeShaderReflection(DXBC::DXBCContainer *dxbc, const ShaderEntryPoint &ent if(dxbc->GetDXBCByteCode()) { refl->debugInfo.debugStatus = dxbc->GetDXBCByteCode()->GetDebugStatus(); - - refl->debugInfo.debuggable = refl->debugInfo.debugStatus.empty(); } else { - refl->debugInfo.debuggable = false; - if(dxbc->GetDXILByteCode()) - refl->debugInfo.debugStatus = "Debugging DXIL is not supported"; + refl->debugInfo.debugStatus = dxbc->GetDXILByteCode()->GetDebugStatus(); else refl->debugInfo.debugStatus = "Shader contains no recognised bytecode"; } + refl->debugInfo.debuggable = refl->debugInfo.debugStatus.empty(); refl->encoding = ShaderEncoding::DXBC; refl->debugInfo.compiler = KnownShaderTool::fxc; diff --git a/renderdoc/driver/shaders/dxil/dxil_bytecode.h b/renderdoc/driver/shaders/dxil/dxil_bytecode.h index 08a97f3cd..2ccdee694 100644 --- a/renderdoc/driver/shaders/dxil/dxil_bytecode.h +++ b/renderdoc/driver/shaders/dxil/dxil_bytecode.h @@ -1265,6 +1265,7 @@ public: const bytebuf &GetBytes() const { return m_Bytes; } void FetchComputeProperties(DXBC::Reflection *reflection); DXBC::Reflection *GetReflection(); + rdcstr GetDebugStatus(); rdcarray GetEntryPoints(); void FillRayPayloads( Program *executable, diff --git a/renderdoc/driver/shaders/dxil/dxil_reflect.cpp b/renderdoc/driver/shaders/dxil/dxil_reflect.cpp index 99b76211f..ca228561f 100644 --- a/renderdoc/driver/shaders/dxil/dxil_reflect.cpp +++ b/renderdoc/driver/shaders/dxil/dxil_reflect.cpp @@ -1679,6 +1679,11 @@ DXBC::Reflection *Program::GetReflection() return refl; } +rdcstr Program::GetDebugStatus() +{ + return "Debugging DXIL is not supported"; +} + void Program::GetLineInfo(size_t instruction, uintptr_t offset, LineColumnInfo &lineInfo) const { lineInfo = LineColumnInfo();