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:18
Definition Descriptor.hpp:11
Definition Device.hpp:188
Scoped move-only RAII handle wrapper for RHI Objects.
Definition Details.hpp:86
Definition Resource.hpp:188
Definition Resource.hpp:169
Definition Bindless.hpp:11
RHIDeviceDescriptorPoolScopedHandle< RHIDeviceDescriptorSet > mDescSet
Definition Bindless.hpp:35
Resource & GetResource(uint32_t id)
Definition Bindless.hpp:63
Allocator *const mAllocator
Definition Bindless.hpp:29
uint32_t Update(uint32_t id, RHITextureView *view)
Definition Bindless.cpp:3
RHIDeviceDescriptorSet * GetDescriptorSet() const
Definition Bindless.hpp:67
void Free(uint32_t id)
Free a binding, and - with it - the owned resource (if any).
Definition Bindless.cpp:34
AtomicPool< Binding > mBindings
Definition Bindless.hpp:31
const BindlessPoolDesc mDesc
Definition Bindless.hpp:47
RHIDeviceDescriptorSetLayout * GetDescriptorSetLayout() const
Definition Bindless.hpp:66
Mutex mDescMutex
Definition Bindless.hpp:37
View & GetView(uint32_t id)
Definition Bindless.hpp:64
RHIDeviceScopedHandle< RHIDeviceDescriptorPool > mDescPool
Definition Bindless.hpp:34
uint32_t Allocate(RHITextureView *view)
Definition Bindless.cpp:24
RHIDeviceIdleGuard mIdleGuard
Definition Bindless.hpp:39
RHIDevice *const mDevice
Definition Bindless.hpp:28
RHIDeviceScopedHandle< RHIDeviceDescriptorSetLayout > mDescLayout
Definition Bindless.hpp:33
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:149
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:299
Definition Bindless.hpp:22
View view
Definition Bindless.hpp:25
uint32_t id
Definition Bindless.hpp:23
Resource resource
Definition Bindless.hpp:24
Definition Bindless.hpp:44
uint32_t maxBindings
Definition Bindless.hpp:45