|
Foundation
|
#include <Bindless.hpp>
Classes | |
| struct | Binding |
| struct | BindlessPoolDesc |
| struct | Stats |
Public Member Functions | |
| BindlessPool (RHIDevice *device, Allocator *allocator, BindlessPoolDesc const &desc) | |
| uint32_t | Allocate (RHITextureView *view) |
| uint32_t | Allocate (RHIDeviceScopedHandle< RHITexture > &&texture, RHITextureScopedHandle< RHITextureView > &&view) |
| Takes ownership of the texture, and creates a binding for it. | |
| uint32_t | Update (uint32_t id, RHIDeviceScopedHandle< RHITexture > &&texture, RHITextureScopedHandle< RHITextureView > &&view) |
| Replaces an owned texture binding in-place while keeping the same bindless id. | |
| void | Free (uint32_t id) |
| Free a binding, and - with it - the owned resource (if any). | |
| RHITexture * | GetResource (uint32_t id) |
| RHITextureView * | GetView (uint32_t id) |
| Stats | GetStats () const |
| RHIDeviceDescriptorSetLayout * | GetDescriptorSetLayout () const |
| RHIDeviceDescriptorSet * | GetDescriptorSet () const |
Public Attributes | |
| const BindlessPoolDesc | mDesc |
Private Types | |
| using | Resource = Variant< RHITexture *, RHIDeviceScopedHandle< RHITexture > > |
| using | View = Variant< RHITextureView *, RHITextureScopedHandle< RHITextureView > > |
Private Member Functions | |
| uint32_t | UpdateDescriptor (uint32_t id, RHITextureView *view) |
| void | AddStats (Binding const &binding) |
| void | RemoveStats (Binding const &binding) |
|
private |
|
private |
| Foundation::RenderCore::BindlessPool::BindlessPool | ( | RHIDevice * | device, |
| Allocator * | allocator, | ||
| BindlessPoolDesc const & | desc | ||
| ) |
| uint32_t Foundation::RenderCore::BindlessPool::Allocate | ( | RHIDeviceScopedHandle< RHITexture > && | texture, |
| RHITextureScopedHandle< RHITextureView > && | view | ||
| ) |
Takes ownership of the texture, and creates a binding for it.
| uint32_t Foundation::RenderCore::BindlessPool::Allocate | ( | RHITextureView * | view | ) |
@breif Create a binding for the given texture view, with ownership remaining with the caller.
Free a binding, and - with it - the owned resource (if any).
|
inline |
|
inline |
| RHITexture * Foundation::RenderCore::BindlessPool::GetResource | ( | uint32_t | id | ) |
| BindlessPool::Stats Foundation::RenderCore::BindlessPool::GetStats | ( | ) | const |
| RHITextureView * Foundation::RenderCore::BindlessPool::GetView | ( | uint32_t | id | ) |
| uint32_t Foundation::RenderCore::BindlessPool::Update | ( | uint32_t | id, |
| RHIDeviceScopedHandle< RHITexture > && | texture, | ||
| RHITextureScopedHandle< RHITextureView > && | view | ||
| ) |
Replaces an owned texture binding in-place while keeping the same bindless id.
|
private |
|
private |
|
private |
| const BindlessPoolDesc Foundation::RenderCore::BindlessPool::mDesc |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |