Metal doesn't support "DISCARD" like D3D9/D3D11 (and OpenGL but often it's broken) where we requested to map a write-only buffer and the API would discard the previous contents (thus allowing us to avoid a stall until the GPU is done with the region)  
 More...
|  | 
|  | MetalDiscardBufferManager (MetalDevice *device, VaoManager *vaoManager) | 
|  | 
|  | ~MetalDiscardBufferManager () | 
|  | 
| void | _getBlock (MetalDiscardBuffer *discardBuffer) | 
|  | For internal use. 
 | 
|  | 
| void | _notifyDeviceStalled (void) | 
|  | 
| MetalDiscardBuffer * | createDiscardBuffer (size_t bufferSize, uint16 alignment) | 
|  | Creates a buffer that supports discarding to hold the required size. 
 | 
|  | 
| void | destroyDiscardBuffer (MetalDiscardBuffer *discardBuffer) | 
|  | Destroys an existing MetalDiscardBuffer, releasing its memory. 
 | 
|  | 
| MetalDevice * | getDevice (void) const | 
|  | 
| VaoManager * | getVaoManager (void) const | 
|  | 
| 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 
 | 
|  | 
Metal doesn't support "DISCARD" like D3D9/D3D11 (and OpenGL but often it's broken) where we requested to map a write-only buffer and the API would discard the previous contents (thus allowing us to avoid a stall until the GPU is done with the region) 
We need Discard for the v1 interfaces. So we need to emulate it. This class does exactly this.