Mesa (master): pan/midgard: Add bizarre corner case

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Nov 4 21:00:31 UTC 2019


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

Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Mon Nov  4 10:40:37 2019 -0500

pan/midgard: Add bizarre corner case

Someone really needs to look into this.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>

---

 src/panfrost/midgard/midgard_ra.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/panfrost/midgard/midgard_ra.c b/src/panfrost/midgard/midgard_ra.c
index 3060dd7c59f..534d095eac1 100644
--- a/src/panfrost/midgard/midgard_ra.c
+++ b/src/panfrost/midgard/midgard_ra.c
@@ -534,10 +534,17 @@ mir_compute_segment_interference(
                         if (bun->instructions[j]->src[s] >= ctx->temp_count)
                                 continue;
 
-                        for (unsigned q = pivot; q < j; ++q) {
+                        for (unsigned q = pivot; q < i; ++q) {
                                 if (bun->instructions[q]->dest >= ctx->temp_count)
                                         continue;
 
+                                /* See dEQP-GLES2.functional.shaders.return.output_write_in_func_dynamic_fragment */
+
+                                if (q >= j) {
+                                        if (!(bun->instructions[j]->unit == UNIT_SMUL && bun->instructions[q]->unit == UNIT_VLUT))
+                                                continue;
+                                }
+
                                 ra_add_node_interference(l, bun->instructions[q]->dest, bun->instructions[j]->src[s]);
                         }
                 }




More information about the mesa-commit mailing list