Buffer

Undocumented in source.

Members

Functions

bindMemory
void bindMemory(DeviceMemory mem, size_t offset)

Bind a the buffer to a device memory

createTexelView
TexelBufferView createTexelView(Format format, size_t offset, size_t 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
BufferDescriptor descriptor(size_t offset, size_t size)

build a descriptor for this resource

Properties

boundMemory
DeviceMemory boundMemory [@property getter]

The memory this buffer is bound to

device
Device device [@property getter]

Get the parent device

memoryRequirements
MemoryRequirements memoryRequirements [@property getter]

The memory allocation requirements for this buffer

size
size_t size [@property getter]

The size in bytes of the buffer

usage
BufferUsage usage [@property getter]

The usage this buffer was created for

Inherited Members

From IAtomicRefCounted

refCount
size_t refCount [@property getter]
refCountShared
size_t refCountShared [@property getter]

Atomically loads the number of active references.

retain
void retain()
retainShared
void retainShared()

Atomically increment the reference count.

release
bool release(Flag!"disposeOnZero" disposeOnZero)
releaseShared
bool releaseShared(Flag!"disposeOnZero" 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)

rcLock
bool rcLock()
rcLockShared
bool 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.

dispose
void dispose()

Dispose the underlying resource

Meta