i965: Remove swizzling of assignment to vector-splitting single-channel LHS.
authorEric Anholt <eric@anholt.net>
Mon, 27 Sep 2010 22:10:34 +0000 (15:10 -0700)
committerEric Anholt <eric@anholt.net>
Mon, 27 Sep 2010 23:09:50 +0000 (16:09 -0700)
We'd end up reading some non-x component of the float RHS.  +53 piglits.

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

index 9b58916cf2b065e4cea4720d62dec9ae2ec88647..83b4af05bcbb6c9c7c5409216ee473eaabac5e28 100644 (file)
@@ -319,8 +319,6 @@ ir_vector_splitting_visitor::visit_leave(ir_assignment *ir)
       ir->write_mask = (1 << 0);
 
       handle_rvalue(&ir->rhs);
-      ir->rhs = new(mem_ctx) ir_swizzle(ir->rhs,
-                                       elem, elem, elem, elem, 1);
    } else {
       handle_rvalue(&ir->rhs);
    }