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

#include <VulkanBindlessDescriptorManager.h>

Public Types

typedef TStaticArray< TArray< VkDescriptorAddressInfoEXT >, ShaderStage::MaxNumStagesFUniformBufferDescriptorArrays
 

Public Member Functions

 FVulkanBindlessDescriptorManager (FVulkanDevice &InDevice)
 
 ~FVulkanBindlessDescriptorManager ()
 
void Init ()
 
void Deinit ()
 
bool IsSupported ()
 
VkPipelineLayout GetPipelineLayout () const
 
void BindDescriptorBuffers (VkCommandBuffer CommandBuffer, VkPipelineStageFlags SupportedStages)
 
FRHIDescriptorHandle AllocateDescriptor (VkDescriptorType DescriptorType)
 
FRHIDescriptorHandle AllocateDescriptor (VkDescriptorType DescriptorType, VkImageView VulkanImage, bool bIsDepthStencil)
 
FRHIDescriptorHandle AllocateDescriptor (VkDescriptorType DescriptorType, VkDeviceAddress BufferAddress, VkDeviceSize BufferSize)
 
FRHIDescriptorHandle AllocateDescriptor (VkDescriptorType DescriptorType, FVulkanBuffer *Buffer, uint32 ExtraOffset)
 
FRHIDescriptorHandle AllocateDescriptor (VkSampler VulkanSampler)
 
void FreeDescriptor (FRHIDescriptorHandle DescriptorHandle)
 
void UpdateSampler (const FVulkanContextArray &Contexts, FRHIDescriptorHandle DescriptorHandle, VkSampler VulkanSampler)
 
void UpdateImage (const FVulkanContextArray &Contexts, FRHIDescriptorHandle DescriptorHandle, VkDescriptorType DescriptorType, VkImageView VulkanImage, bool bIsDepthStencil, bool bImmediateUpdate=true)
 
void UpdateBuffer (const FVulkanContextArray &Contexts, FRHIDescriptorHandle DescriptorHandle, VkDescriptorType DescriptorType, VkBuffer VulkanBuffer, VkDeviceSize BufferOffset, VkDeviceSize BufferSize, bool bImmediateUpdate=true)
 
void UpdateBuffer (const FVulkanContextArray &Contexts, FRHIDescriptorHandle DescriptorHandle, VkDescriptorType DescriptorType, VkDeviceAddress BufferAddress, VkDeviceSize BufferSize, bool bImmediateUpdate=true)
 
void UpdateTexelBuffer (const FVulkanContextArray &Contexts, FRHIDescriptorHandle DescriptorHandle, VkDescriptorType DescriptorType, const VkBufferViewCreateInfo &ViewInfo, bool bImmediateUpdate=true)
 
void UpdateAccelerationStructure (const FVulkanContextArray &Contexts, FRHIDescriptorHandle DescriptorHandle, VkAccelerationStructureKHR AccelerationStructure, bool bImmediateUpdate=true)
 
void RegisterUniformBuffers (FVulkanCommandListContext &Context, VkPipelineBindPoint BindPoint, const FUniformBufferDescriptorArrays &StageUBs)
 
void UpdateUBAllocator ()
 

Member Typedef Documentation

◆ FUniformBufferDescriptorArrays

Constructor & Destructor Documentation

◆ FVulkanBindlessDescriptorManager()

FVulkanBindlessDescriptorManager::FVulkanBindlessDescriptorManager ( FVulkanDevice InDevice)

◆ ~FVulkanBindlessDescriptorManager()

FVulkanBindlessDescriptorManager::~FVulkanBindlessDescriptorManager ( )

Member Function Documentation

◆ AllocateDescriptor() [1/5]

FRHIDescriptorHandle FVulkanBindlessDescriptorManager::AllocateDescriptor ( VkDescriptorType  DescriptorType)

◆ AllocateDescriptor() [2/5]

FRHIDescriptorHandle FVulkanBindlessDescriptorManager::AllocateDescriptor ( VkDescriptorType  DescriptorType,
FVulkanBuffer Buffer,
uint32  ExtraOffset 
)

