Blowbox 2017
A 3D Game Engine by Riko Ophorst using DirectX 12
Public Member Functions | Protected Attributes | List of all members
blowbox::ComputePSO Class Reference

#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)
 
RootSignatureGetRootSignature ()
 
ID3D12PipelineState * operator-> ()
 
void Destroy ()
 
ID3D12PipelineState * GetPSO () const
 

Protected Attributes

D3D12_COMPUTE_PIPELINE_STATE_DESC pso_desc_
 
- Protected Attributes inherited from blowbox::PSO
ID3D12PipelineState * pso_
 
RootSignatureroot_signature_
 

Detailed Description

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.

Inheritance diagram for blowbox::ComputePSO:
blowbox::PSO

Constructor & Destructor Documentation

blowbox::ComputePSO::ComputePSO ( )

Constructs the ComputePSO.

blowbox::ComputePSO::~ComputePSO ( )

Destructs the ComputePSO.

Member Function Documentation

void blowbox::ComputePSO::Finalize ( )
overridevirtual

Finalizes the PSO by actually creating it.

Implements blowbox::PSO.

void blowbox::ComputePSO::SetComputeShader ( const void *  binary,
size_t  size 
)
inline

Sets the compute shader on this ComputePSO.

Parameters
[in]binaryThe compiled shader data.
[in]sizeThe size of the shader binary.
void blowbox::ComputePSO::SetComputeShader ( const D3D12_SHADER_BYTECODE &  binary)
inline

Sets the compute shader on this ComputePSO.

Parameters
[in]binaryThe compute shader binary.

Member Data Documentation

D3D12_COMPUTE_PIPELINE_STATE_DESC blowbox::ComputePSO::pso_desc_
protected

The PSO description.


The documentation for this class was generated from the following files: