diff options
Diffstat (limited to 'lib/mesa/src/gallium/drivers/zink/zink_kopper.c')
-rw-r--r-- | lib/mesa/src/gallium/drivers/zink/zink_kopper.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/mesa/src/gallium/drivers/zink/zink_kopper.c b/lib/mesa/src/gallium/drivers/zink/zink_kopper.c index 6070abb39..a67b7566a 100644 --- a/lib/mesa/src/gallium/drivers/zink/zink_kopper.c +++ b/lib/mesa/src/gallium/drivers/zink/zink_kopper.c @@ -297,7 +297,6 @@ kopper_CreateSwapchain(struct zink_screen *screen, struct kopper_displaytarget * *result = error; return NULL; } - cswap->max_acquires = cswap->scci.minImageCount - cdt->caps.minImageCount; cswap->last_present = UINT32_MAX; *result = VK_SUCCESS; @@ -320,6 +319,7 @@ kopper_GetSwapchainImages(struct zink_screen *screen, struct kopper_swapchain *c for (unsigned i = 0; i < cswap->num_images; i++) cswap->images[i].image = images[i]; } + cswap->max_acquires = cswap->num_images - cswap->scci.minImageCount + 1; return error; } @@ -490,7 +490,7 @@ kopper_acquire(struct zink_screen *screen, struct zink_resource *res, uint64_t t res->obj->access_stage = 0; } if (timeout == UINT64_MAX && util_queue_is_initialized(&screen->flush_queue) && - p_atomic_read_relaxed(&cdt->swapchain->num_acquires) > cdt->swapchain->max_acquires) { + p_atomic_read_relaxed(&cdt->swapchain->num_acquires) >= cdt->swapchain->max_acquires) { util_queue_fence_wait(&cdt->present_fence); } VkSemaphoreCreateInfo sci = { |