A swapchain that adapts to the underlying surface going out of date. If the caller cannot acquire the next drawable, it is due to an unrecoverable error and the swapchain must be recreated with a new surface. More...
#include <swapchain_vk.h>
Public Member Functions | |
virtual | ~SwapchainVK () |
SwapchainVK (const SwapchainVK &)=delete | |
SwapchainVK & | operator= (const SwapchainVK &)=delete |
virtual bool | IsValid () const =0 |
virtual std::unique_ptr< Surface > | AcquireNextDrawable ()=0 |
virtual vk::Format | GetSurfaceFormat () const =0 |
virtual void | AddFinalCommandBuffer (std::shared_ptr< CommandBuffer > cmd_buffer) const =0 |
virtual void | UpdateSurfaceSize (const ISize &size)=0 |
Mark the current swapchain configuration as dirty, forcing it to be recreated on the next frame. More... | |
Static Public Member Functions | |
static std::shared_ptr< SwapchainVK > | Create (const std::shared_ptr< Context > &context, vk::UniqueSurfaceKHR surface, const ISize &size, bool enable_msaa=true) |
Protected Member Functions | |
SwapchainVK () | |
A swapchain that adapts to the underlying surface going out of date. If the caller cannot acquire the next drawable, it is due to an unrecoverable error and the swapchain must be recreated with a new surface.
Definition at line 34 of file swapchain_vk.h.
|
virtualdefault |
|
delete |
|
protecteddefault |
|
pure virtual |
Implemented in impeller::KHRSwapchainVK, and impeller::AHBSwapchainVK.
|
pure virtual |
Implemented in impeller::KHRSwapchainVK, and impeller::AHBSwapchainVK.
|
static |
Definition at line 18 of file swapchain_vk.cc.
References VALIDATION_LOG.
Referenced by impeller::SurfaceContextVK::SetWindowSurface(), and impeller::interop::SwapchainVK::SwapchainVK().
|
pure virtual |
Implemented in impeller::KHRSwapchainVK, and impeller::AHBSwapchainVK.
|
pure virtual |
Implemented in impeller::KHRSwapchainVK, and impeller::AHBSwapchainVK.
|
delete |
|
pure virtual |
Mark the current swapchain configuration as dirty, forcing it to be recreated on the next frame.
Implemented in impeller::KHRSwapchainVK, and impeller::AHBSwapchainVK.