diff --git a/renderdoc/driver/shaders/spirv/spirv_debug.cpp b/renderdoc/driver/shaders/spirv/spirv_debug.cpp index fdca3ef75..ace6e321f 100644 --- a/renderdoc/driver/shaders/spirv/spirv_debug.cpp +++ b/renderdoc/driver/shaders/spirv/spirv_debug.cpp @@ -26,6 +26,7 @@ #include #include #include "common/formatting.h" +#include "maths/half_convert.h" #include "os/os_specific.h" #include "spirv_op_helpers.h" @@ -916,6 +917,18 @@ void ThreadState::StepNext(ShaderDebugState *state, const rdcarray SetDst(conv.result, var); break; } + case Op::QuantizeToF16: + { + OpQuantizeToF16 quant(it); + + ShaderVariable var = GetSrc(quant.value); + + for(uint8_t c = 0; c < var.columns; c++) + var.value.fv[c] = ConvertFromHalf(ConvertToHalf(var.value.fv[c])); + + SetDst(quant.result, var); + break; + } case Op::FConvert: { OpFConvert cast(it);