An instance of a swapchain that does NOT adapt to going out of date with the underlying surface. Errors will be indicated when the next drawable is acquired from this implementation of the swapchain. If the error is due the swapchain going out of date, the caller must recreate another instance by optionally stealing this implementations guts. More...
#include <swapchain_impl_vk.h>
Classes | |
| struct | AcquireResult |
Public Member Functions | |
| ~SwapchainImplVK () | |
| bool | IsValid () const |
| AcquireResult | AcquireNextDrawable () |
| vk::Format | GetSurfaceFormat () const |
| vk::SurfaceTransformFlagBitsKHR | GetLastTransform () const |
| std::shared_ptr< Context > | GetContext () const |
| std::pair< vk::UniqueSurfaceKHR, vk::UniqueSwapchainKHR > | DestroySwapchain () |
Static Public Member Functions | |
| static std::shared_ptr< SwapchainImplVK > | Create (const std::shared_ptr< Context > &context, vk::UniqueSurfaceKHR surface, vk::SwapchainKHR old_swapchain=VK_NULL_HANDLE, vk::SurfaceTransformFlagBitsKHR last_transform=vk::SurfaceTransformFlagBitsKHR::eIdentity) |
An instance of a swapchain that does NOT adapt to going out of date with the underlying surface. Errors will be indicated when the next drawable is acquired from this implementation of the swapchain. If the error is due the swapchain going out of date, the caller must recreate another instance by optionally stealing this implementations guts.
Definition at line 31 of file swapchain_impl_vk.h.
| impeller::SwapchainImplVK::~SwapchainImplVK | ( | ) |
Definition at line 302 of file swapchain_impl_vk.cc.
References DestroySwapchain().
| SwapchainImplVK::AcquireResult impeller::SwapchainImplVK::AcquireNextDrawable | ( | ) |
Wait on the host for the synchronizer fence.
Poll to see if the orientation has changed.
https://developer.android.com/games/optimize/vulkan-prerotation#using_polling
Get the next image index.
Record all subsequent cmd buffers as part of the current frame.
Definition at line 339 of file swapchain_impl_vk.cc.
References impeller::BackendCast< ContextVK, Context >::Cast(), impeller::kPollFramesForOrientation, and VALIDATION_LOG.
|
static |
Definition at line 140 of file swapchain_impl_vk.cc.
Referenced by impeller::SwapchainVK::AcquireNextDrawable(), and impeller::SwapchainVK::Create().
| std::pair< vk::UniqueSurfaceKHR, vk::UniqueSwapchainKHR > impeller::SwapchainImplVK::DestroySwapchain | ( | ) |
| std::shared_ptr< Context > impeller::SwapchainImplVK::GetContext | ( | ) | const |
Definition at line 335 of file swapchain_impl_vk.cc.
| vk::SurfaceTransformFlagBitsKHR impeller::SwapchainImplVK::GetLastTransform | ( | ) | const |
Definition at line 331 of file swapchain_impl_vk.cc.
| vk::Format impeller::SwapchainImplVK::GetSurfaceFormat | ( | ) | const |
Definition at line 327 of file swapchain_impl_vk.cc.
| bool impeller::SwapchainImplVK::IsValid | ( | ) | const |
Definition at line 306 of file swapchain_impl_vk.cc.