mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 09:18:04 +02:00
zink: fix max acquired image count
according to spec, the maximum number of acquired images can be calculated with
swapchain_size - VkSurfaceCapabilitiesKHR::minImageCount + 1
the previous calculation was both wrong and occurring in the wrong place,
so this corrects both issues
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21095>
(cherry picked from commit 89cf0a3bdc)
This commit is contained in:
parent
5985fbbbd1
commit
51e8278bc6
2 changed files with 3 additions and 3 deletions
|
|
@ -121,7 +121,7 @@
|
|||
"description": "zink: fix max acquired image count",
|
||||
"nominated": true,
|
||||
"nomination_type": 0,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": null
|
||||
},
|
||||
|
|
|
|||
|
|
@ -309,7 +309,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;
|
||||
|
|
@ -332,6 +331,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;
|
||||
}
|
||||
|
||||
|
|
@ -508,7 +508,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 = {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue