i965/vs: Fix constant vector construction.
authorEric Anholt <eric@anholt.net>
Fri, 5 Aug 2011 23:18:00 +0000 (16:18 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 16 Aug 2011 20:04:41 +0000 (13:04 -0700)
Fixes some issues noticed in glsl-vs-all-01.

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

index 91abd40faadbb2f5abe780277d54d0045f826619..8ee4884098c5c8f64538360eedeba232301141ce 100644 (file)
@@ -1391,10 +1391,10 @@ vec4_visitor::visit(ir_constant *ir)
       return;
    }
 
-   for (int i = 0; i < ir->type->vector_elements; i++) {
-      this->result = src_reg(this, ir->type);
-      dst_reg dst = dst_reg(this->result);
+   this->result = src_reg(this, ir->type);
+   dst_reg dst = dst_reg(this->result);
 
+   for (int i = 0; i < ir->type->vector_elements; i++) {
       dst.writemask = 1 << i;
 
       switch (ir->type->base_type) {