From 8d3ac89f97ebadbac53fb97fdf759091b250c66c Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 30 Aug 2023 16:07:02 -0400 Subject: [PATCH] zink: add another submitinfo for fd semaphore waits these are semaphores created with VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT and can't be cached with the others Part-of: --- src/gallium/drivers/zink/zink_batch.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/zink/zink_batch.c b/src/gallium/drivers/zink/zink_batch.c index e01bb13b889..b82e549e7f6 100644 --- a/src/gallium/drivers/zink/zink_batch.c +++ b/src/gallium/drivers/zink/zink_batch.c @@ -540,6 +540,7 @@ post_submit(void *data, void *gdata, int thread_index) typedef enum { ZINK_SUBMIT_WAIT_ACQUIRE, + ZINK_SUBMIT_WAIT_FD, ZINK_SUBMIT_CMDBUF, ZINK_SUBMIT_SIGNAL, ZINK_SUBMIT_MAX @@ -573,8 +574,12 @@ submit_queue(void *data, void *gdata, int thread_index) si[ZINK_SUBMIT_WAIT_ACQUIRE].pWaitDstStageMask = bs->acquire_flags.data; if (si[ZINK_SUBMIT_WAIT_ACQUIRE].waitSemaphoreCount == 0) { - num_si--; - submit++; + num_si--; + submit++; + if (si[ZINK_SUBMIT_WAIT_FD].waitSemaphoreCount == 0) { + num_si--; + submit++; + } } /* then the real submit */