Allocate memory for the given requirements
Create a buffer, then allocate and bind memory for its requirements
Create an image, then allocate and bind memory for its requirements
Attempt to allocate memory for the given index and for given requirements. If successful, result is filled with necessary data.
Device this allocator is bound to.
Atomically loads the number of active references.
Atomically increment the reference count.
Atomically decrement the reference count. If refCount reaches zero, and disposeOnZero is set, the object is locked with its own mutex, and dispose is called. In most cases, the calling code should set disposeOnZero, unless it is intended to release the object to give it away. (such as at the end of a builder function)
Returns whether the refCount >= 1. This increases the refCount by 1. rcLock should be used to keep weak reference and ensures that the resource is not disposed. The operation is atomic.
Dispose the underlying resource
Memory allocator for a device