i965/vs: Don't lose attribute type when converting ATTR to FIXED_HW_REG.
authorKenneth Graunke <kenneth@whitecape.org>
Mon, 19 Nov 2012 07:51:47 +0000 (23:51 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Mon, 19 Nov 2012 19:38:58 +0000 (11:38 -0800)
The new brw_reg always had type BRW_REGISTER_TYPE_F, rather than
inheriting the original type of the ATTR file register.

In the past, this hasn't been a problem since we only execute this code
when fixing up GL_FIXED attributes, which always have float types.
However, we'll soon be using it for ARB_vertex_type_10_10_10_2 support,
which uses D and UD types.

Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/drivers/dri/i965/brw_vec4_emit.cpp

index c9fdc16b5132dbaab708f640def76f1b6061d235..a16242068c04c78fdf2670960bc1ef54ec80064e 100644 (file)
@@ -65,6 +65,7 @@ vec4_visitor::setup_attributes(int payload_reg)
         int grf = attribute_map[inst->dst.reg + inst->dst.reg_offset];
 
         struct brw_reg reg = brw_vec8_grf(grf, 0);
+        reg.type = inst->dst.type;
         reg.dw1.bits.writemask = inst->dst.writemask;
 
         inst->dst.file = HW_REG;