Open 3D Engine Atom Gem API Reference
23.05.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
|
#include <PipelineState.h>
Inherits AZ::RHI::DeviceObject.
Inherited by AZ::DX12::PipelineState, AZ::Metal::PipelineState, AZ::Null::PipelineState, and AZ::Vulkan::PipelineState.
Public Member Functions | |
ResultCode | Init (Device &device, const PipelineStateDescriptorForDraw &descriptor, PipelineLibrary *pipelineLibrary=nullptr) |
ResultCode | Init (Device &device, const PipelineStateDescriptorForDispatch &descriptor, PipelineLibrary *pipelineLibrary=nullptr) |
ResultCode | Init (Device &device, const PipelineStateDescriptorForRayTracing &descriptor, PipelineLibrary *pipelineLibrary=nullptr) |
PipelineStateType | GetType () const |
Public Member Functions inherited from AZ::RHI::DeviceObject | |
AZ_RTTI (DeviceObject,"{17D34F71-944C-4AF5-9823-627474C4C0A6}", Object) | |
bool | IsInitialized () const |
Returns whether the device object is initialized. | |
Device & | GetDevice () const |
Public Member Functions inherited from AZ::RHI::Object | |
AZ_RTTI (Object,"{E43378F1-2331-4173-94B8-990ED20E6003}") | |
void | SetName (const Name &name) |
Sets the name of the object. | |
const Name & | GetName () const |
Returns the name set on the object by SetName. | |
uint32_t | use_count () |
Returns the current use count of the object. | |
Additional Inherited Members | |
Protected Member Functions inherited from AZ::RHI::DeviceObject | |
void | Init (Device &device) |
The derived class should call this method to assign the device. | |
Protected Member Functions inherited from AZ::RHI::Object | |
void | add_ref () const |
void | release () const |
Protected Attributes inherited from AZ::RHI::Object | |
AZStd::atomic_int | m_useCount = 0 |
The pipeline state object is an opaque data structure representing compiled graphics or compute state. Typically called a 'PSO', it holds the following platform-specific state:
ResultCode AZ::RHI::PipelineState::Init | ( | Device & | device, |
const PipelineStateDescriptorForDraw & | descriptor, | ||
PipelineLibrary * | pipelineLibrary = nullptr |
||
) |
Initializes a graphics pipeline state, associated with the provided device, using the provided descriptor. If successful, the PSO is valid to use with DrawItems within scopes executing on device used for initialization.
pipelineLibrary | An optional pipeline library used to de-duplicate and cache the internal platform pipeline state data, reducing compilation and memory cost. It can be left null. |
ResultCode AZ::RHI::PipelineState::Init | ( | Device & | device, |
const PipelineStateDescriptorForDispatch & | descriptor, | ||
PipelineLibrary * | pipelineLibrary = nullptr |
||
) |
Initializes a compute pipeline state, associated with the provided device, using the provided descriptor. If successful, the PSO is valid to use with DispatchItems within scopes executing on device used for initialization.
pipelineLibrary | An optional pipeline library used to de-duplicate and cache the internal platform pipeline state data, reducing compilation and memory cost. It can be left null. |
ResultCode AZ::RHI::PipelineState::Init | ( | Device & | device, |
const PipelineStateDescriptorForRayTracing & | descriptor, | ||
PipelineLibrary * | pipelineLibrary = nullptr |
||
) |
Initializes a ray tracing pipeline state, associated with the provided device, using the provided descriptor. If successful, the PSO is valid to use with DispatchRaysItems within scopes executing on device used for initialization.
pipelineLibrary | An optional pipeline library used to de-duplicate and cache the internal platform pipeline state data, reducing compilation and memory cost. It can be left null. |