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

Author: Eric Anholt <[email protected]>
Date:   Tue Jul 16 12:38:10 2019 -0700

nir: Fix nir_lower_alu_to_scalar's instr filtering.

It was checking if the dest or src[0] SSA values were vectors, rather than
whether the ALU op was using the source as a vector resulting in a
nir_fdot4 making it through to vc4 and v3d:

vec1 32 ssa_6 = fdot4 ssa_4.xxxx, ssa_5

Fixes: c1cffa4249ca ("nir/alu_to_scalar: Use the new NIR lowering framework")
v2: Use Jason's recommendation to look at input_sizes.

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

---

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

diff --git a/src/compiler/nir/nir_lower_alu_to_scalar.c 
b/src/compiler/nir/nir_lower_alu_to_scalar.c
index d346ee7a94a..b16624bd8aa 100644
--- a/src/compiler/nir/nir_lower_alu_to_scalar.c
+++ b/src/compiler/nir/nir_lower_alu_to_scalar.c
@@ -44,7 +44,7 @@ inst_is_vector_alu(const nir_instr *instr, const void *_state)
    assert(alu->dest.dest.is_ssa);
    assert(alu->src[0].src.is_ssa);
    return alu->dest.dest.ssa.num_components > 1 ||
-          alu->src[0].src.ssa->num_components > 1;
+          nir_op_infos[alu->op].input_sizes[0] > 1;
 }
 
 static void

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

Reply via email to