zink: compare against screen batch id when determining which semaphore to use

semaphores are per-screen now, so check the screen value

Fixes: fa36a16c68 ("zink: make timeline semaphores per-screen")

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10267>
This commit is contained in:
Mike Blumenkrantz 2021-04-15 15:46:36 -04:00 committed by Marge Bot
parent 20e2c7308f
commit 5b9c3cb7b9

View file

@ -1956,7 +1956,7 @@ timeline_wait(struct zink_context *ctx, uint32_t batch_id, uint64_t timeout)
wi.sType = VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO;
wi.semaphoreCount = 1;
/* handle batch_id overflow */
wi.pSemaphores = batch_id > ctx->curr_batch ? &screen->prev_sem : &screen->sem;
wi.pSemaphores = batch_id > screen->curr_batch ? &screen->prev_sem : &screen->sem;
uint64_t batch_id64 = batch_id;
wi.pValues = &batch_id64;
bool success = false;