class ParameterSet
The parameter sets are how resource binding is handled in FidelityFX Cauldron Framework
.
File location: framework/cauldron/framework/inc/render/parameterset.h
Methods
Return type |
Description |
---|---|
static ParameterSet* |
ParameterSet instance creation function. Implemented per api/platform to return the correct internal resource type.
|
void |
SetRootConstantBufferResource ( const GPUResource * pResource, const size_t size, uint32_t slotIndex ) = 0
Assigns a root constant buffer resource to a specific slot index.
|
void |
SetTextureSRV ( const Texture * pTexture, ViewDimension dimension, uint32_t slotIndex = 0, int32_t mip = -1, int32_t arraySize = -1, int32_t firstSlice = -1 ) = 0
Assigns a texture SRV resource view to a specific slot index.
|
void |
SetTextureUAV ( const Texture * pTexture, ViewDimension dimension, uint32_t slotIndex = 0, int32_t mip = -1, int32_t arraySize = -1, int32_t firstSlice = -1 ) = 0
Assigns a texture UAV resource view to a specific slot index.
|
void |
SetBufferSRV ( const Buffer * pBuffer, uint32_t slotIndex = 0, uint32_t firstElement = -1, uint32_t numElements = -1 ) = 0
Assigns a buffer SRV resource view to a specific slot index.
|
void |
SetBufferUAV ( const Buffer * pBuffer, uint32_t slotIndex = 0, uint32_t firstElement = -1, uint32_t numElements = -1 ) = 0
Assigns a buffer UAV resource view to a specific slot index.
|
void |
SetSampler (const Sampler * pSampler, uint32_t slotIndex = 0) = 0
Assigns a sampler resource to a specific slot index.
|
void |
SetAccelerationStructure (const TLAS * pTLAS, uint32_t slotIndex = 0) = 0
Assigns an acceleration structure resource to a specific slot index.
|
void |
UpdateRootConstantBuffer ( const BufferAddressInfo * pRootConstantBuffer, uint32_t rootBufferIndex ) = 0
Updates a specified constant root buffer with current buffer address information.
|
void |
UpdateRoot32BitConstant ( const uint32_t numEntries, const uint32_t* pConstData, uint32_t rootBufferIndex ) = 0
Updates one or more root 32-bit constants starting at a specified entry.
|
void |
Binds all resources to the pipeline for GPU workload execution.
|
void |
SetBindTypeOffset (BindingType bindType, uint32_t bindingOffset)
Assigns an offset for binding type. This is used for cauldron backend immediate mode binding.
|
void |
Takes care of automatically re-binding recreated resources to their proper parameter set when resources are resized.
|
Detailed description
The parameter sets are how resource binding is handled in FidelityFX Cauldron Framework
. They setup ahead of time at initialization and then bound each frame prior to pipeline execution to bind all necessary resources to the active pipeline.
Methods
CreateParameterSet
static ParameterSet* CreateParameterSet (
RootSignature * pRootSignature,
ResourceView * pImmediateViews = nullptr
)
ParameterSet instance creation function. Implemented per api/platform to return the correct internal resource type.
SetRootConstantBufferResource
virtual void SetRootConstantBufferResource (
const GPUResource * pResource,
const size_t size,
uint32_t slotIndex
) = 0
Assigns a root constant buffer resource to a specific slot index.
SetTextureSRV
virtual void SetTextureSRV (
const Texture * pTexture,
ViewDimension dimension,
uint32_t slotIndex = 0,
int32_t mip = -1,
int32_t arraySize = -1,
int32_t firstSlice = -1
) = 0
Assigns a texture SRV resource view to a specific slot index.
SetTextureUAV
virtual void SetTextureUAV (
const Texture * pTexture,
ViewDimension dimension,
uint32_t slotIndex = 0,
int32_t mip = -1,
int32_t arraySize = -1,
int32_t firstSlice = -1
) = 0
Assigns a texture UAV resource view to a specific slot index.
SetBufferSRV
virtual void SetBufferSRV (
const Buffer * pBuffer,
uint32_t slotIndex = 0,
uint32_t firstElement = -1,
uint32_t numElements = -1
) = 0
Assigns a buffer SRV resource view to a specific slot index.
SetBufferUAV
virtual void SetBufferUAV (
const Buffer * pBuffer,
uint32_t slotIndex = 0,
uint32_t firstElement = -1,
uint32_t numElements = -1
) = 0
Assigns a buffer UAV resource view to a specific slot index.
SetSampler
virtual void SetSampler (const Sampler * pSampler, uint32_t slotIndex = 0) = 0
Assigns a sampler resource to a specific slot index.
SetAccelerationStructure
virtual void SetAccelerationStructure (
const TLAS * pTLAS,
uint32_t slotIndex = 0
) = 0
Assigns an acceleration structure resource to a specific slot index.
UpdateRootConstantBuffer
virtual void UpdateRootConstantBuffer (
const BufferAddressInfo * pRootConstantBuffer,
uint32_t rootBufferIndex
) = 0
Updates a specified constant root buffer with current buffer address information.
UpdateRoot32BitConstant
Updates one or more root 32-bit constants starting at a specified entry.
Bind
virtual void Bind (CommandList * pCmdList, const PipelineObject * pPipeline) = 0
Binds all resources to the pipeline for GPU workload execution.
SetBindTypeOffset
Assigns an offset for binding type. This is used for cauldron backend immediate mode binding.
OnResourceResized
Takes care of automatically re-binding recreated resources to their proper parameter set when resources are resized.