freedreno/tools: Fix async flush vs fdperf/computerator
They need to wait on the ready fence to ensure the submit has been flushed to the kernel. Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10626>
This commit is contained in:
parent
a1c56b8091
commit
b447db41fc
|
@ -284,7 +284,12 @@ main(int argc, char **argv)
|
|||
|
||||
backend->emit_grid(kernel, grid, submit);
|
||||
|
||||
fd_submit_flush(submit, -1, NULL);
|
||||
struct fd_submit_fence fence = {};
|
||||
util_queue_fence_init(&fence.ready);
|
||||
|
||||
fd_submit_flush(submit, -1, &fence);
|
||||
|
||||
util_queue_fence_wait(&fence.ready);
|
||||
|
||||
for (int i = 0; i < kernel->num_bufs; i++) {
|
||||
fd_bo_cpu_prep(kernel->bufs[i], pipe, FD_BO_PREP_READ);
|
||||
|
|
|
@ -173,9 +173,14 @@ flush_ring(void)
|
|||
if (!dev.submit)
|
||||
return;
|
||||
|
||||
struct fd_submit_fence fence = {};
|
||||
util_queue_fence_init(&fence.ready);
|
||||
|
||||
ret = fd_submit_flush(dev.submit, -1, NULL);
|
||||
|
||||
if (ret)
|
||||
errx(1, "submit failed: %d", ret);
|
||||
util_queue_fence_wait(&fence.ready);
|
||||
fd_ringbuffer_del(dev.ring);
|
||||
fd_submit_del(dev.submit);
|
||||
|
||||
|
|
Loading…
Reference in New Issue