XII Release 0.1.0
Loading...
Searching...
No Matches
xiiGALSwapChainD3D12 Class Referencefinal
Inheritance diagram for xiiGALSwapChainD3D12:
[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
void SetFullScreenMode (const xiiGALDisplayModeDescriptionD3D12 &displayMode)
void SetWindowedMode ()
void SetMaximumFrameLatency (xiiUInt32 uiMaxLatency)
Public Member Functions inherited from xiiGALSwapChain
XII_ALWAYS_INLINE const xiiGALSwapChainCreationDescription & GetDescription () const
 This returns the creation description for this object.
XII_ALWAYS_INLINE xiiSharedPtr< xiiGALTexture > GetBackBufferTexture () 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< xiiGALPresentMode > GetPresentMode () const
 This retrieves the current present mode.
Public Member Functions inherited from xiiGALDeviceObject
XII_ALWAYS_INLINE xiiSharedPtr< xiiGALDevice > GetDevice () const
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 xiiRTTI * GetDynamicRTTI () 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.
bool TryAddRef () const
xiiUInt32 ReleaseRef () const
 Decrements the reference counter. Returns the new reference count.ywat.
bool IsReferenced () const
 Returns true if the reference count is greater than 0, false otherwise.
xiiUInt32 GetRefCount () const
 Returns the current reference count.

Protected Member Functions

 xiiGALSwapChainD3D12 (xiiSharedPtr< xiiGALDeviceD3D12 > pDeviceD3D12, const xiiGALSwapChainCreationDescription &creationDescription)
virtual xiiResult InitPlatform () override final
virtual void SetDebugNamePlatform (xiiStringView sName) const override final
xiiResult CreateDXGISwapChain ()
xiiResult UpdateSwapChain (bool bCreateNew)
xiiResult CreateBackBufferInternal ()
void WaitForFrame ()
Protected Member Functions inherited from xiiGALSwapChain
 xiiGALSwapChain (xiiSharedPtr< xiiGALDevice > pDevice, const xiiGALSwapChainCreationDescription &creationDescription)
Protected Member Functions inherited from xiiGALDeviceObject
 xiiGALDeviceObject (xiiSharedPtr< xiiGALDevice > pDevice)
 Copyright (c) Theophilus Eriata. All Rights Reserved.
Protected Member Functions inherited from xiiGALObject
 xiiGALObject ()
 Copyright (c) Theophilus Eriata. All Rights Reserved.

Protected Attributes

IDXGISwapChain3 * m_pDXGISwapChain3 = nullptr
xiiUInt32 m_uiCurrentBackBufferIndex = 0U
xiiHybridArray< xiiSharedPtr< xiiGALTexture >, 2U > m_SwapChainTextures
xiiGALFullScreenModeDescriptionD3D12 m_FullScreenMode
HANDLE m_FrameLatencyWaitableObject = NULL
xiiUInt32 m_uiMaximumFrameLatency = 1U
Protected Attributes inherited from xiiGALSwapChain
xiiSharedPtr< xiiGALTexture > m_pBackBufferTexture
xiiEnum< xiiGALPresentMode > m_PresentMode = xiiGALPresentMode::VSync
xiiGALSwapChainCreationDescription m_Description
xiiEnum< xiiGALSurfaceTransform > m_DesiredSurfaceTransform = xiiGALSurfaceTransform::Optimal
xiiSizeU32 m_CurrentSize = xiiSizeU32::MakeZero()
Protected Attributes inherited from xiiGALDeviceObject
xiiSharedPtr< xiiGALDevice > m_pDevice

Friends

class xiiGALDeviceD3D12
class xiiMemoryUtils
class xiiGALTexture

Additional Inherited Members

Static Public Member Functions inherited from xiiNoBase
static const xiiRTTI * GetStaticRTTI ()

Member Function Documentation

◆ InitPlatform()

xiiResult xiiGALSwapChainD3D12::InitPlatform ( )
finaloverrideprotectedvirtual

Implements xiiGALSwapChain.

◆ Present()

void xiiGALSwapChainD3D12::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 xiiGALSwapChainD3D12::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 xiiGALSwapChainD3D12::SetDebugNamePlatform ( xiiStringView sName) const
finaloverrideprotectedvirtual

Reimplemented from xiiGALObject.


The documentation for this class was generated from the following files:
  • /home/runner/work/XII/XII/Source/Engine/GraphicsD3D12/Device/SwapChainD3D12.h
  • /home/runner/work/XII/XII/Source/Engine/GraphicsD3D12/Device/Implementation/SwapChainD3D12.cpp