XII Release 0.1.0
Loading...
Searching...
No Matches
xiiGALSwapChainVulkan Class Referencefinal
Inheritance diagram for xiiGALSwapChainVulkan:
[legend]

Public Member Functions

virtual void Present () override final
 This presents a rendered image to the screen. Additionally, acquires the next render target for presenting on where supported.
 
virtual xiiResult Resize (xiiSizeU32 newSize, xiiEnum< xiiGALSurfaceTransform > newTransform=xiiGALSurfaceTransform::Optimal) override final
 This changes the swap chain size.
 
virtual void SetFullScreenMode (const xiiGALDisplayModeDescription &displayMode) override final
 This sets the swap chain to full screen mode. Note that this is only supported on the Windows platform.
 
virtual void SetWindowedMode () override final
 This sets the swap chain to windowed mode. Note that this is only supported on the Windows platform.
 
virtual void SetMaximumFrameLatency (xiiUInt32 uiMaxLatency) override final
 This sets the maximum number of frames that the swap chain is allowed to queue for rendering.
 
- Public Member Functions inherited from xiiGALSwapChain
XII_ALWAYS_INLINE const xiiGALSwapChainCreationDescriptionGetDescription () const
 This returns the creation description for this object.
 
XII_ALWAYS_INLINE xiiSharedPtr< xiiGALTextureGetBackBufferTexture () const
 This retrieves the current back buffer texture.
 
XII_ALWAYS_INLINE xiiSizeU32 GetCurrentSize () const
 This retrieves the current swap chain size.
 
XII_ALWAYS_INLINE void SetPresentMode (xiiEnum< xiiGALPresentMode > presentMode)
 This sets the present mode.
 
XII_ALWAYS_INLINE xiiEnum< xiiGALPresentModeGetPresentMode () const
 This retrieves the current present mode.
 
- Public Member Functions inherited from xiiGALDeviceObject
XII_ALWAYS_INLINE xiiSharedPtr< xiiGALDeviceGetDevice () const
 Returns the xiiGALDevice that created this resource.
 
- Public Member Functions inherited from xiiGALObject
XII_ALWAYS_INLINE xiiStringView GetDebugName () const
 Returns the debug name of this resource.
 
void SetDebugName (xiiStringView sDebugName) const
 Sets the debug name for this resource.
 
- Public Member Functions inherited from xiiReflectedClass
virtual const xiiRTTIGetDynamicRTTI () const
 
bool IsInstanceOf (const xiiRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T>
XII_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.
 
- Public Member Functions inherited from xiiRefCounted
virtual ~xiiRefCounted ()=default
 Adds a virtual destructor.
 
- Public Member Functions inherited from xiiRefCountingImpl
 xiiRefCountingImpl ()=default
 Constructor.
 
 xiiRefCountingImpl (const xiiRefCountingImpl &rhs)
 
void operator= (const xiiRefCountingImpl &rhs)
 
xiiUInt32 AddRef () const
 Increments the reference counter. Returns the new reference count.
 
xiiUInt32 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.
 
xiiUInt32 GetRefCount () const
 Returns the current reference count.
 

Friends

class xiiGALDeviceVulkan
 
class xiiMemoryUtils
 
class xiiGALTexture
 

Additional Inherited Members

- Static Public Member Functions inherited from xiiNoBase
static const xiiRTTIGetStaticRTTI ()
 
- Protected Member Functions inherited from xiiGALSwapChain
 xiiGALSwapChain (xiiSharedPtr< xiiGALDevice > pDevice, const xiiGALSwapChainCreationDescription &creationDescription)
 
- Protected Member Functions inherited from xiiGALDeviceObject
 xiiGALDeviceObject (xiiSharedPtr< xiiGALDevice > pDevice)
 
- Protected Attributes inherited from xiiGALSwapChain
xiiSharedPtr< xiiGALTexturem_pBackBufferTexture
 
xiiEnum< xiiGALPresentModem_PresentMode = xiiGALPresentMode::VSync
 
xiiGALSwapChainCreationDescription m_Description
 
xiiEnum< xiiGALSurfaceTransformm_DesiredSurfaceTransform = xiiGALSurfaceTransform::Optimal
 
- Protected Attributes inherited from xiiGALDeviceObject
xiiSharedPtr< xiiGALDevicem_pDevice
 

Member Function Documentation

◆ InitPlatform()

xiiResult xiiGALSwapChainVulkan::InitPlatform ( )
finaloverrideprivatevirtual

Implements xiiGALSwapChain.

◆ Present()

void xiiGALSwapChainVulkan::Present ( )
finaloverridevirtual

This presents a rendered image to the screen. Additionally, acquires the next render target for presenting on where supported.

Implements xiiGALSwapChain.

◆ Resize()

xiiResult xiiGALSwapChainVulkan::Resize ( xiiSizeU32 newSize,
xiiEnum< xiiGALSurfaceTransform > newTransform = xiiGALSurfaceTransform::Optimal )
finaloverridevirtual

This changes the swap chain size.

Parameters
newSize- The new logical swap chain width and height (not accounting for the pre-transform), in pixels.
newTransform- The new surface transform.
Note
When resizing non-primary swap chains, the engine unbinds the swap chain buffers from the output.

Implements xiiGALSwapChain.

◆ SetDebugNamePlatform()

void xiiGALSwapChainVulkan::SetDebugNamePlatform ( xiiStringView sName) const
finaloverrideprivatevirtual

Reimplemented from xiiGALObject.

◆ SetFullScreenMode()

void xiiGALSwapChainVulkan::SetFullScreenMode ( const xiiGALDisplayModeDescription & displayMode)
finaloverridevirtual

This sets the swap chain to full screen mode. Note that this is only supported on the Windows platform.

Implements xiiGALSwapChain.

◆ SetMaximumFrameLatency()

void xiiGALSwapChainVulkan::SetMaximumFrameLatency ( xiiUInt32 uiMaxLatency)
finaloverridevirtual

This sets the maximum number of frames that the swap chain is allowed to queue for rendering.

This value is only relevant for Direct3D11 and Direct3D12 backends and ignored for others. By default it matches the number of buffers in the swap chain. For example, for a 2-buffer swap chain, the CPU can enqueue frames 0 and 1, but Present command of frame 2 will block until frame 0 is presented. If in the example above the maximum frame latency is set to 1, then Present command of frame 1 will block until Present of frame 0 is complete.

Reimplemented from xiiGALSwapChain.

◆ SetWindowedMode()

void xiiGALSwapChainVulkan::SetWindowedMode ( )
finaloverridevirtual

This sets the swap chain to windowed mode. Note that this is only supported on the Windows platform.

Implements xiiGALSwapChain.


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