The implementation of a swapchain at a specific size. Resizes to the surface will cause the instance of the swapchain impl at that size to be discarded along with all its caches and transients. More...
#include <ahb_swapchain_impl_vk.h>
Public Member Functions | |
~AHBSwapchainImplVK () | |
AHBSwapchainImplVK (const AHBSwapchainImplVK &)=delete | |
AHBSwapchainImplVK & | operator= (const AHBSwapchainImplVK &)=delete |
const ISize & | GetSize () const |
bool | IsValid () const |
const android::HardwareBufferDescriptor & | GetDescriptor () const |
Get the descriptor used to create the hardware buffers that will be displayed on the surface control. More... | |
std::unique_ptr< Surface > | AcquireNextDrawable () |
Acquire the next surface that can be used to present to the swapchain. More... | |
void | AddFinalCommandBuffer (std::shared_ptr< CommandBuffer > cmd_buffer) |
Static Public Member Functions | |
static std::shared_ptr< AHBSwapchainImplVK > | Create (const std::weak_ptr< Context > &context, std::weak_ptr< android::SurfaceControl > surface_control, const CreateTransactionCB &cb, const ISize &size, bool enable_msaa) |
Create a swapchain of a specific size whose images will be presented to the provided surface control. More... | |
The implementation of a swapchain at a specific size. Resizes to the surface will cause the instance of the swapchain impl at that size to be discarded along with all its caches and transients.
Definition at line 50 of file ahb_swapchain_impl_vk.h.
|
default |
|
delete |
Referenced by Create().
std::unique_ptr< Surface > impeller::AHBSwapchainImplVK::AcquireNextDrawable | ( | ) |
Acquire the next surface that can be used to present to the swapchain.
Definition at line 120 of file ahb_swapchain_impl_vk.cc.
References impeller::BackendCast< ContextVK, Context >::Cast(), impeller::ContextVK::GetDevice(), impeller::ContextVK::GetGPUTracer(), impeller::kMaxPendingPresents, VALIDATION_LOG, and impeller::SurfaceVK::WrapSwapchainImage().
void impeller::AHBSwapchainImplVK::AddFinalCommandBuffer | ( | std::shared_ptr< CommandBuffer > | cmd_buffer | ) |
Definition at line 222 of file ahb_swapchain_impl_vk.cc.
|
static |
Create a swapchain of a specific size whose images will be presented to the provided surface control.
[in] | context | The context whose allocators will be used to create swapchain image resources. |
[in] | surface_control | The surface control to which the swapchain images will be presented. |
[in] | size | The size of the swapchain images. This is constant for the lifecycle of the swapchain impl. |
[in] | enable_msaa | If the swapchain images will be presented using a render target that enables MSAA. This allows for additional caching of transients. |
nullptr
otherwise. Definition at line 66 of file ahb_swapchain_impl_vk.cc.
References AHBSwapchainImplVK().
Referenced by impeller::AHBSwapchainVK::UpdateSurfaceSize().
const android::HardwareBufferDescriptor & impeller::AHBSwapchainImplVK::GetDescriptor | ( | ) | const |
Get the descriptor used to create the hardware buffers that will be displayed on the surface control.
Definition at line 115 of file ahb_swapchain_impl_vk.cc.
const ISize & impeller::AHBSwapchainImplVK::GetSize | ( | ) | const |
Definition at line 107 of file ahb_swapchain_impl_vk.cc.
References impeller::android::HardwareBufferDescriptor::size.
bool impeller::AHBSwapchainImplVK::IsValid | ( | ) | const |
Definition at line 111 of file ahb_swapchain_impl_vk.cc.
|
delete |