From 55c6eaf7d61a2a69cadbd243bde25248c9dfab7d Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 19 Jan 2016 21:32:01 +0100 Subject: [PATCH] Fix 64-bit constant handling --- renderdoc/driver/shaders/spirv/spirv_disassemble.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp b/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp index 119c3957b..a2fa9bfbf 100644 --- a/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp +++ b/renderdoc/driver/shaders/spirv/spirv_disassemble.cpp @@ -3705,10 +3705,10 @@ void ParseSPIRV(uint32_t *spirv, size_t spirvLength, SPVModule &module) if(WordCount > 3) { // only handle 32-bit or 64-bit constants - RDCASSERT(WordCount <= 4); + RDCASSERT(WordCount <= 5); uint64_t lo = spirv[it+3]; - uint64_t hi = spirv[it+4]; + uint64_t hi = WordCount == 5 ? spirv[it+4] : 0; op.constant->u64 = lo | (hi<<32); }