General Purpose Allocator (GPA) interface.
Definition Allocator.hpp:24
Atomic, bounded object pool of fixed allocation sizes. Being a sibling to AtomicStack - key differenc...
Definition AtomicPool.hpp:24
Definition Descriptor.hpp:12
Definition Device.hpp:245
Scoped move-only RAII handle wrapper for RHI Objects.
Definition Details.hpp:86
Definition Resource.hpp:238
Definition Resource.hpp:216
Definition Bindless.hpp:11
void RemoveStats(Binding const &binding)
Definition Bindless.cpp:34
RHIDeviceDescriptorPoolScopedHandle< RHIDeviceDescriptorSet > mDescSet
Definition Bindless.hpp:37
Allocator *const mAllocator
Definition Bindless.hpp:31
uint32_t UpdateDescriptor(uint32_t id, RHITextureView *view)
Definition Bindless.cpp:3
RHIDeviceDescriptorSet * GetDescriptorSet() const
Definition Bindless.hpp:88
RHITexture * GetResource(uint32_t id)
Definition Bindless.cpp:90
void Free(uint32_t id)
Free a binding, and - with it - the owned resource (if any).
Definition Bindless.cpp:81
AtomicPool< Binding > mBindings
Definition Bindless.hpp:33
const BindlessPoolDesc mDesc
Definition Bindless.hpp:63
Stats GetStats() const
Definition Bindless.cpp:110
RHIDeviceDescriptorSetLayout * GetDescriptorSetLayout() const
Definition Bindless.hpp:87
Mutex mDescMutex
Definition Bindless.hpp:39
size_t mReferencedTextureBytes
Definition Bindless.hpp:42
RHITextureView * GetView(uint32_t id)
Definition Bindless.cpp:100
size_t mOwnedTextureBytes
Definition Bindless.hpp:43
uint32_t mActiveBindings
Definition Bindless.hpp:40
RHIDeviceScopedHandle< RHIDeviceDescriptorPool > mDescPool
Definition Bindless.hpp:36
uint32_t Allocate(RHITextureView *view)
Definition Bindless.cpp:44
RHIDeviceIdleGuard mIdleGuard
Definition Bindless.hpp:45
uint32_t mOwnedTextureBindings
Definition Bindless.hpp:41
void AddStats(Binding const &binding)
Definition Bindless.cpp:24
RHIDevice *const mDevice
Definition Bindless.hpp:30
RHIDeviceScopedHandle< RHIDeviceDescriptorSetLayout > mDescLayout
Definition Bindless.hpp:35
std::mutex Mutex
Definition Thread.hpp:10
T * Construct(Allocator *resource, Args &&...args)
Convenience placement new with object of type T using a Foundation::Core::Allocator.
Definition Allocator.hpp:153
Core functionalities for rendering, including the Frame Graph implementation.
Definition Bindless.cpp:2
RAII guard to wait for device idle on destruction.
Definition Device.hpp:375
Definition Bindless.hpp:22
View view
Definition Bindless.hpp:25
size_t referencedTextureBytes
Definition Bindless.hpp:26
uint32_t id
Definition Bindless.hpp:23
Resource resource
Definition Bindless.hpp:24
size_t ownedTextureBytes
Definition Bindless.hpp:27
Definition Bindless.hpp:52
uint32_t maxBindings
Definition Bindless.hpp:53
Definition Bindless.hpp:56
size_t referencedTextureBytes
Definition Bindless.hpp:60
uint32_t ownedTextureBindings
Definition Bindless.hpp:59
uint32_t capacity
Definition Bindless.hpp:58
size_t ownedTextureBytes
Definition Bindless.hpp:61
uint32_t activeBindings
Definition Bindless.hpp:57