18#if PLATFORM_SUPPORTS_BINDLESS_RENDERING
20#include COMPILED_PLATFORM_HEADER(D3D12BindlessDescriptors.h)
22#if !defined(D3D12RHI_BINDLESS_RESOURCE_MANAGER_SUPPORTS_RESIZING)
23 #error D3D12RHI_BINDLESS_RESOURCE_MANAGER_SUPPORTS_RESIZING needs to be defined
26namespace UE::D3D12BindlessDescriptors
61#if D3D12RHI_CUSTOM_BINDLESS_RESOURCE_MANAGER
66#if D3D12RHI_BINDLESS_RESOURCE_MANAGER_SUPPORTS_RESIZING
87 void CleanupResources();
114#if !D3D12RHI_CUSTOM_BINDLESS_RESOURCE_MANAGER
135template <
typename T,
int32 ArraySize>
143 static_assert(
ArraySize > 0,
"ArraySize must be greater than zero");
148 if (ArraySize == NumValuesUsed)
150 ValuesArray[RemoveNextIdx] =
Value;
151 RemoveNextIdx = (RemoveNextIdx + 1) % ArraySize;
155 ValuesArray[NumValuesUsed] =
Value;
162 T
Max =
static_cast<T
>(0);
185 void CleanupResources();
187 void GarbageCollect();
232 uint64 GarbageCollectCycle = 0;
247 uint64 LastUsedGarbageCollectCycle = 0;
271 void CleanupResources();
280 return ResourceManager.Get();
290 return Configuration;
296 void GarbageCollect();
313#if D3D12RHI_USE_CONSTANT_BUFFER_VIEWS
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
constexpr bool EnumHasAnyFlags(Enum Flags, Enum Contains)
Definition EnumClassFlags.h:35
void Init()
Definition LockFreeList.h:4
ERHIDescriptorTypeMask
Definition RHIDefinitions.h:1367
ERHIDescriptorType
Definition RHIDefinitions.h:1348
ERHIBindlessConfiguration
Definition RHIDefinitions.h:1432
ERHIDescriptorHeapType
Definition RHIDefinitions.h:1338
constexpr ERHIDescriptorTypeMask RHIDescriptorTypeMaskFromType(ERHIDescriptorType InType)
Definition RHIDefinitions.h:1391
ERHIPipeline
Definition RHIPipeline.h:13
uint32 Offset
Definition VulkanMemory.cpp:4033
Definition D3D12RHICommon.h:54
Definition D3D12Adapter.h:136
Definition D3D12CommandContext.h:513
Definition D3D12CommandContext.h:1193
Definition D3D12RHICommon.h:78
Definition D3D12Device.h:176
Definition D3D12State.h:13
Definition D3D12View.h:351
Definition D3D12View.h:388
Definition D3D12View.h:221
Definition RHICommandList.h:455
Definition RHIDescriptorAllocator.h:87
Definition RHIPipeline.h:55
Definition StaticArray.h:26
Definition UniquePtr.h:107
int32 GetMax(const FIntVector3 &V)
Definition Utilities.h:67
constexpr nat ArraySize(t(&)[n])
Definition VerseGrammar.h:60
U16 Index
Definition radfft.cpp:71
Definition D3D12Descriptors.h:95
Definition WindowsD3D12Submission.h:13
Definition RHIDescriptorAllocator.h:10
Definition RHIDefinitions.h:1401
Definition Optional.h:131