Module: Mesa
Branch: master
Commit: dc7b33c1f372c835ce91afa0350c0bffe00c344e
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=dc7b33c1f372c835ce91afa0350c0bffe00c344e

Author: Dave Airlie <[email protected]>
Date:   Sat Dec 19 14:43:17 2015 +1000

st/glsl_to_tgsi: readd the double_reg2 for input index mapping

Otherwise we end up emitting the wrong index for the second
double.

This fixes dmat-vs-gs-tcs-tes.shader_test and dvec3-vs-gs-tcs-tes.shader_test

Signed-off-by: Dave Airlie <[email protected]>

---

 src/mesa/state_tracker/st_glsl_to_tgsi.cpp |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp 
b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
index f2ae58e..9f0efb8 100644
--- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
+++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
@@ -4640,7 +4640,7 @@ src_register(struct st_translate *t, const st_src_reg 
*reg)
       if (!reg->array_id) {
          assert(t->inputMapping[index] < ARRAY_SIZE(t->inputs));
          assert(t->inputs[t->inputMapping[index]].File != TGSI_FILE_NULL);
-         return t->inputs[t->inputMapping[index]];
+         return t->inputs[t->inputMapping[index] + double_reg2];
       }
       else {
          struct array_decl *decl = &t->input_arrays[reg->array_id-1];
@@ -4649,7 +4649,7 @@ src_register(struct st_translate *t, const st_src_reg 
*reg)
 
          assert(slot != -1 && t->inputs[slot].File == TGSI_FILE_INPUT);
          assert(t->inputs[slot].ArrayID == reg->array_id);
-         return ureg_src_array_offset(t->inputs[slot], index - mesa_index);
+         return ureg_src_array_offset(t->inputs[slot], index + double_reg2 - 
mesa_index);
       }
 
    case PROGRAM_ADDRESS:

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to