Class GPUSwapChainVulkan
Window swap chain for Vulkan backend.
Inheritance
Inherited Members
Assembly: FlaxEngine.dll
File: Engine/GraphicsDevice/Vulkan/GPUSwapChainVulkan.h
Syntax
public class GPUSwapChainVulkan : public GPUResourceVulkan, public ResourceOwnerVulkan
Constructors
GPUSwapChainVulkan(GPUDeviceVulkan* device, Window* window)
Declaration
public GPUSwapChainVulkan(GPUDeviceVulkan* device, Window* window)
Parameters
|
GPUDeviceVulkan
device
|
|
Window
window
|
Methods
AcquireNextImage(SemaphoreVulkan*& outSemaphore)
Declaration
public int32 AcquireNextImage(SemaphoreVulkan*& outSemaphore)
Parameters
|
SemaphoreVulkan
outSemaphore
|
Returns
|
int32
|
AsGPUResource()
Gets resource owner object as a GPUResource type or returns null if cannot perform cast.
Declaration
public virtual GPUResource* AsGPUResource() const override
Returns
|
GPUResource
GPU Resource or null if cannot cast. |
Overrides
CopyBackbuffer(GPUContext* context, GPUTexture* dst)
Copies the backbuffer contents to the destination texture.
Declaration
public virtual void CopyBackbuffer(GPUContext* context, GPUTexture* dst) override
Parameters
|
GPUContext
context
The GPU commands context. |
|
GPUTexture
dst
The destination texture. It must match the output dimensions and format. No staging texture support. |
Overrides
DoAcquireImageIndex(GPUSwapChainVulkan* viewport, void* customData)
Declaration
public static int32 DoAcquireImageIndex(GPUSwapChainVulkan* viewport, void* customData)
Parameters
|
GPUSwapChainVulkan
viewport
|
|
void
customData
|
Returns
|
int32
|
DoPresent(GPUSwapChainVulkan* viewport, void* customData)
Declaration
public static int32 DoPresent(GPUSwapChainVulkan* viewport, void* customData)
Parameters
|
GPUSwapChainVulkan
viewport
|
|
void
customData
|
Returns
|
int32
|
GetBackBufferView()
Gets the view for the output back buffer texture (for the current frame rendering).
Declaration
public virtual GPUTextureView* GetBackBufferView() override
Returns
|
GPUTextureView
The output texture view to use. |
Overrides
GetSurface()
Gets the Vulkan surface.
Declaration
public VkSurfaceKHR GetSurface() const
Returns
|
VkSurfaceKHR
The surface object. |
GetSwapChain()
Gets the Vulkan surface swap chain.
Declaration
public VkSwapchainKHR GetSwapChain() const
Returns
|
VkSwapchainKHR
The swap chain object. |
IsFullscreen()
True if running in fullscreen mode.
Declaration
public virtual bool IsFullscreen() override
Returns
|
bool
True if is in fullscreen mode, otherwise false |
Overrides
OnReleaseGPU()
Releases GPU resource data (implementation).
Declaration
protected virtual void OnReleaseGPU() override
Overrides
Present(bool vsync)
Present back buffer to the output.
Declaration
public virtual void Present(bool vsync) override
Parameters
|
bool
vsync
True if use vertical synchronization to lock frame rate. |
Overrides
Present(QueueVulkan* presentQueue, SemaphoreVulkan* backBufferRenderingDoneSemaphore)
Declaration
public Status Present(QueueVulkan* presentQueue, SemaphoreVulkan* backBufferRenderingDoneSemaphore)
Parameters
|
QueueVulkan
presentQueue
|
|
SemaphoreVulkan
backBufferRenderingDoneSemaphore
|
Returns
|
Status
|
Resize(int32 width, int32 height)
Resize output back buffer.
Declaration
public virtual bool Resize(int32 width, int32 height) override
Parameters
|
int32
width
New output width (in pixels). |
|
int32
height
New output height (in pixels). |
Returns
|
bool
True if cannot resize the buffers, otherwise false. |
Overrides
SetFullscreen(bool isFullscreen)
Set the fullscreen state.
Declaration
public virtual void SetFullscreen(bool isFullscreen) override
Parameters
|
bool
isFullscreen
Fullscreen mode to apply |
Overrides
TryPresent(Function<int32(GPUSwapChainVulkan* , void* )> job, void* customData=nullptr, bool skipOnOutOfDate=false)
Declaration
public int32 TryPresent(Function<int32(GPUSwapChainVulkan* , void* )> job, void* customData=nullptr, bool skipOnOutOfDate=false)
Parameters
|
Function<int32(GPUSwapChainVulkan , void )>
job
|
|
void
customData
|
|
bool
skipOnOutOfDate
|
Returns
|
int32
|