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

Author: Erico Nunes <[email protected]>
Date:   Sat Aug 10 22:44:22 2019 +0200

lima/ppir: lower selects to scalars

nir vec4 fcsel assumes that each component of the condition will be used
to select the same component from the options, but pp can't implement
that since it only has 1 component for the condition.

Signed-off-by: Erico Nunes <[email protected]>
Reviewed-by: Qiang Yu <[email protected]>

---

 src/gallium/drivers/lima/lima_program.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/gallium/drivers/lima/lima_program.c 
b/src/gallium/drivers/lima/lima_program.c
index 845d9535aac..cb05c6f379f 100644
--- a/src/gallium/drivers/lima/lima_program.c
+++ b/src/gallium/drivers/lima/lima_program.c
@@ -158,6 +158,11 @@ lima_program_optimize_fs_nir(struct nir_shader *s)
    BITSET_SET(alu_lower, nir_op_fsqrt);
    BITSET_SET(alu_lower, nir_op_fsin);
    BITSET_SET(alu_lower, nir_op_fcos);
+   /* nir vec4 fcsel assumes that each component of the condition will be
+    * used to select the same component from the two options, but lima
+    * can't implement that since we only have 1 component condition */
+   BITSET_SET(alu_lower, nir_op_fcsel);
+   BITSET_SET(alu_lower, nir_op_bcsel);
 
    NIR_PASS_V(s, nir_lower_fragcoord_wtrans);
    NIR_PASS_V(s, nir_lower_io, nir_var_all, type_size, 0);

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

Reply via email to