glsl_to_tgsi: fix emission of boolean constants
authorBryan Cain <bryancain3@gmail.com>
Sat, 7 Jan 2012 21:28:27 +0000 (15:28 -0600)
committerBryan Cain <bryancain3@gmail.com>
Sat, 7 Jan 2012 21:33:36 +0000 (15:33 -0600)
We use 0xffffffff for true, but visit(ir_constant *) was emitting 1.

src/mesa/state_tracker/st_glsl_to_tgsi.cpp

index ddd5366a23b6f58bda586ae1bd70d4024de52752..539701173f8fd4f4fd6230adf93dacabf0329bc7 100644 (file)
@@ -2374,7 +2374,7 @@ glsl_to_tgsi_visitor::visit(ir_constant *ir)
       gl_type = native_integers ? GL_BOOL : GL_FLOAT;
       for (i = 0; i < ir->type->vector_elements; i++) {
          if (native_integers)
-            values[i].b = ir->value.b[i];
+            values[i].u = ir->value.b[i] ? ~0 : 0;
          else
             values[i].f = ir->value.b[i];
       }