![]() |
XII Release 0.1.0
|
#include <BindlessResourceTable.h>
Static Public Member Functions | |
| static xiiResult | Configure (const xiiGALBindlessResourceTableDescription &description) |
| static const xiiGALBindlessResourceTableDescription & | GetConfiguration () |
| static bool | IsInitialized () |
| static void | Clear () |
| static xiiGALBindlessResourceHandle | RegisterBufferSRV (xiiSharedPtr< xiiGALBufferView > pView) |
| static xiiGALBindlessResourceHandle | RegisterBufferUAV (xiiSharedPtr< xiiGALBufferView > pView) |
| static xiiGALBindlessResourceHandle | RegisterTextureSRV (xiiSharedPtr< xiiGALTextureView > pView) |
| static xiiGALBindlessResourceHandle | RegisterTextureUAV (xiiSharedPtr< xiiGALTextureView > pView) |
| static xiiGALBindlessResourceHandle | RegisterSampler (xiiSharedPtr< xiiGALSampler > pSampler) |
| static bool | UpdateBufferSRV (xiiGALBindlessResourceHandle handle, xiiSharedPtr< xiiGALBufferView > pView) |
| static bool | UpdateBufferUAV (xiiGALBindlessResourceHandle handle, xiiSharedPtr< xiiGALBufferView > pView) |
| static bool | UpdateTextureSRV (xiiGALBindlessResourceHandle handle, xiiSharedPtr< xiiGALTextureView > pView) |
| static bool | UpdateTextureUAV (xiiGALBindlessResourceHandle handle, xiiSharedPtr< xiiGALTextureView > pView) |
| static bool | UpdateSampler (xiiGALBindlessResourceHandle handle, xiiSharedPtr< xiiGALSampler > pSampler) |
| static bool | RetireBufferSRV (xiiGALBindlessResourceHandle handle, xiiUInt64 uiLastUseFenceValue) |
| static bool | RetireBufferUAV (xiiGALBindlessResourceHandle handle, xiiUInt64 uiLastUseFenceValue) |
| static bool | RetireTextureSRV (xiiGALBindlessResourceHandle handle, xiiUInt64 uiLastUseFenceValue) |
| static bool | RetireTextureUAV (xiiGALBindlessResourceHandle handle, xiiUInt64 uiLastUseFenceValue) |
| static bool | RetireSampler (xiiGALBindlessResourceHandle handle, xiiUInt64 uiLastUseFenceValue) |
| static void | Collect (xiiUInt64 uiCompletedFenceValue) |
| static void | BindBufferSRVs (xiiGALCommandList &commandList, const xiiTempHashedString &sResourceName, xiiBitflags< xiiGALShaderType > stages=xiiGALShaderType::Unknown) |
| static void | BindBufferUAVs (xiiGALCommandList &commandList, const xiiTempHashedString &sResourceName, xiiBitflags< xiiGALShaderType > stages=xiiGALShaderType::Unknown) |
| static void | BindTextureSRVs (xiiGALCommandList &commandList, const xiiTempHashedString &sResourceName, xiiBitflags< xiiGALShaderType > stages=xiiGALShaderType::Unknown) |
| static void | BindTextureUAVs (xiiGALCommandList &commandList, const xiiTempHashedString &sResourceName, xiiBitflags< xiiGALShaderType > stages=xiiGALShaderType::Unknown) |
| static void | BindSamplers (xiiGALCommandList &commandList, const xiiTempHashedString &sResourceName, xiiBitflags< xiiGALShaderType > stages=xiiGALShaderType::Unknown) |
| static xiiGALBindlessResourceTableStats | GetStats () |
Backend-independent owner for sparse bindless descriptor tables.
Resources remain strongly referenced after Retire() until Collect() observes the last-use fence. The descriptor and its stable index therefore cannot alias while an older command list is still executing. A table can be rebound to every command list because only occupied slots are emitted by descriptor-indexing backends.
|
staticnodiscard |
Rebuilds empty descriptor tables with a new capacity policy. Reconfiguration is rejected while live or retired handles still occupy slots.