From d3e8891e4131a6cec0d5f225fd45a58e0a358c0b Mon Sep 17 00:00:00 2001 From: Jake Turner Date: Sat, 25 Oct 2025 08:59:38 +0100 Subject: [PATCH] DXIL debugger handle all float types for DXOp::FAbs --- renderdoc/driver/shaders/dxil/dxil_debug.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/renderdoc/driver/shaders/dxil/dxil_debug.cpp b/renderdoc/driver/shaders/dxil/dxil_debug.cpp index 9b674bb3d..555e66b93 100644 --- a/renderdoc/driver/shaders/dxil/dxil_debug.cpp +++ b/renderdoc/driver/shaders/dxil/dxil_debug.cpp @@ -2984,9 +2984,13 @@ bool ThreadState::ExecuteInstruction(DebugAPIWrapper *apiWrapper, { ShaderVariable arg; RDCASSERT(GetShaderVariable(inst.args[1], opCode, dxOpCode, arg)); - RDCASSERTEQUAL(arg.type, VarType::Float); - RDCASSERTEQUAL(result.type, VarType::Float); - result.value.f32v[0] = fabsf(arg.value.f32v[0]); + RDCASSERT(IsFloatingPointType(arg.type)); + RDCASSERTEQUAL(result.type, arg.type); + const uint32_t c = 0; +#undef _IMPL +#define _IMPL(T) comp(result, c) = fabs(comp(arg, c)); + + IMPL_FOR_FLOAT_TYPES_FOR_TYPE(_IMPL, arg.type); break; } case DXOp::IMin: