Flutter Engine
The Flutter Engine
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
impeller::SwapchainVK Class Referenceabstract

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>

Inheritance diagram for impeller::SwapchainVK:
impeller::AHBSwapchainVK impeller::KHRSwapchainVK

Public Member Functions

virtual ~SwapchainVK ()
 
 SwapchainVK (const SwapchainVK &)=delete
 
SwapchainVKoperator= (const SwapchainVK &)=delete
 
virtual bool IsValid () const =0
 
virtual std::unique_ptr< SurfaceAcquireNextDrawable ()=0
 
virtual vk::Format GetSurfaceFormat () 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< SwapchainVKCreate (const std::shared_ptr< Context > &context, vk::UniqueSurfaceKHR surface, const ISize &size, bool enable_msaa=true)
 

Protected Member Functions

 SwapchainVK ()
 

Detailed Description

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 28 of file swapchain_vk.h.

Constructor & Destructor Documentation

◆ ~SwapchainVK()

impeller::SwapchainVK::~SwapchainVK ( )
virtualdefault

◆ SwapchainVK() [1/2]

impeller::SwapchainVK::SwapchainVK ( const SwapchainVK )
delete

◆ SwapchainVK() [2/2]

impeller::SwapchainVK::SwapchainVK ( )
protecteddefault

Member Function Documentation

◆ AcquireNextDrawable()

virtual std::unique_ptr< Surface > impeller::SwapchainVK::AcquireNextDrawable ( )
pure virtual

◆ Create()

std::shared_ptr< SwapchainVK > impeller::SwapchainVK::Create ( const std::shared_ptr< Context > &  context,
vk::UniqueSurfaceKHR  surface,
const ISize size,
bool  enable_msaa = true 
)
static

Definition at line 18 of file swapchain_vk.cc.

22 {
23 auto swapchain = std::shared_ptr<KHRSwapchainVK>(
24 new KHRSwapchainVK(context, std::move(surface), size, enable_msaa));
25 if (!swapchain->IsValid()) {
26 VALIDATION_LOG << "Could not create valid swapchain.";
27 return nullptr;
28 }
29 return swapchain;
30}
VkSwapchainKHR swapchain
Definition: main.cc:64
VkSurfaceKHR surface
Definition: main.cc:49
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive keep the shell running after the Dart script has completed enable serial On low power devices with low core running concurrent GC tasks on threads can cause them to contend with the UI thread which could potentially lead to jank This option turns off all concurrent GC activities domain network JSON encoded network policy per domain This overrides the DisallowInsecureConnections switch Embedder can specify whether to allow or disallow insecure connections at a domain level old gen heap size
Definition: switches.h:259
#define VALIDATION_LOG
Definition: validation.h:73

◆ GetSurfaceFormat()

virtual vk::Format impeller::SwapchainVK::GetSurfaceFormat ( ) const
pure virtual

◆ IsValid()

virtual bool impeller::SwapchainVK::IsValid ( ) const
pure virtual

◆ operator=()

SwapchainVK & impeller::SwapchainVK::operator= ( const SwapchainVK )
delete

◆ UpdateSurfaceSize()

virtual void impeller::SwapchainVK::UpdateSurfaceSize ( const ISize size)
pure virtual

Mark the current swapchain configuration as dirty, forcing it to be recreated on the next frame.

Implemented in impeller::AHBSwapchainVK, and impeller::KHRSwapchainVK.


The documentation for this class was generated from the following files: