From 3952dfba2b8c1cf73feed7fa7db39ebc6db82c61 Mon Sep 17 00:00:00 2001 From: Baldur Karlsson Date: Mon, 28 Jul 2014 16:52:43 +0100 Subject: [PATCH] Save location as vec if variable is not buffer backed --- renderdoc/driver/gl/gl_replay.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/renderdoc/driver/gl/gl_replay.cpp b/renderdoc/driver/gl/gl_replay.cpp index 72c78ea9d..d4f34c0f8 100644 --- a/renderdoc/driver/gl/gl_replay.cpp +++ b/renderdoc/driver/gl/gl_replay.cpp @@ -932,8 +932,20 @@ ShaderReflection *GLReplay::GetShader(ResourceId id) continue; } - var.reg.vec = values[6] / 16; - var.reg.comp = (values[6] / 4) % 4; + if(values[6] == -1 && values[3] >= 0) + { + var.reg.vec = values[3]; + var.reg.comp = 0; + } + else if(values[6] >= 0) + { + var.reg.vec = values[6] / 16; + var.reg.comp = (values[6] / 4) % 4; + } + else + { + var.reg.vec = var.reg.comp = ~0U; + } create_array_uninit(var.name, values[2]+1); gl.glGetProgramResourceName(curProg, eGL_UNIFORM, u, values[2]+1, NULL, var.name.elems);