From 8679f8a9ba82d7bf9720b0257b91c9bb8da4b228 Mon Sep 17 00:00:00 2001 From: Jake Turner Date: Wed, 11 Dec 2024 08:56:14 +0000 Subject: [PATCH] DXIL Debugger handle Half types in GetInterpolationModeForInputParam() --- renderdoc/driver/d3d12/d3d12_dxil_debug.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/renderdoc/driver/d3d12/d3d12_dxil_debug.cpp b/renderdoc/driver/d3d12/d3d12_dxil_debug.cpp index 95a095576..35a8a9764 100644 --- a/renderdoc/driver/d3d12/d3d12_dxil_debug.cpp +++ b/renderdoc/driver/d3d12/d3d12_dxil_debug.cpp @@ -500,13 +500,13 @@ InterpolationMode GetInterpolationModeForInputParam(const SigParameter &sig, if(sig.varType == VarType::SInt || sig.varType == VarType::UInt) return InterpolationMode::INTERPOLATION_CONSTANT; - if(sig.varType == VarType::Float) + if((sig.varType == VarType::Float) || (sig.varType == VarType::Half)) { - // if we're packed with ints on either side, we must be nointerpolation + // if we're packed with a different type on either side, we must be nointerpolation size_t numInputs = stageInputSig.size(); for(size_t j = 0; j < numInputs; j++) { - if(sig.regIndex == stageInputSig[j].regIndex && stageInputSig[j].varType != VarType::Float) + if(sig.regIndex == stageInputSig[j].regIndex && (stageInputSig[j].varType != sig.varType)) return DXBC::InterpolationMode::INTERPOLATION_CONSTANT; }