From: Eric Anholt Date: Sat, 6 Aug 2011 03:54:25 +0000 (-0700) Subject: i965/vs: Fix types of varying outputs. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=aba9801996f2f524a765df378c234a7645b3a5d1;p=mesa.git i965/vs: Fix types of varying outputs. For structs/arrays/matrices, they were ending up as uint because we forgot to set them. All varyings in GLSL 1.20 are of base type float, so just force the matter here (which gets inherited at emit_urb_writes() time). Fixes vs-varying-array-mat2-col-rd. --- diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp index 4f7763d61bb..5e2b3e5a5fe 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp @@ -646,6 +646,7 @@ vec4_visitor::visit(ir_variable *ir) for (int i = 0; i < type_size(ir->type); i++) { output_reg[ir->location + i] = *reg; output_reg[ir->location + i].reg_offset = i; + output_reg[ir->location + i].type = BRW_REGISTER_TYPE_F; } break;