template<typename EngineImplTraits>
Diligent::PipelineResourceSignatureBase class

Template class implementing base functionality of the pipeline resource signature object.

Template parameters
EngineImplTraits - Engine implementation type traits.

Base classes

template<class BaseInterface, typename RenderDeviceImplType, typename ObjectDescType>
class DeviceObjectBase<EngineImplTraits::PipelineResourceSignatureInterface, EngineImplTraits::RenderDeviceImplType, PipelineResourceSignatureDesc>
Template class implementing base functionality of the device object.

Constructors, destructors, conversion operators

PipelineResourceSignatureBase(IReferenceCounters* pRefCounters, RenderDeviceImplType* pDevice, const PipelineResourceSignatureDesc& Desc, bool bIsDeviceInternal = false)

Public functions

auto GetStaticVariableCount(SHADER_TYPE ShaderType) const -> Uint32 final
Implementation of IPipelineResourceSignature::GetStaticVariableCount.
auto GetStaticVariableByName(SHADER_TYPE ShaderType, const Char* Name) -> IShaderResourceVariable* final
Implementation of IPipelineResourceSignature::GetStaticVariableByName.
auto GetStaticVariableByIndex(SHADER_TYPE ShaderType, Uint32 Index) -> IShaderResourceVariable* final
Implementation of IPipelineResourceSignature::GetStaticVariableByIndex.
void BindStaticResources(Uint32 ShaderFlags, IResourceMapping* pResourceMapping, Uint32 Flags) final
Implementation of IPipelineResourceSignature::BindStaticResources.
void CreateShaderResourceBinding(IShaderResourceBinding** ppShaderResourceBinding, bool InitStaticResources) final
Implementation of IPipelineResourceSignature::CreateShaderResourceBinding.
void InitializeStaticSRBResources(IShaderResourceBinding* pSRB) const final
Implementation of IPipelineResourceSignature::InitializeStaticSRBResources.
auto IsCompatibleWith(const IPipelineResourceSignature* pPRS) const -> bool final
Implementation of IPipelineResourceSignature::IsCompatibleWith.
auto FindResource(SHADER_TYPE ShaderStage, const char* ResourceName) const -> Uint32
Finds a resource with the given name in the specified shader stage and returns its index in m_Desc.Resources[], or InvalidResourceIndex if the resource is not found.
auto FindImmutableSampler(SHADER_TYPE ShaderStage, const char* ResourceName) const -> Uint32
Finds an immutable with the given name in the specified shader stage and returns its index in m_Desc.ImmutableSamplers[], or InvalidImmutableSamplerIndex if the sampler is not found.

Function documentation

template<typename EngineImplTraits>
Diligent::PipelineResourceSignatureBase<EngineImplTraits>::PipelineResourceSignatureBase(IReferenceCounters* pRefCounters, RenderDeviceImplType* pDevice, const PipelineResourceSignatureDesc& Desc, bool bIsDeviceInternal = false)

Parameters
pRefCounters - Reference counters object that controls the lifetime of this resource signature.
pDevice - Pointer to the device.
Desc - Resource signature description.
bIsDeviceInternal - Flag indicating if this resource signature is an internal device object and must not keep a strong reference to the device.