Mesa (staging/21.1): panfrost: Use first_tiler to check if tiling is needed

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sat Jun 5 16:30:18 UTC 2021


Module: Mesa
Branch: staging/21.1
Commit: 5ac128a23c2db4812083c83088828bbad85de847
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5ac128a23c2db4812083c83088828bbad85de847

Author: Icecream95 <ixn at disroot.org>
Date:   Mon May 31 23:20:33 2021 +1200

panfrost: Use first_tiler to check if tiling is needed

If there is a preload job needing tiling, but no other jobs, then
first_tiler will be set but not tiler_dep.

Fixes faults when two depth-only (stencil is reloaded) clears are done
in a row.

panfrost ffa30000.gpu: Unhandled Page fault in AS1 at VA 0x0000000044870000
               Reason: TODO
               raw fault status: 0x49002C1
               decoded fault status: SLAVE FAULT
               exception type 0xC1: TRANSLATION_FAULT_LEVEL1
               access type 0x2: READ
               source id 0x490
panfrost ffa30000.gpu: gpu sched timeout, js=0, config=0x3301, status=0x8, head=0x608a300, tail=0x608a300, sched_job=f5b0862d

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11104>
(cherry picked from commit 956d9613397acdfd90ff3c76bc540adf1783c7b5)

---

 .pick_status.json                 | 2 +-
 src/panfrost/lib/pan_scoreboard.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/.pick_status.json b/.pick_status.json
index 97053fba6a1..372e4ba7c07 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -1984,7 +1984,7 @@
         "description": "panfrost: Use first_tiler to check if tiling is needed",
         "nominated": true,
         "nomination_type": 0,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": null
     },
diff --git a/src/panfrost/lib/pan_scoreboard.c b/src/panfrost/lib/pan_scoreboard.c
index 2a77798258f..3fb87c8079b 100644
--- a/src/panfrost/lib/pan_scoreboard.c
+++ b/src/panfrost/lib/pan_scoreboard.c
@@ -195,7 +195,7 @@ panfrost_scoreboard_initialize_tiler(struct pan_pool *pool,
                 mali_ptr polygon_list)
 {
         /* Check if we even need tiling */
-        if (pan_is_bifrost(pool->dev) || !scoreboard->tiler_dep)
+        if (pan_is_bifrost(pool->dev) || !scoreboard->first_tiler)
                 return;
 
         /* Okay, we do. Let's generate it. We'll need the job's polygon list



More information about the mesa-commit mailing list