Mesa (master): panfrost: Add the tiler heap to fragment jobs

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Jan 29 03:09:44 UTC 2021


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

Author: Icecream95 <ixn at disroot.org>
Date:   Fri Jan 29 12:48:56 2021 +1300

panfrost: Add the tiler heap to fragment jobs

In some cases the GPU reads from the tiler heap in fragment jobs, so
always add it to GPU jobs.

Fixes faults in many applications that use multiple windows
(e.g. Firefox, plasmashell).

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4157
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8773>

---

 src/gallium/drivers/panfrost/pan_job.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/panfrost/pan_job.c b/src/gallium/drivers/panfrost/pan_job.c
index 32f3ff2bbdf..dffb063ffb9 100644
--- a/src/gallium/drivers/panfrost/pan_job.c
+++ b/src/gallium/drivers/panfrost/pan_job.c
@@ -978,9 +978,9 @@ panfrost_batch_submit_ioctl(struct panfrost_batch *batch,
         panfrost_pool_get_bo_handles(&batch->invisible_pool, bo_handles + submit.bo_handle_count);
         submit.bo_handle_count += panfrost_pool_num_bos(&batch->invisible_pool);
 
-        /* Used by all tiler jobs (XXX: skip for compute-only) */
-        if (!(reqs & PANFROST_JD_REQ_FS))
-                bo_handles[submit.bo_handle_count++] = dev->tiler_heap->gem_handle;
+        /* Used by all tiler jobs, and occasionally by fragment jobs.
+         * (XXX: skip for compute-only) */
+        bo_handles[submit.bo_handle_count++] = dev->tiler_heap->gem_handle;
 
         submit.bo_handles = (u64) (uintptr_t) bo_handles;
         if (ctx->is_noop)



More information about the mesa-commit mailing list