Skip to content
Snippets Groups Projects
Commit 6320e467 authored by Icenowy Zheng's avatar Icenowy Zheng Committed by Eric Engestrom
Browse files

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: default avatarIcenowy Zheng <icenowy@aosc.io>
Reviewed-by: default avatarAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Cc: mesa-stable
Part-of: <!6190>
(cherry picked from commit 9e397956)
parent e99e81ec
No related branches found
No related tags found
Loading
......@@ -4207,7 +4207,7 @@
"description": "panfrost: signal syncobj if nothing is going to be flushed",
"nominated": true,
"nomination_type": 0,
"resolution": 0,
"resolution": 1,
"master_sha": null,
"because_sha": null
},
......@@ -984,6 +984,7 @@ static void
panfrost_batch_submit(struct panfrost_batch *batch)
{
assert(batch);
struct panfrost_device *dev = pan_device(batch->ctx->base.screen);
/* Submit the dependencies first. */
util_dynarray_foreach(&batch->dependencies,
......@@ -996,6 +997,9 @@ panfrost_batch_submit(struct panfrost_batch *batch)
/* Nothing to do! */
if (!batch->first_job && !batch->clear) {
if (batch->out_sync->syncobj)
drmSyncobjSignal(dev->fd, &batch->out_sync->syncobj, 1);
/* Mark the fence as signaled so the fence logic does not try
* to wait on it.
*/
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment