From b502d64ada19529f0ce7fd35d1d1536130eaa3be Mon Sep 17 00:00:00 2001 From: baldurk Date: Mon, 16 Mar 2020 12:14:12 +0000 Subject: [PATCH] Don't read invalid srcOpers when evaluating texture sample operations --- renderdoc/driver/shaders/dxbc/dxbc_debug.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/renderdoc/driver/shaders/dxbc/dxbc_debug.cpp b/renderdoc/driver/shaders/dxbc/dxbc_debug.cpp index 751af81bf..a35b9bc42 100644 --- a/renderdoc/driver/shaders/dxbc/dxbc_debug.cpp +++ b/renderdoc/driver/shaders/dxbc/dxbc_debug.cpp @@ -3884,8 +3884,12 @@ void ThreadState::StepNext(ShaderDebugState *state, DebugAPIWrapper *apiWrapper, ddyCalc = srcOpers[4]; } - int multisampleIndex = srcOpers[2].value.i.x; - float lodOrCompareValue = srcOpers[3].value.f.x; + int multisampleIndex = 0; + if(srcOpers.size() >= 3) + multisampleIndex = srcOpers[2].value.i.x; + float lodOrCompareValue = 0.0f; + if(srcOpers.size() >= 4) + lodOrCompareValue = srcOpers[3].value.f.x; if(op.operation == OPCODE_GATHER4_PO_C) lodOrCompareValue = srcOpers[4].value.f.x;