Blowbox 2017
A 3D Game Engine by Riko Ophorst using DirectX 12
|
#include <pipeline_state.h>
Public Member Functions | |
ComputePSO () | |
~ComputePSO () | |
void | SetComputeShader (const void *binary, size_t size) |
void | SetComputeShader (const D3D12_SHADER_BYTECODE &binary) |
void | Finalize () override |
Public Member Functions inherited from blowbox::PSO | |
PSO () | |
void | SetRootSignature (RootSignature &root_signature) |
RootSignature & | GetRootSignature () |
ID3D12PipelineState * | operator-> () |
void | Destroy () |
ID3D12PipelineState * | GetPSO () const |
Protected Attributes | |
D3D12_COMPUTE_PIPELINE_STATE_DESC | pso_desc_ |
Protected Attributes inherited from blowbox::PSO | |
ID3D12PipelineState * | pso_ |
RootSignature * | root_signature_ |
Manages the PipelineStateObject for compute pipelines.
This class inherits from the base PSO and is supposed to help make it simple to create PSO's for compute pipelines. From the moment of initialisation by the constructor, you should call all the different Setters on this class to configure the PSO properly. Once you have done that, call ComputePSO::Finalize() and you are ready to use this PSO in your code.
blowbox::ComputePSO::ComputePSO | ( | ) |
Constructs the ComputePSO.
blowbox::ComputePSO::~ComputePSO | ( | ) |
Destructs the ComputePSO.
|
overridevirtual |
Finalizes the PSO by actually creating it.
Implements blowbox::PSO.
|
inline |
Sets the compute shader on this ComputePSO.
[in] | binary | The compiled shader data. |
[in] | size | The size of the shader binary. |
|
inline |
Sets the compute shader on this ComputePSO.
[in] | binary | The compute shader binary. |
|
protected |
The PSO description.