|
| MetalStagingTexture (VaoManager *vaoManager, PixelFormatGpu formatFamily, size_t sizeBytes, MetalDevice *device) |
|
virtual | ~MetalStagingTexture () |
|
size_t | _getInternalBufferStart (void) const |
|
size_t | _getInternalTotalSizeBytes (void) const |
|
virtual size_t | _getSizeBytes (void) |
| Returns size in bytes.
|
|
PixelFormatGpu | getFormatFamily (void) const |
| Returns the format family it was requested.
|
|
uint32 | getLastFrameUsed (void) const |
|
size_t | getVboPoolIndex (void) |
|
virtual bool | isSmallerThan (const StagingTexture *other) const |
|
TextureBox | mapRegion (uint32 width, uint32 height, uint32 depth, uint32 slices, PixelFormatGpu pixelFormat) |
| Can be called from worker thread, but not from multiple threads at the same time, also you can't call anything else either.
|
|
void | operator delete (void *ptr) |
|
void | operator delete (void *ptr, const char *, int, const char *) |
|
void | operator delete (void *ptr, void *) |
|
void | operator delete[] (void *ptr) |
|
void | operator delete[] (void *ptr, const char *, int, const char *) |
|
void * | operator new (size_t sz) |
|
void * | operator new (size_t sz, const char *file, int line, const char *func) |
| operator new, with debug line info
|
|
void * | operator new (size_t sz, void *ptr) |
| placement operator new
|
|
void * | operator new[] (size_t sz) |
|
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
| array operator new, with debug line info
|
|
virtual void | startMapRegion (void) |
|
virtual void | stopMapRegion (void) |
| Must be called from main thread when the StagingBuffer is released.
|
|
virtual bool | supportsFormat (uint32 width, uint32 height, uint32 depth, uint32 slices, PixelFormatGpu pixelFormat) const |
| D3D11 has restrictions about which StagingTextures can be uploaded to which textures based on texture families (for example all PFG_RGBA32_* belong to the same family).
|
|
virtual void | upload (const TextureBox &srcBox, TextureGpu *dstTexture, uint8 mipLevel, const TextureBox *cpuSrcBox=0, const TextureBox *dstBox=0, bool skipSysRamCopy=false) |
| Uploads a region of data in srcBox (which must have been created with mapRegion) into dstTexture.
|
|
bool | uploadWillStall (void) |
| If it returns true, startMapRegion will stall.
|
|
Returns the format family it was requested.
Note that in non-D3D11 RenderSystems, supportsFormat may return true despite a format not being from the same family. This information is mostly useful for keeping memory budgets consistent between different APIs (e.g. on D3D11 two StagingTextures, one that supports RGB8, another for BC1 of 64 MB each; on OpenGL we need to request two textures of 64MB each, and not just one because the first one can fulfill every request)
D3D11 has restrictions about which StagingTextures can be uploaded to which textures based on texture families (for example all PFG_RGBA32_* belong to the same family).
This function will return true if the StagingTexture can be used with the given format. On all the other RenderSystems, this nonsense does not exist thus it returns always true unless the request is so big it could never be fullfilled (it's larger than our maximum capacity)
Implements Ogre::StagingTexture.
Reimplemented in Ogre::VulkanStagingTexture.