UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FVulkanDescriptorSetsLayoutInfo Class Reference

#include <VulkanDescriptorSets.h>

+ Inheritance diagram for FVulkanDescriptorSetsLayoutInfo:

Classes

struct  FSetLayout
 
struct  FStageInfo
 

Public Member Functions

 FVulkanDescriptorSetsLayoutInfo ()
 
uint32 GetTypesUsed (VkDescriptorType Type) const
 
const TArray< FSetLayout > & GetLayouts () const
 
void ProcessBindingsForStage (VkShaderStageFlagBits StageFlags, ShaderStage::EStage DescSetStage, const FVulkanShaderHeader &CodeHeader, FUniformBufferGatherInfo &OutUBGatherInfo) const
 
template<bool bIsCompute>
void FinalizeBindings (const FVulkanDevice &Device, const FUniformBufferGatherInfo &UBGatherInfo, const TArrayView< FRHISamplerState * > &ImmutableSamplers, bool bUsesBindless)
 
void GenerateHash (const TArrayView< FRHISamplerState * > &ImmutableSamplers, VkPipelineBindPoint InBindPoint)
 
bool operator== (const FVulkanDescriptorSetsLayoutInfo &In) const
 
void CopyFrom (const FVulkanDescriptorSetsLayoutInfo &Info)
 
const TMap< VkDescriptorType, uint32 > & GetLayoutTypes () const
 
uint32 GetTypesUsageID () const
 
bool HasInputAttachments () const
 

Public Attributes

TStaticArray< FStageInfo, ShaderStage::MaxNumStagesStageInfos
 

Protected Member Functions

void CompileTypesUsageID ()
 
void AddDescriptor (int32 DescriptorSetIndex, const VkDescriptorSetLayoutBinding &Descriptor)
 

Protected Attributes

TMap< VkDescriptorType, uint32LayoutTypes
 
TArray< FSetLayoutSetLayouts
 
uint32 Hash = 0
 
uint32 TypesUsageID = ~0
 
VkPipelineBindPoint BindPoint = VK_PIPELINE_BIND_POINT_MAX_ENUM
 

Friends

class FVulkanPipelineStateCacheManager
 
class FVulkanCommonPipelineDescriptorState
 
class FVulkanLayout
 
uint32 GetTypeHash (const FVulkanDescriptorSetsLayoutInfo &In)
 

Constructor & Destructor Documentation

◆ FVulkanDescriptorSetsLayoutInfo()

FVulkanDescriptorSetsLayoutInfo::FVulkanDescriptorSetsLayoutInfo ( )
inline

Member Function Documentation

◆ AddDescriptor()

void FVulkanDescriptorSetsLayoutInfo::AddDescriptor ( int32  DescriptorSetIndex,
const VkDescriptorSetLayoutBinding Descriptor 
)
protected

◆ CompileTypesUsageID()

void FVulkanDescriptorSetsLayoutInfo::CompileTypesUsageID ( )
protected

◆ CopyFrom()

void FVulkanDescriptorSetsLayoutInfo::CopyFrom ( const FVulkanDescriptorSetsLayoutInfo Info)
inline

◆ FinalizeBindings()

template<bool bIsCompute>
template void FVulkanDescriptorSetsLayoutInfo::FinalizeBindings< false > ( const FVulkanDevice Device,
const FUniformBufferGatherInfo UBGatherInfo,
const TArrayView< FRHISamplerState * > &  ImmutableSamplers,
bool  bUsesBindless 
)

◆ GenerateHash()

void FVulkanDescriptorSetsLayoutInfo::GenerateHash ( const TArrayView< FRHISamplerState * > &  ImmutableSamplers,
VkPipelineBindPoint  InBindPoint 
)

◆ GetLayouts()

const TArray< FSetLayout > & FVulkanDescriptorSetsLayoutInfo::GetLayouts ( ) const
inline

◆ GetLayoutTypes()

const TMap< VkDescriptorType, uint32 > & FVulkanDescriptorSetsLayoutInfo::GetLayoutTypes ( ) const
inline

◆ GetTypesUsageID()

uint32 FVulkanDescriptorSetsLayoutInfo::GetTypesUsageID ( ) const
inline

◆ GetTypesUsed()

uint32 FVulkanDescriptorSetsLayoutInfo::GetTypesUsed ( VkDescriptorType  Type) const
inline

◆ HasInputAttachments()

bool FVulkanDescriptorSetsLayoutInfo::HasInputAttachments ( ) const
inline

◆ operator==()

bool FVulkanDescriptorSetsLayoutInfo::operator== ( const FVulkanDescriptorSetsLayoutInfo In) const
inline

◆ ProcessBindingsForStage()

void FVulkanDescriptorSetsLayoutInfo::ProcessBindingsForStage ( VkShaderStageFlagBits  StageFlags,
ShaderStage::EStage  DescSetStage,
const FVulkanShaderHeader CodeHeader,
FUniformBufferGatherInfo OutUBGatherInfo 
) const

Friends And Related Symbol Documentation

◆ FVulkanCommonPipelineDescriptorState

◆ FVulkanLayout

friend class FVulkanLayout
friend

◆ FVulkanPipelineStateCacheManager

◆ GetTypeHash

uint32 GetTypeHash ( const FVulkanDescriptorSetsLayoutInfo In)
friend

Member Data Documentation

◆ BindPoint

VkPipelineBindPoint FVulkanDescriptorSetsLayoutInfo::BindPoint = VK_PIPELINE_BIND_POINT_MAX_ENUM
protected

◆ Hash

uint32 FVulkanDescriptorSetsLayoutInfo::Hash = 0
protected

◆ LayoutTypes

TMap<VkDescriptorType, uint32> FVulkanDescriptorSetsLayoutInfo::LayoutTypes
protected

◆ SetLayouts

TArray<FSetLayout> FVulkanDescriptorSetsLayoutInfo::SetLayouts
protected

◆ StageInfos

TStaticArray<FStageInfo, ShaderStage::MaxNumStages> FVulkanDescriptorSetsLayoutInfo::StageInfos

◆ TypesUsageID

uint32 FVulkanDescriptorSetsLayoutInfo::TypesUsageID = ~0
protected

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