Skip to content
Snippets Groups Projects
Commit edc6606d authored by Lionel Landwerlin's avatar Lionel Landwerlin
Browse files

anv/wsi: signal the semaphore in the acquireNextImage


We seem to have forgotten about the semaphore in the
acquireNextImageInfo.

v2: Signal semaphore/fence regardless of presentation status (Jason)

Signed-off-by: default avatarLionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: <mesa-stable@lists.freedesktop.org>
Reviewed-by: default avatarJason Ekstrand <jason@jlekstrand.net>
parent b10b455c
No related branches found
No related tags found
Loading
......@@ -247,12 +247,28 @@ VkResult anv_AcquireNextImage2KHR(
pAcquireInfo,
pImageIndex);
/* Thanks to implicit sync, the image is ready immediately. However, we
* should wait for the current GPU state to finish.
/* Thanks to implicit sync, the image is ready immediately. However, we
* should wait for the current GPU state to finish. Regardless of the
* result of the presentation, we need to signal the semaphore & fence.
*/
if (pAcquireInfo->semaphore != VK_NULL_HANDLE) {
/* Put a dummy semaphore in temporary, this is the fastest way to avoid
* any kind of work yet still provide some kind of synchronization. This
* only works because the Mesa WSI code always returns an image
* immediately if available.
*/
ANV_FROM_HANDLE(anv_semaphore, semaphore, pAcquireInfo->semaphore);
anv_semaphore_reset_temporary(device, semaphore);
struct anv_semaphore_impl *impl = &semaphore->temporary;
impl->type = ANV_SEMAPHORE_TYPE_DUMMY;
}
if (pAcquireInfo->fence != VK_NULL_HANDLE) {
anv_QueueSubmit(anv_queue_to_handle(&device->queue), 0, NULL,
pAcquireInfo->fence);
result = anv_QueueSubmit(anv_queue_to_handle(&device->queue),
0, NULL, pAcquireInfo->fence);
}
return result;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment