i965/vs: Fix the types of array/struct dereferences.
authorEric Anholt <eric@anholt.net>
Sat, 6 Aug 2011 02:38:44 +0000 (19:38 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 16 Aug 2011 20:04:42 +0000 (13:04 -0700)
Fixes glsl-vs-arrays-3.

src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp

index 734e251453679d900dbcb2f2cde27ac3c1363b52..b6f3cbc265f23051bc581ca790c2c223ad432c52 100644 (file)
@@ -1198,6 +1198,7 @@ vec4_visitor::visit(ir_dereference_array *ir)
       src.swizzle = swizzle_for_size(ir->type->vector_elements);
    else
       src.swizzle = BRW_SWIZZLE_NOOP;
+   src.type = brw_type_for_base_type(ir->type);
 
    this->result = src;
 }
@@ -1222,6 +1223,7 @@ vec4_visitor::visit(ir_dereference_record *ir)
       this->result.swizzle = swizzle_for_size(ir->type->vector_elements);
    else
       this->result.swizzle = BRW_SWIZZLE_NOOP;
+   this->result.type = brw_type_for_base_type(ir->type);
 
    this->result.reg_offset += offset;
 }