Instance

A backend instance

Members

Functions

devices
PhysicalDevice[] devices()

The devices that are installed on the system.

setDebugCallback
void setDebugCallback(DebugCallback callback)

Sets the debug callback for the instance and associated devices. Must be set before creating devices. Depending on backend, it might only be effective if the instance was created with the right extensions.

Properties

apiProps
ApiProps apiProps [@property getter]

Properties of the backend API

backend
Backend backend [@property getter]

Backend identifier

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