84 void Free(uint32_t
id);
Allocator interface (noexcept)
Definition Allocator.hpp:29
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:246
Scoped move-only RAII handle wrapper for RHI Objects.
Definition Details.hpp:85
Definition Resource.hpp:238
Definition Resource.hpp:216
Definition Bindless.hpp:10
void RemoveStats(Binding const &binding)
Definition Bindless.cpp:50
RHIDeviceDescriptorSet * GetStorageDescriptorSet() const
Definition Bindless.hpp:93
RHIDeviceDescriptorPoolScopedHandle< RHIDeviceDescriptorSet > mDescSet
Definition Bindless.hpp:36
void UpdateStorageView(uint32_t id, RHITextureView *view)
Definition Bindless.cpp:97
Allocator *const mAllocator
Definition Bindless.hpp:30
uint32_t UpdateDescriptor(uint32_t id, RHITextureView *view)
Definition Bindless.cpp:3
RHIDeviceDescriptorSet * GetDescriptorSet() const
Definition Bindless.hpp:91
RHITexture * GetResource(uint32_t id)
Definition Bindless.cpp:111
void Free(uint32_t id)
Free a binding, and - with it - the owned resource (if any).
Definition Bindless.cpp:102
AtomicPool< Binding > mBindings
Definition Bindless.hpp:32
const BindlessPoolDesc mDesc
Definition Bindless.hpp:66
Stats GetStats() const
Definition Bindless.cpp:131
RHIDeviceDescriptorSetLayout * GetDescriptorSetLayout() const
Definition Bindless.hpp:90
void ClearStorageView(uint32_t id)
Definition Bindless.hpp:95
Mutex mDescMutex
Definition Bindless.hpp:41
size_t mReferencedTextureBytes
Definition Bindless.hpp:44
RHIDeviceScopedHandle< RHIDeviceDescriptorPool > mStorageDescPool
Definition Bindless.hpp:38
RHITextureView * GetView(uint32_t id)
Definition Bindless.cpp:121
size_t mOwnedTextureBytes
Definition Bindless.hpp:45
uint32_t mActiveBindings
Definition Bindless.hpp:42
RHIDeviceScopedHandle< RHIDeviceDescriptorPool > mDescPool
Definition Bindless.hpp:35
uint32_t Allocate(RHITextureView *view)
Definition Bindless.cpp:60
void UpdateStorageDescriptor(uint32_t id, RHITextureView *view)
Definition Bindless.cpp:12
RHIDeviceScopedHandle< RHIDeviceDescriptorSetLayout > mStorageDescLayout
Definition Bindless.hpp:37
RHIDeviceIdleGuard mIdleGuard
Definition Bindless.hpp:47
RHIDeviceDescriptorPoolScopedHandle< RHIDeviceDescriptorSet > mStorageDescSet
Definition Bindless.hpp:39
uint32_t mOwnedTextureBindings
Definition Bindless.hpp:43
RHIDeviceDescriptorSetLayout * GetStorageDescriptorSetLayout() const
Definition Bindless.hpp:92
void AddStats(Binding const &binding)
Definition Bindless.cpp:40
RHIDevice *const mDevice
Definition Bindless.hpp:29
RHIDeviceScopedHandle< RHIDeviceDescriptorSetLayout > mDescLayout
Definition Bindless.hpp:34
std::mutex Mutex
Definition Thread.hpp:10
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:378
Definition Bindless.hpp:21
View view
Definition Bindless.hpp:24
size_t referencedTextureBytes
Definition Bindless.hpp:25
uint32_t id
Definition Bindless.hpp:22
Resource resource
Definition Bindless.hpp:23
size_t ownedTextureBytes
Definition Bindless.hpp:26
Definition Bindless.hpp:55
uint32_t maxBindings
Definition Bindless.hpp:56
Definition Bindless.hpp:59
size_t referencedTextureBytes
Definition Bindless.hpp:63
uint32_t ownedTextureBindings
Definition Bindless.hpp:62
uint32_t capacity
Definition Bindless.hpp:61
size_t ownedTextureBytes
Definition Bindless.hpp:64
uint32_t activeBindings
Definition Bindless.hpp:60