Lines Matching defs:swapchain
513 struct wsi_swapchain *swapchain;
522 &swapchain);
526 swapchain->fences = vk_zalloc(alloc,
527 sizeof (*swapchain->fences) * swapchain->image_count,
528 sizeof (*swapchain->fences),
530 if (!swapchain->fences) {
531 swapchain->destroy(swapchain, alloc);
535 *pSwapchain = wsi_swapchain_to_handle(swapchain);
546 VK_FROM_HANDLE(wsi_swapchain, swapchain, _swapchain);
549 if (!swapchain)
557 swapchain->destroy(swapchain, alloc);
565 VK_FROM_HANDLE(wsi_swapchain, swapchain, _swapchain);
568 for (uint32_t i = 0; i < swapchain->image_count; i++) {
570 *image = swapchain->get_wsi_image(swapchain, i)->image;
579 VkSwapchainKHR swapchain,
583 return wsi_common_get_images(swapchain,
590 VkSwapchainKHR swapchain,
600 .swapchain = swapchain,
617 VK_FROM_HANDLE(wsi_swapchain, swapchain, pAcquireInfo->swapchain);
619 VkResult result = swapchain->acquire_next_image(swapchain, pAcquireInfo,
625 VkDeviceMemory mem = swapchain->get_wsi_image(swapchain, *pImageIndex)->memory;
626 wsi->set_memory_ownership(swapchain->device, mem, true);
632 swapchain->get_wsi_image(swapchain, *pImageIndex);
640 swapchain->get_wsi_image(swapchain, *pImageIndex);
672 VK_FROM_HANDLE(wsi_swapchain, swapchain, pPresentInfo->pSwapchains[i]);
676 if (swapchain->fences[image_index] == VK_NULL_HANDLE) {
683 &swapchain->alloc,
684 &swapchain->fences[image_index]);
689 wsi->WaitForFences(device, 1, &swapchain->fences[image_index],
695 wsi->ResetFences(device, 1, &swapchain->fences[image_index]);
701 swapchain->get_wsi_image(swapchain, image_index);
723 stage_flags = vk_alloc(&swapchain->alloc,
738 if (swapchain->use_prime_blit) {
748 result = wsi->QueueSubmit(queue, 1, &submit_info, swapchain->fences[image_index]);
749 vk_free(&swapchain->alloc, stage_flags);
754 wsi->WaitForFences(device, 1, &swapchain->fences[image_index],
761 result = swapchain->queue_present(swapchain, image_index, region);
766 VkDeviceMemory mem = swapchain->get_wsi_image(swapchain, image_index)->memory;
767 wsi->set_memory_ownership(swapchain->device, mem, false);