summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2016-06-07 09:39:55 +1000
committerDave Airlie <airlied@redhat.com>2016-07-02 17:01:25 +1000
commit27d456cc87a01998c6fe1dbf45937e2ca6128495 (patch)
tree6c1aeb9efd2c1b004306fe7d5dd7b38a57f075b7
parent6f4d35212b9566125cee4c2b749f8baa2a6fc031 (diff)
st/glsl_to_tgsi: don't increase immediate index by 1.
Immediates are stored into a separate table, and are consolidated, so if we get an immediate we don't need to offset it as the index it has is correct. Cc: "11.2 12.0" <mesa-stable@lists.freedesktop.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--src/mesa/state_tracker/st_glsl_to_tgsi.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
index 197b3af8c04..6d08c58a00d 100644
--- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
+++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
@@ -816,7 +816,7 @@ glsl_to_tgsi_visitor::emit_asm(ir_instruction *ir, unsigned op,
if (glsl_base_type_is_64bit(dinst->src[j].type)) {
dinst->src[j].index = initial_src_idx[j];
- if (swz > 1) {
+ if (swz > 1 && dinst->src[j].file != PROGRAM_IMMEDIATE) {
dinst->src[j].double_reg2 = true;
dinst->src[j].index++;
}