Avoid using the same ir_constant 0.0 multiple times in mat constructors.
authorEric Anholt <eric@anholt.net>
Wed, 23 Jun 2010 21:33:30 +0000 (14:33 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Wed, 23 Jun 2010 22:20:29 +0000 (15:20 -0700)
glsl_types.cpp

index 2b7c5bce30ff6de9b05ecaacf81cec8d7116a815..ca19de6bec3f3150662d01e865afde24a944c47c 100644 (file)
@@ -359,10 +359,9 @@ generate_mat_body_from_scalar(exec_list *instructions,
    inst = new ir_assignment(lhs, rhs, NULL);
    instructions->push_tail(inst);
 
-   ir_constant *const zero = new ir_constant(0.0f);
-
    for (unsigned i = 1; i < column_type->vector_elements; i++) {
       ir_dereference *const lhs_ref = new ir_dereference_variable(column);
+      ir_constant *const zero = new ir_constant(0.0f);
 
       ir_swizzle *lhs = new ir_swizzle(lhs_ref, i, 0, 0, 0, 1);