Class GPUPipelineStateVulkan
Graphics pipeline state object for Vulkan backend.
Inheritance
Inherited Members
Assembly: FlaxEngine.dll
File: Engine/GraphicsDevice/Vulkan/GPUPipelineStateVulkan.h
Syntax
public class GPUPipelineStateVulkan : public GPUResourceVulkan
Constructors
GPUPipelineStateVulkan(GPUDeviceVulkan* device)
Initializes a new instance of the GPUPipelineStateVulkan class.
Declaration
public GPUPipelineStateVulkan(GPUDeviceVulkan* device)
Parameters
GPUDeviceVulkan
device
The graphics device. |
Fields
BlendEnable
Declaration
public uint32 BlendEnable
Field Value
uint32
|
CurrentTypedDescriptorPoolSet
Declaration
public TypedDescriptorPoolSetVulkan* CurrentTypedDescriptorPoolSet = nullptr
Field Value
TypedDescriptorPoolSetVulkan
|
DepthReadEnable
Declaration
public uint32 DepthReadEnable
Field Value
uint32
|
DepthWriteEnable
Declaration
public uint32 DepthWriteEnable
Field Value
uint32
|
DescriptorInfoPerStage
The cached shader descriptor infos per stage.
Declaration
public SpirvShaderDescriptorInfo* DescriptorInfoPerStage[DescriptorSet::GraphicsStagesCount]
Field Value
SpirvShaderDescriptorInfo
|
DescriptorSetHandles
Declaration
public Array<VkDescriptorSet> DescriptorSetHandles
Field Value
Array<VkDescriptorSet>
|
DescriptorSetsLayout
Declaration
public DescriptorSetLayoutVulkan* DescriptorSetsLayout = nullptr
Field Value
DescriptorSetLayoutVulkan
|
DSWriteContainer
Declaration
public DescriptorSetWriteContainerVulkan DSWriteContainer
Field Value
DescriptorSetWriteContainerVulkan
|
DSWriter
Declaration
public DescriptorSetWriterVulkan DSWriter[DescriptorSet::GraphicsStagesCount]
Field Value
DescriptorSetWriterVulkan
|
DynamicOffsets
Declaration
public Array<uint32> DynamicOffsets
Field Value
Array<uint32>
|
HasDescriptorsPerStageMask
The bitmask of stages that have descriptors.
Declaration
public uint32 HasDescriptorsPerStageMask
Field Value
uint32
|
ShaderBindingsPerStage
The cached shader bindings per stage.
Declaration
public ShaderBindings* ShaderBindingsPerStage[DescriptorSet::GraphicsStagesCount]
Field Value
ShaderBindings
|
StencilReadEnable
Declaration
public uint32 StencilReadEnable
Field Value
uint32
|
StencilWriteEnable
Declaration
public uint32 StencilWriteEnable
Field Value
uint32
|
UsedStagesMask
The bitmask of stages that exist in this pipeline.
Declaration
public uint32 UsedStagesMask
Field Value
uint32
|
VertexBufferLayout
Declaration
public GPUVertexLayoutVulkan* VertexBufferLayout = nullptr
Field Value
GPUVertexLayoutVulkan
|
VertexInputLayout
Declaration
public GPUVertexLayoutVulkan* VertexInputLayout = nullptr
Field Value
GPUVertexLayoutVulkan
|
Methods
AcquirePoolSet(CmdBufferVulkan* cmdBuffer)
Declaration
public bool AcquirePoolSet(CmdBufferVulkan* cmdBuffer)
Parameters
CmdBufferVulkan
cmdBuffer
|
Returns
bool
|
GetLayout()
Gets the Vulkan pipeline layout for this pipeline state.
Declaration
public PipelineLayoutVulkan* GetLayout()
Returns
PipelineLayoutVulkan
The layout. |
GetState(RenderPassVulkan* renderPass, GPUVertexLayoutVulkan* vertexLayout)
Gets the Vulkan graphics pipeline object for the given rendering state. Uses depth buffer and render targets formats and multi-sample levels to setup a proper PSO. Uses caching.
Declaration
public VkPipeline GetState(RenderPassVulkan* renderPass, GPUVertexLayoutVulkan* vertexLayout)
Parameters
RenderPassVulkan
renderPass
The render pass. |
GPUVertexLayoutVulkan
vertexLayout
The vertex layout. |
Returns
VkPipeline
Vulkan graphics pipeline object. |
Init(const Description& desc)
Create new state data
Declaration
public virtual bool Init(const Description& desc) final override
Parameters
Description
desc
Full pipeline state description |
Returns
bool
True if cannot create state, otherwise false |
Overrides
IsValid()
Returns true if pipeline state is valid and ready to use
Declaration
public virtual bool IsValid() const final override
Returns
bool
|
Overrides
OnReleaseGPU()
Releases GPU resource data (implementation).
Declaration
protected virtual void OnReleaseGPU() override