34 return BindlessPipelineLayout;
63 const bool bIsSupported;
67 struct BindlessSetState
71 if (CPUDescriptorMemory)
82 uint32 DescriptorCapacity = 0;
87 uint8* MappedPointer =
nullptr;
89 uint8* CPUDescriptorMemory =
nullptr;
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ERHIDescriptorType
Definition RHIDefinitions.h:1348
Definition RHIDescriptorAllocator.h:87
Definition VulkanBindlessDescriptorManager.h:17
TStaticArray< TArray< VkDescriptorAddressInfoEXT >, ShaderStage::MaxNumStages > FUniformBufferDescriptorArrays
Definition VulkanBindlessDescriptorManager.h:22
void Deinit()
Definition VulkanBindlessDescriptorManager.cpp:328
void BindDescriptorBuffers(VkCommandBuffer CommandBuffer, VkPipelineStageFlags SupportedStages)
Definition VulkanBindlessDescriptorManager.cpp:657
bool IsSupported()
Definition VulkanBindlessDescriptorManager.h:27
void UpdateUBAllocator()
Definition VulkanBindlessDescriptorManager.cpp:963
FRHIDescriptorHandle AllocateDescriptor(VkDescriptorType DescriptorType)
Definition VulkanBindlessDescriptorManager.cpp:737
void Init()
Definition VulkanBindlessDescriptorManager.cpp:370
void UpdateTexelBuffer(const FVulkanContextArray &Contexts, FRHIDescriptorHandle DescriptorHandle, VkDescriptorType DescriptorType, const VkBufferViewCreateInfo &ViewInfo, bool bImmediateUpdate=true)
Definition VulkanBindlessDescriptorManager.cpp:923
void RegisterUniformBuffers(FVulkanCommandListContext &Context, VkPipelineBindPoint BindPoint, const FUniformBufferDescriptorArrays &StageUBs)
Definition VulkanBindlessDescriptorManager.cpp:679
void UpdateBuffer(const FVulkanContextArray &Contexts, FRHIDescriptorHandle DescriptorHandle, VkDescriptorType DescriptorType, VkBuffer VulkanBuffer, VkDeviceSize BufferOffset, VkDeviceSize BufferSize, bool bImmediateUpdate=true)
Definition VulkanBindlessDescriptorManager.cpp:891
void UpdateImage(const FVulkanContextArray &Contexts, FRHIDescriptorHandle DescriptorHandle, VkDescriptorType DescriptorType, VkImageView VulkanImage, bool bIsDepthStencil, bool bImmediateUpdate=true)
Definition VulkanBindlessDescriptorManager.cpp:873
void UpdateAccelerationStructure(const FVulkanContextArray &Contexts, FRHIDescriptorHandle DescriptorHandle, VkAccelerationStructureKHR AccelerationStructure, bool bImmediateUpdate=true)
Definition VulkanBindlessDescriptorManager.cpp:947
FRHIDescriptorHandle AllocateDescriptor(VkDescriptorType DescriptorType, VkImageView VulkanImage, bool bIsDepthStencil)
void UpdateSampler(const FVulkanContextArray &Contexts, FRHIDescriptorHandle DescriptorHandle, VkSampler VulkanSampler)
Definition VulkanBindlessDescriptorManager.cpp:863
void FreeDescriptor(FRHIDescriptorHandle DescriptorHandle)
Definition VulkanBindlessDescriptorManager.cpp:784
VkPipelineLayout GetPipelineLayout() const
Definition VulkanBindlessDescriptorManager.h:32
~FVulkanBindlessDescriptorManager()
Definition VulkanBindlessDescriptorManager.cpp:323
Definition VulkanResources.h:837
Definition VulkanContext.h:241
Definition VulkanDevice.h:279
Definition StaticArray.h:26
Definition VulkanMemory.h:955
@ MaxNumStages
Definition VulkanCommon.h:55
@ NumBindlessSets
Definition VulkanCommon.h:133
@ MaxNumSets
Definition VulkanCommon.h:139
static FORCENOINLINE CORE_API void Free(void *Original)
Definition UnrealMemory.cpp:685
Definition RHIDefinitions.h:1401
Definition VulkanContext.h:517