Mesa (master): pan/mdg: Apply abs/neg modifiers

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue May 19 20:42:39 UTC 2020


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

Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Wed Apr 29 18:10:43 2020 -0400

pan/mdg: Apply abs/neg modifiers

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

---

 src/panfrost/midgard/midgard_compile.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/panfrost/midgard/midgard_compile.c b/src/panfrost/midgard/midgard_compile.c
index 0f57ba67626..96a8c1c9397 100644
--- a/src/panfrost/midgard/midgard_compile.c
+++ b/src/panfrost/midgard/midgard_compile.c
@@ -603,6 +603,15 @@ static void
 mir_copy_src(midgard_instruction *ins, nir_alu_instr *instr, unsigned i, unsigned to, bool *abs, bool *neg, bool is_int, unsigned bcast_count)
 {
         nir_alu_src src = instr->src[i];
+
+        if (!is_int) {
+                if (pan_has_source_mod(&src, nir_op_fneg))
+                        *neg = !(*neg);
+
+                if (pan_has_source_mod(&src, nir_op_fabs))
+                        *abs = true;
+        }
+
         unsigned bits = nir_src_bit_size(src.src);
 
         ins->src[to] = nir_src_index(NULL, &src.src);



More information about the mesa-commit mailing list