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
|