XLE
v0.02.0
|
Interface for uploading data to the GPU. More...
Namespaces | |
AllocationRules | |
Container for AllocationRules::Enum. | |
BindFlag | |
Container for BindFlag::Enum. | |
CPUAccess | |
Container for CPUAccess::Enum. | |
GPUAccess | |
Container for GPUAccess::Enum. | |
Classes | |
struct | AssemblyLineMetrics |
struct | AssemblyLineRetirement |
class | BasicRawDataPacket |
struct | BatchedHeapMetrics |
class | BatchedResources |
struct | BatchingSystemMetrics |
class | Box2D |
struct | BufferDesc |
Description of a buffer More... | |
struct | BufferMetrics |
class | CommandList |
struct | CommandListMetrics |
class | CommitStep |
class | DataPacket |
class | Event_ResourceReposition |
class | IManager |
Main interface for BufferUploads More... | |
class | IResourcePool |
struct | LinearBufferDesc |
class | Manager |
class | PartialResource |
Specifies a limited part of a resource More... | |
struct | PoolMetrics |
struct | PoolSystemMetrics |
class | ReferenceCountingLayer |
class | ResourceLocator |
class | ResourceSource |
class | ResourcesPool |
struct | TextureDesc |
class | TexturePitches |
struct | TextureSamples |
class | ThreadContext |
Typedefs | |
typedef uint64 | TransactionID |
typedef IManager | Base_Manager |
typedef IManager | FLEX_MAKE_BASE_NAME(Manager) |
typedef int64 | TimeMarker |
typedef RenderCore::Metal::Underlying::Resource | UnderlyingResource |
typedef uint64 | DescHash |
Enumerations | |
enum | TexFmt { DDS, TGA, WIC, Unknown } |
Functions | |
std::unique_ptr< IManager > | CreateManager (RenderCore::IDevice *renderDevice) |
BufferDesc | ExtractDesc (const RenderCore::Metal::Underlying::Resource &resource) |
void | AttachLibrary (ConsoleRig::GlobalServices &globalServices) |
void | DetachLibrary () |
intrusive_ptr< DataPacket > | CreateBasicPacket (size_t dataSize, const void *data, TexturePitches rowAndSlicePitch) |
intrusive_ptr< DataPacket > | CreateEmptyPacket (const BufferDesc &desc) |
intrusive_ptr< DataPacket > | CreateFileDataSource (const void *fileHandle, size_t offset, size_t dataSize, TexturePitches pitches) |
intrusive_ptr< DataPacket > | CreateStreamingTextureSource (StringSection<::Assets::ResChar > filename, TextureLoadFlags::BitField flags) |
TextureDesc | LoadTextureFormat (StringSection<::Assets::ResChar > filename) |
BufferDesc | CreateDesc (BindFlag::BitField bindFlags, CPUAccess::BitField cpuAccess, GPUAccess::BitField gpuAccess, const TextureDesc &textureDesc, const char name[]) |
BufferDesc | CreateDesc (BindFlag::BitField bindFlags, CPUAccess::BitField cpuAccess, GPUAccess::BitField gpuAccess, const LinearBufferDesc &linearBufferDesc, const char name[]) |
bool | operator== (const Box2D &lhs, const Box2D &rhs) |
Interface for uploading data to the GPU.
The buffer uploads interface helps initialise buffer objects on the GPU in a asynchronous manner.
Buffer uploads are usually one of the following types:
But they can represent any large block of data.
The system also supports batching and defragmentation of memory within batches. This is important when uploading many small buffers. Some terrain implementations may frequently need to upload many small buffers per frame. But this can be done more efficiently by batching uploads into larger buffers.
For more information, start with BufferUploads::IManager.