Plasma Engine  2.0
Loading...
Searching...
No Matches
plGALSwapChainVulkan Class Reference
Inheritance diagram for plGALSwapChainVulkan:

Public Member Functions

virtual void AcquireNextRenderTarget (plGALDevice *pDevice) override
 
virtual void PresentRenderTarget (plGALDevice *pDevice) override
 
virtual plResult UpdateSwapChain (plGALDevice *pDevice, plEnum< plGALPresentMode > newPresentMode) override
 
PL_ALWAYS_INLINE vk::SwapchainKHR GetVulkanSwapChain () const
 
- Public Member Functions inherited from plGALWindowSwapChain
const plGALWindowSwapChainCreationDescriptionGetWindowDescription () const
 
- Public Member Functions inherited from plGALSwapChain
const plGALRenderTargetsGetRenderTargets () const
 
plGALTextureHandle GetBackBufferTexture () const
 
plSizeU32 GetCurrentSize () const
 
- Public Member Functions inherited from plGALObject< plGALSwapChainCreationDescription >
 plGALObject (const plGALSwapChainCreationDescription &description)
 
PL_ALWAYS_INLINE const plGALSwapChainCreationDescriptionGetDescription () const
 
- Public Member Functions inherited from plRefCounted
virtual ~plRefCounted ()=default
 Adds a virtual destructor.
 
- Public Member Functions inherited from plRefCountingImpl
 plRefCountingImpl ()=default
 Constructor.
 
 plRefCountingImpl (const plRefCountingImpl &rhs)
 
void operator= (const plRefCountingImpl &rhs)
 
plInt32 AddRef () const
 Increments the reference counter. Returns the new reference count.
 
plInt32 ReleaseRef () const
 Decrements the reference counter. Returns the new reference count.
 
bool IsReferenced () const
 Returns true if the reference count is greater than 0, false otherwise.
 
plInt32 GetRefCount () const
 Returns the current reference count.
 

Protected Member Functions

 plGALSwapChainVulkan (const plGALWindowSwapChainCreationDescription &Description)
 
virtual plResult InitPlatform (plGALDevice *pDevice) override
 
plResult CreateSwapChainInternal ()
 
void DestroySwapChainInternal (plGALDeviceVulkan *pVulkanDevice)
 
virtual plResult DeInitPlatform (plGALDevice *pDevice) override
 
- Protected Member Functions inherited from plGALWindowSwapChain
 plGALWindowSwapChain (const plGALWindowSwapChainCreationDescription &Description)
 
- Protected Member Functions inherited from plGALSwapChain
 plGALSwapChain (const plRTTI *pSwapChainType)
 

Protected Attributes

plGALDeviceVulkanm_pVulkanDevice = nullptr
 
plEnum< plGALPresentModem_currentPresentMode
 
vk::SurfaceKHR m_vulkanSurface
 
vk::SwapchainKHR m_vulkanSwapChain
 
plHybridArray< vk::Image, 3 > m_swapChainImages
 
plHybridArray< plGALTextureHandle, 3 > m_swapChainTextures
 
plUInt32 m_uiCurrentSwapChainImage = 0
 
vk::Semaphore m_currentPipelineImageAvailableSemaphore
 
- Protected Attributes inherited from plGALWindowSwapChain
plGALWindowSwapChainCreationDescription m_WindowDesc
 
- Protected Attributes inherited from plGALSwapChain
plGALRenderTargets m_RenderTargets
 
plSizeU32 m_CurrentSize = {}
 
- Protected Attributes inherited from plGALObject< plGALSwapChainCreationDescription >
const plGALSwapChainCreationDescription m_Description
 

Friends

class plGALDeviceVulkan
 
class plMemoryUtils
 

Additional Inherited Members

- Public Types inherited from plGALWindowSwapChain
using Functor = plDelegate<plGALSwapChainHandle(const plGALWindowSwapChainCreationDescription&)>
 
- Static Public Member Functions inherited from plGALWindowSwapChain
static void SetFactoryMethod (Functor factory)
 
static plGALSwapChainHandle Create (const plGALWindowSwapChainCreationDescription &desc)
 
- Static Protected Attributes inherited from plGALWindowSwapChain
static Functor s_Factory
 

Member Function Documentation

◆ AcquireNextRenderTarget()

void plGALSwapChainVulkan::AcquireNextRenderTarget ( plGALDevice * pDevice)
overridevirtual

Implements plGALSwapChain.

◆ DeInitPlatform()

plResult plGALSwapChainVulkan::DeInitPlatform ( plGALDevice * pDevice)
overrideprotectedvirtual

Implements plGALSwapChain.

◆ InitPlatform()

plResult plGALSwapChainVulkan::InitPlatform ( plGALDevice * pDevice)
overrideprotectedvirtual

Implements plGALSwapChain.

◆ PresentRenderTarget()

void plGALSwapChainVulkan::PresentRenderTarget ( plGALDevice * pDevice)
overridevirtual

Implements plGALSwapChain.

◆ UpdateSwapChain()

plResult plGALSwapChainVulkan::UpdateSwapChain ( plGALDevice * pDevice,
plEnum< plGALPresentMode > newPresentMode )
overridevirtual

Implements plGALSwapChain.


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