Go to the documentation of this file.
71 class ShaderVariableVkImpl;
80 m_ResourceCache{ResourceCache}
83 void Initialize(
const PipelineResourceSignatureVkImpl& Signature,
84 IMemoryAllocator& Allocator,
91 void Destroy(IMemoryAllocator& Allocator);
126 const ResourceAttribs& GetAttribs(
Uint32 Index)
const;
143 Uint32 m_NumVariables = 0;
145 #ifdef DILIGENT_DEBUG
158 TBase{ParentManager, ResIndex}
ShaderVariableManagerVk(IObject &Owner, ShaderResourceCacheVk &ResourceCache) noexcept
Definition: ShaderVariableManagerVk.hpp:77
char Char
Definition: BasicTypes.h:64
SHADER_TYPE
Describes the shader type.
Definition: GraphicsTypes.h:65
ShaderVariableVkImpl * GetVariable(const Char *Name) const
Definition: ShaderVariableManagerVk.cpp:131
Uint32 Flags
Definition: DXBCUtils.cpp:71
void BindResources(IResourceMapping *pResourceMapping, Uint32 Flags) const
Definition: ShaderVariableManagerVk.cpp:187
ShaderVariableVkImpl & operator=(const ShaderVariableVkImpl &)=delete
Base interface for all dynamic objects in the engine.
Definition: Object.h:41
Definition: ShaderVariableManagerVk.hpp:151
Base interface for all objects created by the render device Diligent::IRenderDevice.
Definition: DeviceObject.h:52
Definition: ShaderResourceCacheVk.hpp:72
bool IsBound(Uint32 ArrayIndex, Uint32 ResIndex) const
Definition: ShaderVariableManagerVk.cpp:653
Definition: ShaderVariableManagerVk.hpp:74
void Initialize(const PipelineResourceSignatureVkImpl &Signature, IMemoryAllocator &Allocator, const SHADER_RESOURCE_VARIABLE_TYPE *AllowedVarTypes, Uint32 NumAllowedTypes, SHADER_TYPE ShaderType)
Definition: ShaderVariableManagerVk.cpp:80
~ShaderVariableManagerVk()
Definition: ShaderVariableManagerVk.cpp:113
static size_t GetRequiredMemorySize(const PipelineResourceSignatureVkImpl &Signature, const SHADER_RESOURCE_VARIABLE_TYPE *AllowedVarTypes, Uint32 NumAllowedTypes, SHADER_TYPE ShaderStages, Uint32 &NumVariables)
Definition: ShaderVariableManagerVk.cpp:63
#define DILIGENT_CALL_TYPE
Definition: CommonDefinitions.h:45
IObject & GetOwner()
Definition: ShaderVariableManagerVk.hpp:114
Pipeline resource description.
Definition: PipelineResourceSignature.h:120
uint32_t Uint32
32-bit unsigned integer
Definition: BasicTypes.h:51
void BindResource(IDeviceObject *pObj, Uint32 ArrayIndex) const
Definition: ShaderVariableManagerVk.hpp:173
Uint32 GetVariableCount() const
Definition: ShaderVariableManagerVk.hpp:112
void BindResource(IDeviceObject *pObj, Uint32 ArrayIndex, Uint32 ResIndex)
Definition: ShaderVariableManagerVk.cpp:642
Base interface for a raw memory allocator.
Definition: MemoryAllocator.h:41
ShaderVariableVkImpl(ShaderVariableManagerVk &ParentManager, Uint32 ResIndex)
Definition: ShaderVariableManagerVk.hpp:156
const Uint32 m_ResIndex
Definition: ShaderResourceVariableBase.hpp:633
void Destroy(IMemoryAllocator &Allocator)
Definition: ShaderVariableManagerVk.cpp:118
Uint16 ShaderType
Definition: DXBCUtils.cpp:70
Definition: PipelineResourceAttribsVk.hpp:65
Implementation of the Diligent::PipelineResourceSignatureVkImpl class.
Definition: PipelineResourceSignatureVkImpl.hpp:54
ShaderVariableManagerVk & m_ParentManager
Definition: ShaderResourceVariableBase.hpp:630
The library uses Direct3D-style math:
Definition: AdvancedMath.hpp:37
virtual bool IsBound(Uint32 ArrayIndex) const override final
Definition: ShaderVariableManagerVk.hpp:168
SHADER_RESOURCE_VARIABLE_TYPE
Describes the type of the shader resource variable.
Definition: ShaderResourceVariable.h:48