Go to the documentation of this file.
68 class ShaderVariableD3D12Impl;
69 class ShaderResourceCacheD3D12;
70 class PipelineResourceSignatureD3D12Impl;
79 m_ResourceCache{ResourceCache}
89 void Initialize(
const PipelineResourceSignatureD3D12Impl& Signature,
90 IMemoryAllocator& Allocator,
96 void Destroy(IMemoryAllocator& Allocator);
131 const ResourceAttribs& GetResourceAttribs(
Uint32 Index)
const;
148 Uint32 m_NumVariables = 0;
150 #ifdef DILIGENT_DEBUG
162 TBase{ParentManager, ResIndex}
174 if (ppInterface ==
nullptr)
177 *ppInterface =
nullptr;
178 if (IID == IID_ShaderResourceVariableD3D || IID == IID_ShaderResourceVariable || IID == IID_Unknown)
181 (*ppInterface)->AddRef();
193 HLSLResDesc.ShaderRegister = GetAttribs().
Register;
208 const ResourceAttribs& GetAttribs()
const
char Char
Definition: BasicTypes.h:64
virtual void QueryInterface(const INTERFACE_ID &IID, IObject **ppInterface) override final
Definition: ShaderVariableManagerD3D12.hpp:172
~ShaderVariableManagerD3D12()
Definition: ShaderVariableManagerD3D12.cpp:117
SHADER_TYPE
Describes the shader type.
Definition: GraphicsTypes.h:65
Uint32 Flags
Definition: DXBCUtils.cpp:71
Implementation of the Diligent::PipelineResourceSignatureD3D12Impl class.
Definition: PipelineResourceSignatureD3D12Impl.hpp:55
Base interface for all dynamic objects in the engine.
Definition: Object.h:41
HLSL resource description.
Definition: ShaderD3D.h:46
Definition: ShaderVariableManagerD3D12.hpp:156
virtual bool IsBound(Uint32 ArrayIndex) const override final
Definition: ShaderVariableManagerD3D12.hpp:185
ShaderVariableD3D12Impl(ShaderVariableManagerD3D12 &ParentManager, Uint32 ResIndex)
Definition: ShaderVariableManagerD3D12.hpp:160
Definition: PipelineResourceAttribsD3D12.hpp:43
Base interface for all objects created by the render device Diligent::IRenderDevice.
Definition: DeviceObject.h:52
virtual void GetHLSLResourceDesc(HLSLShaderResourceDesc &HLSLResDesc) const override final
Definition: ShaderVariableManagerD3D12.hpp:190
Unique interface identifier.
Definition: InterfaceID.h:37
ShaderVariableManagerD3D12 & operator=(const ShaderVariableManagerD3D12 &)=delete
void Initialize(const PipelineResourceSignatureD3D12Impl &Signature, IMemoryAllocator &Allocator, const SHADER_RESOURCE_VARIABLE_TYPE *AllowedVarTypes, Uint32 NumAllowedTypes, SHADER_TYPE ShaderStages)
Definition: ShaderVariableManagerD3D12.cpp:86
Definition: ShaderResourceCacheD3D12.hpp:119
void BindResource(IDeviceObject *pObj, Uint32 ArrayIndex) const
Definition: ShaderVariableManagerD3D12.hpp:201
const PipelineResourceDesc & GetDesc() const
Definition: ShaderVariableManagerD3D12.hpp:196
#define DILIGENT_CALL_TYPE
Definition: CommonDefinitions.h:45
Pipeline resource description.
Definition: PipelineResourceSignature.h:120
uint32_t Uint32
32-bit unsigned integer
Definition: BasicTypes.h:51
virtual void GetResourceDesc(ShaderResourceDesc &ResourceDesc) const override final
Definition: ShaderResourceVariableBase.hpp:580
void BindResource(IDeviceObject *pObj, Uint32 ArrayIndex, Uint32 ResIndex)
Definition: ShaderVariableManagerD3D12.cpp:613
ShaderVariableManagerD3D12(IObject &Owner, ShaderResourceCacheD3D12 &ResourceCache) noexcept
Definition: ShaderVariableManagerD3D12.hpp:76
void Destroy(IMemoryAllocator &Allocator)
Definition: ShaderVariableManagerD3D12.cpp:122
static size_t GetRequiredMemorySize(const PipelineResourceSignatureD3D12Impl &Signature, const SHADER_RESOURCE_VARIABLE_TYPE *AllowedVarTypes, Uint32 NumAllowedTypes, SHADER_TYPE ShaderStages, Uint32 &NumVariables)
Definition: ShaderVariableManagerD3D12.cpp:69
Base interface for a raw memory allocator.
Definition: MemoryAllocator.h:41
Uint32 GetVariableCount() const
Definition: ShaderVariableManagerD3D12.hpp:117
Definition: ShaderVariableManagerD3D12.hpp:73
const Uint32 Register
Definition: PipelineResourceAttribsD3D12.hpp:68
IObject & GetOwner()
Definition: ShaderVariableManagerD3D12.hpp:119
bool IsBound(Uint32 ArrayIndex, Uint32 ResIndex) const
Definition: ShaderVariableManagerD3D12.cpp:623
ShaderVariableD3D12Impl * GetVariable(const Char *Name) const
Definition: ShaderVariableManagerD3D12.cpp:148
const Uint32 m_ResIndex
Definition: ShaderResourceVariableBase.hpp:633
ShaderVariableD3D12Impl & operator=(const ShaderVariableD3D12Impl &)=delete
void BindResources(IResourceMapping *pResourceMapping, Uint32 Flags)
Definition: ShaderVariableManagerD3D12.cpp:191
ShaderVariableManagerD3D12 & m_ParentManager
Definition: ShaderResourceVariableBase.hpp:630
The library uses Direct3D-style math:
Definition: AdvancedMath.hpp:37
SHADER_RESOURCE_VARIABLE_TYPE
Describes the type of the shader resource variable.
Definition: ShaderResourceVariable.h:48