st/glsl_to_tgsi: don't increase immediate index by 1.
authorDave Airlie <airlied@redhat.com>
Mon, 6 Jun 2016 23:39:55 +0000 (09:39 +1000)
committerDave Airlie <airlied@redhat.com>
Sat, 2 Jul 2016 07:01:25 +0000 (17:01 +1000)
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>
src/mesa/state_tracker/st_glsl_to_tgsi.cpp

index 197b3af8c046f752db046d7fc016a1ae80f0ee54..6d08c58a00d90c7324f1b0dafe1a0f1f768017c0 100644 (file)
@@ -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++;
               }