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

Author: Eric Anholt <[email protected]>
Date:   Wed Jan 21 15:32:48 2015 -0800

nir: Fix setup of constant bool initializers.

brw_fs_nir has only seen scalar bools so far, thanks to vector splitting,
and the ralloc of in glsl_to_nir.cpp will *usually* get you a 0-filled
chunk of memory, so reading too large of a value will usually get you the
right bool value.  But once we start doing vector bools in a few commits,
we end up getting bad values.

Reviewed-by: Jason Ekstrand <[email protected]>

---

 src/glsl/nir/nir_lower_vars_to_ssa.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/glsl/nir/nir_lower_vars_to_ssa.c 
b/src/glsl/nir/nir_lower_vars_to_ssa.c
index 168a025..8af7530 100644
--- a/src/glsl/nir/nir_lower_vars_to_ssa.c
+++ b/src/glsl/nir/nir_lower_vars_to_ssa.c
@@ -600,7 +600,7 @@ get_const_initializer_load(const nir_deref_var *deref,
          load->value.u[i] = constant->value.u[matrix_offset + i];
          break;
       case GLSL_TYPE_BOOL:
-         load->value.u[i] = constant->value.u[matrix_offset + i] ?
+         load->value.u[i] = constant->value.b[matrix_offset + i] ?
                              NIR_TRUE : NIR_FALSE;
          break;
       default:

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to