Mesa (master): broadcom/vc5: Fix a segfault on mix of booleans.

Eric Anholt anholt at kemper.freedesktop.org
Thu Feb 1 19:02:53 UTC 2018


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

Author: Eric Anholt <eric at anholt.net>
Date:   Fri Jan 19 09:06:26 2018 -0800

broadcom/vc5: Fix a segfault on mix of booleans.

We don't have a src1 to look up if the compare instruction is "i2b".

---

 src/broadcom/compiler/nir_to_vir.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/broadcom/compiler/nir_to_vir.c b/src/broadcom/compiler/nir_to_vir.c
index 0e2e8e2daa..6bb2774143 100644
--- a/src/broadcom/compiler/nir_to_vir.c
+++ b/src/broadcom/compiler/nir_to_vir.c
@@ -528,7 +528,9 @@ ntq_emit_comparison(struct v3d_compile *c, struct qreg *dest,
                     nir_alu_instr *sel_instr)
 {
         struct qreg src0 = ntq_get_alu_src(c, compare_instr, 0);
-        struct qreg src1 = ntq_get_alu_src(c, compare_instr, 1);
+        struct qreg src1;
+        if (nir_op_infos[compare_instr->op].num_inputs > 1)
+                src1 = ntq_get_alu_src(c, compare_instr, 1);
         bool cond_invert = false;
 
         switch (compare_instr->op) {




More information about the mesa-commit mailing list