Mesa (master): glsl_to_tgsi: fix emission of boolean constants

Bryan Cain bryanc at kemper.freedesktop.org
Sat Jan 7 21:34:04 UTC 2012


Module: Mesa
Branch: master
Commit: 673535f6071e512b18ac6da622e15bdc45ebf0a0
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=673535f6071e512b18ac6da622e15bdc45ebf0a0

Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Sat Jan  7 15:28:27 2012 -0600

glsl_to_tgsi: fix emission of boolean constants

We use 0xffffffff for true, but visit(ir_constant *) was emitting 1.

---

 src/mesa/state_tracker/st_glsl_to_tgsi.cpp |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
index ddd5366..5397011 100644
--- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
+++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
@@ -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];
       }




More information about the mesa-commit mailing list