Mesa (master): panfrost: signal syncobj if nothing is going to be flushed
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Aug 6 13:27:50 UTC 2020
Module: Mesa
Branch: master
Commit: 9e397956b092543f5fc89ccc43dc309818c150c6
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9e397956b092543f5fc89ccc43dc309818c150c6
Author: Icenowy Zheng <icenowy at aosc.io>
Date: Thu Aug 6 04:48:05 2020 +0800
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 at aosc.io>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6190>
---
src/gallium/drivers/panfrost/pan_job.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
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);
More information about the mesa-commit
mailing list