Просмотр исходного кода

renderer_vulkan/wrapper: Add swapchain handle

ReinUsesLisp 6 лет назад
Родитель
Сommit
11774308d3

+ 8 - 0
src/video_core/renderer_vulkan/wrapper.cpp

@@ -460,4 +460,12 @@ CommandBuffers CommandPool::Allocate(std::size_t num_buffers, VkCommandBufferLev
     }
 }
 
+std::vector<VkImage> SwapchainKHR::GetImages() const {
+    u32 num;
+    Check(dld->vkGetSwapchainImagesKHR(owner, handle, &num, nullptr));
+    std::vector<VkImage> images(num);
+    Check(dld->vkGetSwapchainImagesKHR(owner, handle, &num, images.data()));
+    return images;
+}
+
 } // namespace Vulkan::vk

+ 7 - 0
src/video_core/renderer_vulkan/wrapper.h

@@ -647,4 +647,11 @@ public:
                             VkCommandBufferLevel level = VK_COMMAND_BUFFER_LEVEL_PRIMARY) const;
 };
 
+class SwapchainKHR : public Handle<VkSwapchainKHR, VkDevice, DeviceDispatch> {
+    using Handle<VkSwapchainKHR, VkDevice, DeviceDispatch>::Handle;
+
+public:
+    std::vector<VkImage> GetImages() const;
+};
+
 } // namespace Vulkan::vk