From 347007947257983ea73e5d538c2464fac99aba76 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 23 Apr 2020 14:58:23 +0100 Subject: [PATCH] Implement OpQuantizeToF16 --- renderdoc/driver/shaders/spirv/spirv_debug.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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);