Lines Matching refs:swapchain
769 struct wsi_swapchain *swapchain;
778 &swapchain);
782 swapchain->fences = vk_zalloc(alloc,
783 sizeof (*swapchain->fences) * swapchain->image_count,
784 sizeof (*swapchain->fences),
786 if (!swapchain->fences) {
787 swapchain->destroy(swapchain, alloc);
791 if (swapchain->buffer_blit_queue != VK_NULL_HANDLE) {
792 swapchain->buffer_blit_semaphores = vk_zalloc(alloc,
793 sizeof (*swapchain->buffer_blit_semaphores) * swapchain->image_count,
794 sizeof (*swapchain->buffer_blit_semaphores),
796 if (!swapchain->buffer_blit_semaphores) {
797 swapchain->destroy(swapchain, alloc);
802 *pSwapchain = wsi_swapchain_to_handle(swapchain);
813 VK_FROM_HANDLE(wsi_swapchain, swapchain, _swapchain);
816 if (!swapchain)
824 swapchain->destroy(swapchain, alloc);
832 VK_FROM_HANDLE(wsi_swapchain, swapchain, _swapchain);
835 for (uint32_t i = 0; i < swapchain->image_count; i++) {
837 *image = swapchain->get_wsi_image(swapchain, i)->image;
847 VK_FROM_HANDLE(wsi_swapchain, swapchain, _swapchain);
848 assert(index < swapchain->image_count);
849 return swapchain->get_wsi_image(swapchain, index)->image;
854 VkSwapchainKHR swapchain,
858 return wsi_common_get_images(swapchain,
865 VkSwapchainKHR swapchain,
875 .swapchain = swapchain,
956 VK_FROM_HANDLE(wsi_swapchain, swapchain, pAcquireInfo->swapchain);
959 VkResult result = swapchain->acquire_next_image(swapchain, pAcquireInfo,
964 swapchain->get_wsi_image(swapchain, *pImageIndex);
968 wsi_signal_semaphore_for_image(device, swapchain, image,
976 wsi_signal_fence_for_image(device, swapchain, image,
983 wsi->set_memory_ownership(swapchain->device, image->memory, true);
1017 VK_FROM_HANDLE(wsi_swapchain, swapchain, pPresentInfo->pSwapchains[i]);
1021 if (swapchain->fences[image_index] == VK_NULL_HANDLE) {
1028 &swapchain->alloc,
1029 &swapchain->fences[image_index]);
1033 if (swapchain->use_buffer_blit && swapchain->buffer_blit_queue != VK_NULL_HANDLE) {
1040 &swapchain->alloc,
1041 &swapchain->buffer_blit_semaphores[image_index]);
1047 wsi->WaitForFences(device, 1, &swapchain->fences[image_index],
1053 result = wsi->ResetFences(device, 1, &swapchain->fences[image_index]);
1071 swapchain->get_wsi_image(swapchain, image_index);
1074 if (swapchain->use_buffer_blit) {
1075 if (swapchain->buffer_blit_queue == VK_NULL_HANDLE) {
1087 &swapchain->buffer_blit_semaphores[image_index];
1096 submit_queue = swapchain->buffer_blit_queue;
1107 VkFence fence = swapchain->fences[image_index];
1111 result = wsi_prepare_signal_dma_buf_from_semaphore(swapchain, image);
1115 submit_info.pSignalSemaphores = &swapchain->dma_buf_semaphore;
1145 result = wsi_signal_dma_buf_from_semaphore(swapchain, image);
1154 wsi->WaitForFences(device, 1, &swapchain->fences[image_index],
1161 result = swapchain->queue_present(swapchain, image_index, region);
1166 VkDeviceMemory mem = swapchain->get_wsi_image(swapchain, image_index)->memory;
1167 wsi->set_memory_ownership(swapchain->device, mem, false);