Interface Buffer

interface Buffer
  : IAtomicRefCounted ;

Properties

NameTypeDescription
boundMemory[get] DeviceMemoryThe memory this buffer is bound to
device[get] DeviceGet the parent device
memoryRequirements[get] MemoryRequirementsThe memory allocation requirements for this buffer
size[get] ulongThe size in bytes of the buffer
usage[get] BufferUsageThe usage this buffer was created for
refCount[get] ulongAtomically loads the number of active references.
refCountShared[get] ulongAtomically loads the number of active references.

Methods

NameDescription
bindMemory (mem, offset) Bind a the buffer to a device memory
createTexelView (format, offset, size) Build a view to a part of this buffer to be used as texel buffer The returned resource keeps a reference to this buffer.
descriptor (offset, size) build a descriptor for this resource
dispose () Dispose the underlying resource
rcLock () 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.
rcLockShared () 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.
release (disposeOnZero) 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)
releaseShared (disposeOnZero) 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)
retain () Atomically increment the reference count.
retainShared () Atomically increment the reference count.