i965/vs: Fix ir_swizzle handling.
authorEric Anholt <eric@anholt.net>
Fri, 5 Aug 2011 23:37:18 +0000 (16:37 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 16 Aug 2011 20:04:41 +0000 (13:04 -0700)
I decided to refactor it a bit in adapting ir_to_mesa.cpp code, and
mangled it.  Fixes glsl-vs-cross-2.

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

index 3e62c9ebba812bb29a90d69c0d572cb8b24a5441..4f2a2011068c804df81a8363b7434eda423b0a6e 100644 (file)
@@ -1109,7 +1109,7 @@ vec4_visitor::visit(ir_swizzle *ir)
    src = this->result;
    assert(src.file != BAD_FILE);
 
-   if (i < ir->type->vector_elements) {
+   for (i = 0; i < ir->type->vector_elements; i++) {
       switch (i) {
       case 0:
         swizzle[i] = BRW_GET_SWZ(src.swizzle, ir->mask.x);