|
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.
|
|
virtual void | Present ()=0 |
| 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)=0 |
| This changes the swap chain size.
|
|
virtual void | SetFullScreenMode (const xiiGALDisplayModeDescription &displayMode)=0 |
| This sets the swap chain to full screen mode. Note that this is only supported on the Windows platform.
|
|
virtual void | SetWindowedMode ()=0 |
| This sets the swap chain to windowed mode. Note that this is only supported on the Windows platform.
|
|
virtual void | SetMaximumFrameLatency (xiiUInt32 uiMaxLatency) |
| This sets the maximum number of frames that the swap chain is allowed to queue for rendering.
|
|
XII_ALWAYS_INLINE xiiSharedPtr< xiiGALDevice > | GetDevice () const |
| Returns the xiiGALDevice that created this resource.
|
|
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.
|
|
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.
|
|
virtual | ~xiiRefCounted ()=default |
| Adds a virtual destructor.
|
|
| 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.
|
|
Interface that defines methods to manipulate a swap chain object.
virtual void xiiGALSwapChain::SetMaximumFrameLatency |
( |
xiiUInt32 | uiMaxLatency | ) |
|
|
inlinevirtual |
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 in xiiGALSwapChainVulkan.