Diligent Engine API Reference
Public Member Functions | List of all members
Diligent::ShaderResourceBindingD3D11Impl Class Reference

Implementation of the Diligent::IShaderResourceBindingD3D11 interface. More...

Inheritance diagram for Diligent::ShaderResourceBindingD3D11Impl:
Diligent::ShaderResourceBindingBase< IShaderResourceBindingD3D11, FixedBlockMemoryAllocator > Diligent::ObjectBase< IShaderResourceBindingD3D11, FixedBlockMemoryAllocator > Diligent::RefCountedObject< IShaderResourceBindingD3D11, FixedBlockMemoryAllocator > Diligent::IShaderResourceBindingD3D11 Diligent::IShaderResourceBinding Diligent::IObject

Public Member Functions

virtual void QueryInterface (const Diligent::INTERFACE_ID &IID, IObject **ppInterface) override final
 Queries the specific interface, see IObject::QueryInterface() for details.
 
virtual void BindResources (Uint32 ShaderFlags, IResourceMapping *pResMapping, Uint32 Flags) override final
 Binds all resource using the resource mapping. More...
 
virtual IShaderVariableGetVariable (SHADER_TYPE ShaderType, const char *Name) override final
 Returns variable. More...
 
- Public Member Functions inherited from Diligent::ShaderResourceBindingBase< IShaderResourceBindingD3D11, FixedBlockMemoryAllocator >
 ShaderResourceBindingBase (FixedBlockMemoryAllocator &ObjAllocator, IPipelineState *pPSO, bool IsInternal=false)
 
virtual IPipelineStateGetPipelineState () override final
 Implementation of IShaderResourceBinding::GetPipelineState().
 
- Public Member Functions inherited from Diligent::RefCountedObject< IShaderResourceBindingD3D11, FixedBlockMemoryAllocator >
virtual IReferenceCountersGetReferenceCounters () const override final
 
virtual Atomics::Long AddRef () override
 
virtual Atomics::Long Release () override
 

Additional Inherited Members

- Protected Attributes inherited from Diligent::ShaderResourceBindingBase< IShaderResourceBindingD3D11, FixedBlockMemoryAllocator >
Diligent::RefCntAutoPtr< IPipelineStatem_spPSO
 Strong reference to PSO. We must use strong reference, because shader resource binding uses PSO's memory allocator to allocate memory for shader resource cache.
 

Detailed Description

Implementation of the Diligent::IShaderResourceBindingD3D11 interface.

Member Function Documentation

void Diligent::ShaderResourceBindingD3D11Impl::BindResources ( Uint32  ShaderFlags,
IResourceMapping pResMapping,
Uint32  Flags 
)
finaloverridevirtual

Binds all resource using the resource mapping.

Parameters
[in]ShaderFlags- Flags for the shader stages, for which resources will be bound. Any combination of Diligent::SHADER_TYPE may be specified.
[in]pResMapping- Shader resource mapping, where required resources will be looked up
[in]Flags- Additional flags. See Diligent::BIND_SHADER_RESOURCES_FLAGS.

Implements Diligent::IShaderResourceBinding.

IShaderVariable * Diligent::ShaderResourceBindingD3D11Impl::GetVariable ( SHADER_TYPE  ShaderType,
const char *  Name 
)
finaloverridevirtual

Returns variable.

Parameters
[in]ShaderType- Type of the shader to look up the variable. Must be one of Diligent::SHADER_TYPE.
Name- Variable name

Implements Diligent::IShaderResourceBinding.