Vulkan: Move swapchain related members from Renderer to SwapChain

This commit is contained in:
Stenzek
2019-01-27 12:59:57 +10:00
parent bd66db049a
commit e2cf238ec4
4 changed files with 85 additions and 94 deletions

View File

@ -53,8 +53,12 @@ public:
{
return m_swap_chain_images[m_current_swap_chain_image_index].framebuffer;
}
VkRenderPass GetLoadRenderPass() const { return m_render_pass; }
VkRenderPass GetClearRenderPass() const { return m_clear_render_pass; }
VkSemaphore GetImageAvailableSemaphore() const { return m_image_available_semaphore; }
VkSemaphore GetRenderingFinishedSemaphore() const { return m_rendering_finished_semaphore; }
VkResult AcquireNextImage(VkSemaphore available_semaphore);
VkResult AcquireNextImage();
bool RecreateSurface(void* native_handle);
bool ResizeSwapChain();
@ -64,6 +68,9 @@ public:
bool SetVSync(bool enabled);
private:
bool CreateSemaphores();
void DestroySemaphores();
bool SelectSurfaceFormat();
bool SelectPresentMode();
@ -94,6 +101,12 @@ private:
std::vector<SwapChainImage> m_swap_chain_images;
u32 m_current_swap_chain_image_index = 0;
VkSemaphore m_image_available_semaphore = VK_NULL_HANDLE;
VkSemaphore m_rendering_finished_semaphore = VK_NULL_HANDLE;
VkRenderPass m_render_pass = VK_NULL_HANDLE;
VkRenderPass m_clear_render_pass = VK_NULL_HANDLE;
u32 m_width = 0;
u32 m_height = 0;
u32 m_layers = 0;