Mesa (master): pan/bit: Add min/max support to interpreter

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Apr 6 19:59:02 UTC 2020


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

Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Mon Apr  6 13:08:44 2020 -0400

pan/bit: Add min/max support to interpreter

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4470>

---

 src/panfrost/bifrost/test/bi_interpret.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/panfrost/bifrost/test/bi_interpret.c b/src/panfrost/bifrost/test/bi_interpret.c
index b6807f55456..f0068398df4 100644
--- a/src/panfrost/bifrost/test/bi_interpret.c
+++ b/src/panfrost/bifrost/test/bi_interpret.c
@@ -184,6 +184,8 @@ bit_write(struct bit_state *s, unsigned index, nir_alu_type T, bit_t value, bool
 bit_make_poly(add, a + b);
 bit_make_float(fma, (a * b) + c);
 bit_make_poly(mov, a);
+bit_make_poly(min, MIN2(a, b));
+bit_make_poly(max, MAX2(a, b));
 
 /* Modifiers */
 
@@ -317,9 +319,16 @@ bit_step(struct bit_state *s, bi_instruction *ins, bool FMA)
 
         case BI_FREXP:
         case BI_ISUB:
-        case BI_MINMAX:
                 unreachable("Unsupported op");
 
+        case BI_MINMAX: {
+                if (ins->op.minmax == BI_MINMAX_MIN) {
+                        bpoly(min);
+                } else {
+                        bpoly(max);
+                }
+        }
+
         case BI_MOV:
                 bpoly(mov);
 



More information about the mesa-commit mailing list