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>
This commit is contained in:
Icenowy Zheng 2020-08-06 04:48:05 +08:00 committed by Marge Bot
parent c6aadbae71
commit 9e397956b0

View file

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