Class GPUPipelineStateDX12
Graphics pipeline state object for DirectX 12 backend.
Inheritance
GPUPipelineStateDX12
Inherited Members
GPUPipelineStateDX12
GPUPipelineStateDX12
Assembly: FlaxEngine.dll
File: Engine/GraphicsDevice/DirectX/DX12/GPUPipelineStateDX12.h
Syntax
public class GPUPipelineStateDX12 : public GPUResourceDX12
Constructors
GPUPipelineStateDX12(GPUDeviceDX12* device)
Fields
Header
PrimitiveTopology
Declaration
public D3D_PRIMITIVE_TOPOLOGY PrimitiveTopology = D3D_PRIMITIVE_TOPOLOGY_UNDEFINED
Field Value
|
D3D_PRIMITIVE_TOPOLOGY
|
VertexBufferLayout
Declaration
public GPUVertexLayoutDX12* VertexBufferLayout = nullptr
Field Value
|
GPUVertexLayoutDX12
|
VertexInputLayout
Methods
GetState(GPUTextureViewDX12* depth, int32 rtCount, GPUTextureViewDX12* *rtHandles, GPUVertexLayoutDX12* vertexLayout)
Gets DirectX 12 graphics pipeline state 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 ID3D12PipelineState* GetState(GPUTextureViewDX12* depth, int32 rtCount, GPUTextureViewDX12* *rtHandles, GPUVertexLayoutDX12* vertexLayout)
Parameters
|
GPUTextureViewDX12
depth
The depth buffer (can be null). |
|
int32
rtCount
The render targets count (can be 0). |
|
GPUTextureViewDX12
rtHandles
The render target handles array. |
|
GPUVertexLayoutDX12
vertexLayout
The vertex buffers layout. |
Returns
|
ID3D12PipelineState
DirectX 12 graphics pipeline state object |
Init(const Description& desc)
Create new state data
Declaration
public virtual bool Init(const Description& desc) 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 override
Returns
|
bool
|
Overrides
OnReleaseGPU()
Releases GPU resource data (implementation).
Declaration
protected virtual void OnReleaseGPU() override