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>
This commit is contained in:
Icecream95
2021-05-31 23:20:33 +12:00
committed by Marge Bot
parent 08a6608467
commit 956d961339

View File

@@ -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