asahi: Fix non-async flush

As far as I can tell, we're actually supposed to do a full sync here if
ASYNC or DEFERRED are not specified.

Signed-off-by: Asahi Lina <lina@asahilina.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30382>
This commit is contained in:
Asahi Lina
2024-07-11 18:17:46 +09:00
committed by Marge Bot
parent a0cdd9d5ed
commit 1cd60fb2c7

View File

@@ -1557,6 +1557,15 @@ agx_flush(struct pipe_context *pctx, struct pipe_fence_handle **fence,
agx_flush_all(ctx, "Gallium flush");
if (!(flags & (PIPE_FLUSH_DEFERRED | PIPE_FLUSH_ASYNC))) {
agx_sync_all(ctx, "Gallium sync flush");
if (fence)
*fence = NULL;
return;
}
/* At this point all pending work has been submitted. Since jobs are
* started and completed sequentially from a UAPI perspective, and since
* we submit all jobs with compute+render barriers on the prior job,