◆ AllocateDescriptor() [3/5]

FRHIDescriptorHandle FVulkanBindlessDescriptorManager::AllocateDescriptor ( VkDescriptorType  DescriptorType,
VkDeviceAddress  BufferAddress,
VkDeviceSize  BufferSize 
)

◆ AllocateDescriptor() [4/5]

FRHIDescriptorHandle FVulkanBindlessDescriptorManager::AllocateDescriptor ( VkDescriptorType  DescriptorType,
VkImageView  VulkanImage,
bool  bIsDepthStencil 
)

◆ AllocateDescriptor() [5/5]

FRHIDescriptorHandle FVulkanBindlessDescriptorManager::AllocateDescriptor ( VkSampler  VulkanSampler)

◆ BindDescriptorBuffers()

void FVulkanBindlessDescriptorManager::BindDescriptorBuffers ( VkCommandBuffer  CommandBuffer,
VkPipelineStageFlags  SupportedStages 
)

◆ Deinit()

void FVulkanBindlessDescriptorManager::Deinit ( )

◆ FreeDescriptor()

void FVulkanBindlessDescriptorManager::FreeDescriptor ( FRHIDescriptorHandle  DescriptorHandle)

◆ GetPipelineLayout()

VkPipelineLayout FVulkanBindlessDescriptorManager::GetPipelineLayout ( ) const
inline

◆ Init()

void FVulkanBindlessDescriptorManager::Init ( )

◆ IsSupported()

bool FVulkanBindlessDescriptorManager::IsSupported ( )
inline

◆ RegisterUniformBuffers()

void FVulkanBindlessDescriptorManager::RegisterUniformBuffers ( FVulkanCommandListContext Context,
VkPipelineBindPoint  BindPoint,
const FUniformBufferDescriptorArrays StageUBs 
)

◆ UpdateAccelerationStructure()

void FVulkanBindlessDescriptorManager::UpdateAccelerationStructure ( const FVulkanContextArray Contexts,
FRHIDescriptorHandle  DescriptorHandle,
VkAccelerationStructureKHR  AccelerationStructure,
bool  bImmediateUpdate = true 
)

◆ UpdateBuffer() [1/2]

void FVulkanBindlessDescriptorManager::UpdateBuffer ( const FVulkanContextArray Contexts,
FRHIDescriptorHandle  DescriptorHandle,
VkDescriptorType  DescriptorType,
VkBuffer  VulkanBuffer,
VkDeviceSize  BufferOffset,
VkDeviceSize  BufferSize,
bool  bImmediateUpdate = true 
)

◆ UpdateBuffer() [2/2]

void FVulkanBindlessDescriptorManager::UpdateBuffer ( const FVulkanContextArray Contexts,
FRHIDescriptorHandle  DescriptorHandle,
VkDescriptorType  DescriptorType,
VkDeviceAddress  BufferAddress,
VkDeviceSize  BufferSize,
bool  bImmediateUpdate = true 
)

◆ UpdateImage()

void FVulkanBindlessDescriptorManager::UpdateImage ( const FVulkanContextArray Contexts,
FRHIDescriptorHandle  DescriptorHandle,
VkDescriptorType  DescriptorType,
VkImageView  VulkanImage,
bool  bIsDepthStencil,
bool  bImmediateUpdate = true 
)

◆ UpdateSampler()

void FVulkanBindlessDescriptorManager::UpdateSampler ( const FVulkanContextArray Contexts,
FRHIDescriptorHandle  DescriptorHandle,
VkSampler  VulkanSampler 
)

◆ UpdateTexelBuffer()

void FVulkanBindlessDescriptorManager::UpdateTexelBuffer ( const FVulkanContextArray Contexts,
FRHIDescriptorHandle  DescriptorHandle,
VkDescriptorType  DescriptorType,
const VkBufferViewCreateInfo ViewInfo,
bool  bImmediateUpdate = true 
)

◆ UpdateUBAllocator()

void FVulkanBindlessDescriptorManager::UpdateUBAllocator ( )

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