XLE  v0.02.0
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
BufferUploads::ResourceSource Class Reference

Classes

struct  CreationOptions
 
struct  ResourceConstruction
 

Public Member Functions

ResourceConstruction Create (const BufferDesc &desc, DataPacket *initialisationData=NULL, CreationOptions::BitField options=CreationOptions::AllowDeviceCreation)
 
void Validate (const ResourceLocator &locator)
 
BatchedResourcesGetBatchedResources ()
 
PoolSystemMetrics CalculatePoolMetrics () const
 
void Tick (ThreadContext &context, IManager::EventListID processedEventList, bool &deviceCreation)
 
bool WillBeBatched (const BufferDesc &desc)
 
BatchedResources::ResultFlags::BitField IsBatchedResource (const ResourceLocator &locator, const BufferDesc &desc)
 
void GetQueueEvents (XlHandle waitEvents[], unsigned &waitEventsCount)
 
void FlushDelayedReleases (unsigned gpuBarrierProgress=~unsigned(0x0), bool duringDestructor=false)
 
bool MarkBarrier (unsigned barrierID)
 
void OnLostDevice ()
 
 ResourceSource (RenderCore::IDevice *device)
 

Protected Member Functions

bool UsePooling (const BufferDesc &input)
 
bool UseBatching (const BufferDesc &input)
 
BufferDesc AdjustDescForReusableResource (const BufferDesc &input)
 

Protected Attributes

std::shared_ptr< ResourcesPool< BufferDesc > > _stagingBufferPool
 
std::shared_ptr< ResourcesPool< BufferDesc > > _pooledGeometryBuffers
 
std::shared_ptr< BatchedResources_batchedIndexBuffers
 
uint32 _flushThread
 
unsigned _frameID
 
Threading::Mutex _flushDelayedReleasesLock
 
ObjectFactory _underlyingDevice
 
LockFree::FixedSizeQueue_Waitable< intrusive_ptr< ResourceLocator >, 256 > _delayedReleases
 

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