From fc6938d23e769497fd2acba7da0b59935ec9f1e4 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 21 Jan 2015 15:32:48 -0800 Subject: [PATCH] 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 --- 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 168a02595fc..8af75302986 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: -- 2.30.2