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

#include <pipeline_state.h>

Public Member Functions

 PSO ()
 
void SetRootSignature (RootSignature &root_signature)
 
RootSignatureGetRootSignature ()
 
ID3D12PipelineState * operator-> ()
 
virtual void Finalize ()=0
 
void Destroy ()
 
ID3D12PipelineState * GetPSO () const
 

Protected Attributes

ID3D12PipelineState * pso_
 
RootSignatureroot_signature_
 

Detailed Description

The base PipelineStateObject.

You actually never directly use this object, it is the base of the GraphicsPSO and the ComputePSO. The PSO only provides functionality that is shared between the other PSO types, such as root signatures and destruction. You are supposed to set all data on the pipeline state, and then calling PSO::Finalize() on it to actually create the PSO.

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

Constructor & Destructor Documentation

blowbox::PSO::PSO ( )
inline

Constructs the PSO.

Member Function Documentation

void blowbox::PSO::Destroy ( )

Destroys the PSO.

virtual void blowbox::PSO::Finalize ( )
pure virtual

Finalizes the PSO - it actually makes it ready for use.

Implemented in blowbox::ComputePSO, and blowbox::GraphicsPSO.

ID3D12PipelineState* blowbox::PSO::GetPSO ( ) const
inline
Returns
The underlying PSO.
RootSignature& blowbox::PSO::GetRootSignature ( )
inline
Returns
The root signature that was set on this PSO.
ID3D12PipelineState* blowbox::PSO::operator-> ( )
inline

Pointer operator overload which returns the underlying PSO.

void blowbox::PSO::SetRootSignature ( RootSignature root_signature)
inline

Sets the root signature in the PSO.

Parameters
[in]root_signatureThe root signature this PSO should use.

Member Data Documentation

ID3D12PipelineState* blowbox::PSO::pso_
protected

The underlying PSO object.

RootSignature* blowbox::PSO::root_signature_
protected

The root signature that is bound to this PSO.


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