summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIcenowy Zheng <icenowy@aosc.io>2020-08-06 04:48:05 +0800
committerMarge Bot <eric+marge@anholt.net>2020-08-06 13:16:25 +0000
commit9e397956b092543f5fc89ccc43dc309818c150c6 (patch)
tree691a9731aa5f3bba46e9482be06603d57f713901
parentc6aadbae71562c14166a6e7942867eaf56b3e017 (diff)
panfrost: signal syncobj if nothing is going to be flushed
When nothing is going to be flushed, the kernel will get no job that signals the syncobj. Signal it by ourselves, otherwise it will never get signaled. Closes: #3371 Signed-off-by: Icenowy Zheng <icenowy@aosc.io> Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6190>
-rw-r--r--src/gallium/drivers/panfrost/pan_job.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/drivers/panfrost/pan_job.c b/src/gallium/drivers/panfrost/pan_job.c
index 3295d841602..d59aa22f049 100644
--- a/src/gallium/drivers/panfrost/pan_job.c
+++ b/src/gallium/drivers/panfrost/pan_job.c
@@ -1076,8 +1076,11 @@ panfrost_batch_submit(struct panfrost_batch *batch, uint32_t out_sync)
int ret;
/* Nothing to do! */
- if (!batch->scoreboard.first_job && !batch->clear)
+ if (!batch->scoreboard.first_job && !batch->clear) {
+ if (out_sync)
+ drmSyncobjSignal(dev->fd, &out_sync, 1);
goto out;
+ }
panfrost_batch_draw_wallpaper(batch);