Diligent Engine  v.2.4.g
Classes | Public Member Functions | Static Public Member Functions | List of all members
Diligent::ShaderResourceCacheVk Class Reference

#include <ShaderResourceCacheVk.hpp>

Classes

class  DescriptorSet
 
struct  Resource
 

Public Member Functions

 ShaderResourceCacheVk (ResourceCacheContentType ContentType) noexcept
 
 ShaderResourceCacheVk (const ShaderResourceCacheVk &)=delete
 
 ShaderResourceCacheVk (ShaderResourceCacheVk &&)=delete
 
ShaderResourceCacheVkoperator= (const ShaderResourceCacheVk &)=delete
 
ShaderResourceCacheVkoperator= (ShaderResourceCacheVk &&)=delete
 
 ~ShaderResourceCacheVk ()
 
void InitializeSets (IMemoryAllocator &MemAllocator, Uint32 NumSets, const Uint32 *SetSizes)
 
void InitializeResources (Uint32 Set, Uint32 Offset, Uint32 ArraySize, DescriptorType Type, bool HasImmutableSampler)
 
const DescriptorSetGetDescriptorSet (Uint32 Index) const
 
void AssignDescriptorSetAllocation (Uint32 SetIndex, DescriptorSetAllocation &&Allocation)
 
const ResourceSetResource (const VulkanUtilities::VulkanLogicalDevice *pLogicalDevice, Uint32 SetIndex, Uint32 Offset, Uint32 BindingIndex, Uint32 ArrayIndex, RefCntAutoPtr< IDeviceObject > &&pObject)
 
const ResourceResetResource (Uint32 SetIndex, Uint32 Offset)
 
Uint32 GetNumDescriptorSets () const
 
Uint32 GetNumDynamicBuffers () const
 
ResourceCacheContentType GetContentType () const
 
template<bool VerifyOnly>
void TransitionResources (DeviceContextVkImpl *pCtxVkImpl)
 
__forceinline Uint32 GetDynamicBufferOffsets (Uint32 CtxId, DeviceContextVkImpl *pCtxVkImpl, std::vector< uint32_t > &Offsets) const
 

Static Public Member Functions

static size_t GetRequiredMemorySize (Uint32 NumSets, const Uint32 *SetSizes)
 

Constructor & Destructor Documentation

◆ ShaderResourceCacheVk() [1/3]

Diligent::ShaderResourceCacheVk::ShaderResourceCacheVk ( ResourceCacheContentType  ContentType)
inlineexplicitnoexcept

◆ ShaderResourceCacheVk() [2/3]

Diligent::ShaderResourceCacheVk::ShaderResourceCacheVk ( const ShaderResourceCacheVk )
delete

◆ ShaderResourceCacheVk() [3/3]

Diligent::ShaderResourceCacheVk::ShaderResourceCacheVk ( ShaderResourceCacheVk &&  )
delete

◆ ~ShaderResourceCacheVk()

Diligent::ShaderResourceCacheVk::~ShaderResourceCacheVk ( )

Member Function Documentation

◆ AssignDescriptorSetAllocation()

void Diligent::ShaderResourceCacheVk::AssignDescriptorSetAllocation ( Uint32  SetIndex,
DescriptorSetAllocation &&  Allocation 
)
inline

◆ GetContentType()

ResourceCacheContentType Diligent::ShaderResourceCacheVk::GetContentType ( ) const
inline

◆ GetDescriptorSet()

const DescriptorSet& Diligent::ShaderResourceCacheVk::GetDescriptorSet ( Uint32  Index) const
inline

◆ GetDynamicBufferOffsets()

__forceinline Uint32 Diligent::ShaderResourceCacheVk::GetDynamicBufferOffsets ( Uint32  CtxId,
DeviceContextVkImpl pCtxVkImpl,
std::vector< uint32_t > &  Offsets 
) const

◆ GetNumDescriptorSets()

Uint32 Diligent::ShaderResourceCacheVk::GetNumDescriptorSets ( ) const
inline

◆ GetNumDynamicBuffers()

Uint32 Diligent::ShaderResourceCacheVk::GetNumDynamicBuffers ( ) const
inline

◆ GetRequiredMemorySize()

size_t Diligent::ShaderResourceCacheVk::GetRequiredMemorySize ( Uint32  NumSets,
const Uint32 SetSizes 
)
static

◆ InitializeResources()

void Diligent::ShaderResourceCacheVk::InitializeResources ( Uint32  Set,
Uint32  Offset,
Uint32  ArraySize,
DescriptorType  Type,
bool  HasImmutableSampler 
)

◆ InitializeSets()

void Diligent::ShaderResourceCacheVk::InitializeSets ( IMemoryAllocator MemAllocator,
Uint32  NumSets,
const Uint32 SetSizes 
)

◆ operator=() [1/2]

ShaderResourceCacheVk& Diligent::ShaderResourceCacheVk::operator= ( const ShaderResourceCacheVk )
delete

◆ operator=() [2/2]

ShaderResourceCacheVk& Diligent::ShaderResourceCacheVk::operator= ( ShaderResourceCacheVk &&  )
delete

◆ ResetResource()

const Resource& Diligent::ShaderResourceCacheVk::ResetResource ( Uint32  SetIndex,
Uint32  Offset 
)
inline

◆ SetResource()

const ShaderResourceCacheVk::Resource & Diligent::ShaderResourceCacheVk::SetResource ( const VulkanUtilities::VulkanLogicalDevice pLogicalDevice,
Uint32  SetIndex,
Uint32  Offset,
Uint32  BindingIndex,
Uint32  ArrayIndex,
RefCntAutoPtr< IDeviceObject > &&  pObject 
)

◆ TransitionResources()

template<bool VerifyOnly>
template void Diligent::ShaderResourceCacheVk::TransitionResources< true > ( DeviceContextVkImpl pCtxVkImpl)

The documentation for this class was generated from the following files: