summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2011-08-05 20:54:25 -0700
committerEric Anholt <eric@anholt.net>2011-08-16 13:04:42 -0700
commitaba9801996f2f524a765df378c234a7645b3a5d1 (patch)
treedfac6c42714cb246fb0c300f529cdcfe5bad9125
parent979072613139870f12e329e4b483c7f688b40560 (diff)
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.
-rw-r--r--src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp1
1 files changed, 1 insertions, 0 deletions
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;