From: Eric Anholt Date: Sat, 6 Aug 2011 02:38:44 +0000 (-0700) Subject: i965/vs: Fix the types of array/struct dereferences. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8e947c2546c25c0dfa93b538e54113af1bf582df;p=mesa.git i965/vs: Fix the types of array/struct dereferences. Fixes glsl-vs-arrays-3. --- diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp index 734e2514536..b6f3cbc265f 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp @@ -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; }