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 734e251..b6f3cbc 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;
 }