![]() |
Divide Framework 0.1
A free and open-source 3D Framework under heavy development
|
Classes | |
struct | Entry |
Public Member Functions | |
ResourcePool (RenderAPI api) | |
void | resize (size_t size) |
void | queueDeletion (Handle< T > &handle) |
void | processDeletionQueue () override |
ResourcePtr< T > | get (Handle< T > handle) |
Handle< T > | retrieveHandleLocked (const size_t descriptorHash) |
void | deallocate (Handle< T > &handle) |
Handle< T > | allocate (size_t descriptorHash) |
void | commitLocked (Handle< T > handle, ResourcePtr< T > ptr) |
void | printResources (bool error) final |
void | deallocateInternal (ResourcePtr< T > ptr) |
Handle< T > | allocateLocked (size_t descriptorHash) |
void | deallocateInternal (ResourcePtr< Texture > ptr) |
void | deallocateInternal (ResourcePtr< ShaderProgram > ptr) |
![]() | |
ResourcePoolBase (RenderAPI api) | |
virtual | ~ResourcePoolBase () |
virtual void | printResources (bool error)=0 |
virtual void | processDeletionQueue ()=0 |
Public Attributes | |
SharedMutex | _lock |
eastl::fixed_vector< std::pair< bool, U8 >, ResourcePoolSize, true > | _freeList |
eastl::fixed_vector< Entry, ResourcePoolSize, true > | _resPool |
Static Public Attributes | |
static constexpr size_t | ResourcePoolSize = 512u |
Private Attributes | |
moodycamel::ConcurrentQueue< Handle< T > > | _deletionQueue |
Additional Inherited Members | |
![]() | |
const RenderAPI | _api |
Definition at line 60 of file ResourceCache.inl.
|
explicit |
Definition at line 189 of file ResourceCache.inl.
Handle< T > Divide::ResourcePool< T >::allocate | ( | size_t | descriptorHash | ) |
Definition at line 229 of file ResourceCache.inl.
Handle< T > Divide::ResourcePool< T >::allocateLocked | ( | size_t | descriptorHash | ) |
Definition at line 204 of file ResourceCache.inl.
void Divide::ResourcePool< T >::commitLocked | ( | Handle< T > | handle, |
ResourcePtr< T > | ptr | ||
) |
Definition at line 351 of file ResourceCache.inl.
void Divide::ResourcePool< T >::deallocate | ( | Handle< T > & | handle | ) |
Definition at line 266 of file ResourceCache.inl.
|
inline |
Definition at line 254 of file ResourceCache.inl.
void Divide::ResourcePool< T >::deallocateInternal | ( | ResourcePtr< T > | ptr | ) |
Definition at line 236 of file ResourceCache.inl.
|
inline |
Definition at line 242 of file ResourceCache.inl.
ResourcePtr< T > Divide::ResourcePool< T >::get | ( | Handle< T > | handle | ) |
Definition at line 178 of file ResourceCache.inl.
|
finalvirtual |
Implements Divide::ResourcePoolBase.
Definition at line 140 of file ResourceCache.inl.
|
overridevirtual |
Implements Divide::ResourcePoolBase.
Definition at line 130 of file ResourceCache.inl.
void Divide::ResourcePool< T >::queueDeletion | ( | Handle< T > & | handle | ) |
Definition at line 120 of file ResourceCache.inl.
void Divide::ResourcePool< T >::resize | ( | size_t | size | ) |
Definition at line 197 of file ResourceCache.inl.
Handle< T > Divide::ResourcePool< T >::retrieveHandleLocked | ( | const size_t | descriptorHash | ) |
Definition at line 326 of file ResourceCache.inl.
|
private |
Definition at line 98 of file ResourceCache.inl.
eastl::fixed_vector<std::pair<bool, U8>, ResourcePoolSize, true> Divide::ResourcePool< T >::_freeList |
Definition at line 91 of file ResourceCache.inl.
SharedMutex Divide::ResourcePool< T >::_lock |
Definition at line 90 of file ResourceCache.inl.
eastl::fixed_vector<Entry, ResourcePoolSize, true> Divide::ResourcePool< T >::_resPool |
Definition at line 92 of file ResourceCache.inl.
|
staticconstexpr |
Definition at line 69 of file ResourceCache.inl.