Diligent Engine
 
Loading...
Searching...
No Matches
Diligent::PipelineResourceSignatureBase< EngineImplTraits > Class Template Reference

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

#include <PipelineResourceSignatureBase.hpp>

Inheritance diagram for Diligent::PipelineResourceSignatureBase< EngineImplTraits >:
Diligent::DeviceObjectBase< EngineImplTraits::PipelineResourceSignatureInterface, EngineImplTraits::RenderDeviceImplType, PipelineResourceSignatureDesc > Diligent::ObjectBase< EngineImplTraits::PipelineResourceSignatureInterface > Diligent::RefCountedObject< EngineImplTraits::PipelineResourceSignatureInterface >

Public Member Functions

 PipelineResourceSignatureBase (IReferenceCounters *pRefCounters, RenderDeviceImplType *pDevice, const PipelineResourceSignatureDesc &Desc, SHADER_TYPE ShaderStages=SHADER_TYPE_UNKNOWN, bool bIsDeviceInternal=false)
 
virtual Uint32 DILIGENT_CALL_TYPE GetStaticVariableCount (SHADER_TYPE ShaderType) const override final
 Implementation of IPipelineResourceSignature::GetStaticVariableCount.
 
virtual IShaderResourceVariable *DILIGENT_CALL_TYPE GetStaticVariableByName (SHADER_TYPE ShaderType, const Char *Name) override final
 Implementation of IPipelineResourceSignature::GetStaticVariableByName.
 
virtual IShaderResourceVariable *DILIGENT_CALL_TYPE GetStaticVariableByIndex (SHADER_TYPE ShaderType, Uint32 Index) override final
 Implementation of IPipelineResourceSignature::GetStaticVariableByIndex.
 
virtual void DILIGENT_CALL_TYPE BindStaticResources (SHADER_TYPE ShaderStages, IResourceMapping *pResourceMapping, BIND_SHADER_RESOURCES_FLAGS Flags) override final
 Implementation of IPipelineResourceSignature::BindStaticResources.
 
virtual void DILIGENT_CALL_TYPE CreateShaderResourceBinding (IShaderResourceBinding **ppShaderResourceBinding, bool InitStaticResources) override final
 Implementation of IPipelineResourceSignature::CreateShaderResourceBinding.
 
virtual void DILIGENT_CALL_TYPE InitializeStaticSRBResources (IShaderResourceBinding *pSRB) const override final
 Implementation of IPipelineResourceSignature::InitializeStaticSRBResources.
 
virtual void DILIGENT_CALL_TYPE CopyStaticResources (IPipelineResourceSignature *pDstSignature) const override final
 Implementation of IPipelineResourceSignature::CopyStaticResources.
 
virtual bool DILIGENT_CALL_TYPE IsCompatibleWith (const IPipelineResourceSignature *pPRS) const override final
 Implementation of IPipelineResourceSignature::IsCompatibleWith.
 
Uint32 FindResource (SHADER_TYPE ShaderStage, const char *ResourceName) const
 
Uint32 FindImmutableSampler (SHADER_TYPE ShaderStage, const char *ResourceName) const
 
- Public Member Functions inherited from Diligent::DeviceObjectBase< EngineImplTraits::PipelineResourceSignatureInterface, EngineImplTraits::RenderDeviceImplType, PipelineResourceSignatureDesc >
 DeviceObjectBase (IReferenceCounters *pRefCounters, RenderDeviceImplType *pDevice, const PipelineResourceSignatureDesc &ObjDesc, bool bIsDeviceInternal=false)
 
virtual Int32 DILIGENT_CALL_TYPE GetUniqueID () const override final
 Returns unique identifier.
 
virtual void DILIGENT_CALL_TYPE SetUserData (IObject *pUserData) override final
 Implementation of IDeviceObject::SetUserData.
 
virtual IObject *DILIGENT_CALL_TYPE GetUserData () const override final
 Implementation of IDeviceObject::GetUserData.
 

Additional Inherited Members

- Protected Attributes inherited from Diligent::DeviceObjectBase< EngineImplTraits::PipelineResourceSignatureInterface, EngineImplTraits::RenderDeviceImplType, PipelineResourceSignatureDesc >
RenderDeviceImplType *const m_pDevice
 Pointer to the device.
 
PipelineResourceSignatureDesc m_Desc
 Object description.
 

Detailed Description

template<typename EngineImplTraits>
class Diligent::PipelineResourceSignatureBase< EngineImplTraits >

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

Template Parameters
EngineImplTraits- Engine implementation type traits.

Constructor & Destructor Documentation

◆ PipelineResourceSignatureBase()

template<typename EngineImplTraits>
Diligent::PipelineResourceSignatureBase< EngineImplTraits >::PipelineResourceSignatureBase ( IReferenceCounters * pRefCounters,
RenderDeviceImplType * pDevice,
const PipelineResourceSignatureDesc & Desc,
SHADER_TYPE ShaderStages = SHADER_TYPE_UNKNOWN,
bool bIsDeviceInternal = false )
inline
Parameters
pRefCounters- Reference counters object that controls the lifetime of this resource signature.
pDevice- Pointer to the device.
Desc- Resource signature description.
ShaderStages- Active shader stages. This parameter is only provided for default resource signatures created by PSOs and matches the active shader stages in the PSO.
bIsDeviceInternal- Flag indicating if this resource signature is an internal device object and must not keep a strong reference to the device.

Member Function Documentation

◆ FindImmutableSampler()

template<typename EngineImplTraits>
Uint32 Diligent::PipelineResourceSignatureBase< EngineImplTraits >::FindImmutableSampler ( SHADER_TYPE ShaderStage,
const char * ResourceName ) const
inline

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.

◆ FindResource()

template<typename EngineImplTraits>
Uint32 Diligent::PipelineResourceSignatureBase< EngineImplTraits >::FindResource ( SHADER_TYPE ShaderStage,
const char * ResourceName ) const
inline

Finds a resource with the given name in the specified shader stage and returns its index in m_Desc.Resources[], or InvalidPipelineResourceIndex if the resource is not found.