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

Template class implementing base functionality of the shader resource binding. More...

#include <ShaderResourceBindingBase.hpp>

Inheritance diagram for Diligent::ShaderResourceBindingBase< EngineImplTraits >:
Diligent::ObjectBase< EngineImplTraits::ShaderResourceBindingInterface > Diligent::RefCountedObject< EngineImplTraits::ShaderResourceBindingInterface >

Public Member Functions

 ShaderResourceBindingBase (IReferenceCounters *pRefCounters, ResourceSignatureType *pPRS)
 
virtual IPipelineResourceSignature *DILIGENT_CALL_TYPE GetPipelineResourceSignature () const override final
 Implementation of IShaderResourceBinding::GetPipelineResourceSignature().
 
virtual IShaderResourceVariable *DILIGENT_CALL_TYPE GetVariableByName (SHADER_TYPE ShaderType, const char *Name) override final
 Implementation of IShaderResourceBinding::GetVariableByName().
 
virtual Uint32 DILIGENT_CALL_TYPE GetVariableCount (SHADER_TYPE ShaderType) const override final
 Implementation of IShaderResourceBinding::GetVariableCount().
 
virtual IShaderResourceVariable *DILIGENT_CALL_TYPE GetVariableByIndex (SHADER_TYPE ShaderType, Uint32 Index) override final
 Implementation of IShaderResourceBinding::GetVariableByIndex().
 
virtual void DILIGENT_CALL_TYPE BindResources (SHADER_TYPE ShaderStages, IResourceMapping *pResMapping, BIND_SHADER_RESOURCES_FLAGS Flags) override final
 Implementation of IShaderResourceBinding::BindResources().
 
virtual SHADER_RESOURCE_VARIABLE_TYPE_FLAGS DILIGENT_CALL_TYPE CheckResources (SHADER_TYPE ShaderStages, IResourceMapping *pResMapping, BIND_SHADER_RESOURCES_FLAGS Flags) const override final
 Implementation of IShaderResourceBinding::CheckResources().
 

Protected Attributes

RefCntAutoPtr< ResourceSignatureType > m_pPRS
 

Detailed Description

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

Template class implementing base functionality of the shader resource binding.

Template Parameters
EngineImplTraits- Engine implementation type traits.

Constructor & Destructor Documentation

◆ ShaderResourceBindingBase()

template<typename EngineImplTraits>
Diligent::ShaderResourceBindingBase< EngineImplTraits >::ShaderResourceBindingBase ( IReferenceCounters * pRefCounters,
ResourceSignatureType * pPRS )
inline
Parameters
pRefCounters- Reference counters object that controls the lifetime of this SRB.
pPRS- Pipeline resource signature that this SRB belongs to.

Member Data Documentation

◆ m_pPRS

template<typename EngineImplTraits>
RefCntAutoPtr<ResourceSignatureType> Diligent::ShaderResourceBindingBase< EngineImplTraits >::m_pPRS
protected

Strong reference to pipeline resource signature. We must use strong reference, because shader resource binding uses pipeline resource signature's memory allocator to allocate memory for shader resource cache.