From: Dave Airlie Date: Sat, 19 Dec 2015 04:43:17 +0000 (+1000) Subject: st/glsl_to_tgsi: readd the double_reg2 for input index mapping X-Git-Tag: upstream/17.1.0~13504 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=dc7b33c1f372c835ce91afa0350c0bffe00c344e;p=platform%2Fupstream%2Fmesa.git 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 --- 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: