From 1fc39dae22843d6faf3ec43eab90c7d06f9f6f7b Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Mon, 12 Oct 2015 13:47:40 +1000 Subject: [PATCH] glsl: only update doubles inputs for vertex inputs. This doesn't apply to other stages. This is only used in the mesa/st code, which needs further fixes. Reviewed-by: Timothy Arceri Signed-off-by: Dave Airlie --- src/glsl/ir_set_program_inouts.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/glsl/ir_set_program_inouts.cpp b/src/glsl/ir_set_program_inouts.cpp index 838b5e7cf08..c9b8a38384f 100644 --- a/src/glsl/ir_set_program_inouts.cpp +++ b/src/glsl/ir_set_program_inouts.cpp @@ -115,8 +115,11 @@ mark(struct gl_program *prog, ir_variable *var, int offset, int len, else prog->InputsRead |= bitfield; - if (var->type->without_array()->is_dual_slot_double()) + /* double inputs read is only for vertex inputs */ + if (stage == MESA_SHADER_VERTEX && + var->type->without_array()->is_dual_slot_double()) prog->DoubleInputsRead |= bitfield; + if (stage == MESA_SHADER_FRAGMENT) { gl_fragment_program *fprog = (gl_fragment_program *) prog; fprog->InterpQualifier[idx] = -- 2.30.2