XLE  v0.02.0
Classes | Public Types | Public Member Functions | Protected Types | Protected Attributes | List of all members
BufferUploads::ResourcesPool< Desc > Class Template Reference
Inheritance diagram for BufferUploads::ResourcesPool< Desc >:
Inheritance graph
[legend]

Classes

struct  CompareFirst
 
class  PoolOfLikeResources
 

Public Types

typedef RenderCore::Metal::Underlying::Resource UnderlyingResource
 

Public Member Functions

intrusive_ptr< ResourceLocatorCreateResource (const Desc &, unsigned realSize, bool &deviceCreation)
 
virtual void AddRef (uint64 resourceMarker, UnderlyingResource *resource, unsigned offset, unsigned size)
 
virtual void ReturnToPool (uint64 resourceMarker, intrusive_ptr< UnderlyingResource > &&resource, unsigned offset, unsigned size)
 
std::vector< PoolMetricsCalculateMetrics () const
 
ObjectFactory * GetUnderlyingDevice ()
 
void OnLostDevice ()
 
void Update (unsigned newFrameID)
 
 ResourcesPool (RenderCore::IDevice *device, unsigned retainFrames=~unsigned(0x0))
 

Protected Types

typedef std::pair< DescHash, std::shared_ptr< PoolOfLikeResources > > HashTableEntry
 
typedef std::vector< HashTableEntry > HashTable
 

Protected Attributes

HashTable _hashTables [2]
 
volatile Interlocked::Value _readerCount [2]
 
unsigned _hashTableIndex
 
Threading::Mutex _writerLock
 
unsigned _retainFrames
 
ObjectFactory _underlyingDevice
 

The documentation for this class was generated from the following files: