Device

Handle to a logical device

Members

Functions

allocateMemory
DeviceMemory allocateMemory(uint memPropIndex, size_t size)
Undocumented in source.
createBuffer
Buffer createBuffer(BufferUsage usage, size_t size)
Undocumented in source.
createCommandPool
CommandPool createCommandPool(uint queueFamilyIndex)
Undocumented in source.
createFence
Fence createFence(Flag!"signaled" signaled)
Undocumented in source.
createFramebuffer
Framebuffer createFramebuffer(RenderPass rp, ImageView[] attachments, uint width, uint height, uint layers)
Undocumented in source.
createImage
Image createImage(ImageType type, ImageDims dims, Format format, ImageUsage usage, uint samples, uint levels)
Undocumented in source.
createPipelineLayout
PipelineLayout createPipelineLayout()
Undocumented in source.
createPipelines
Pipeline[] createPipelines(PipelineInfo[] infos)
Undocumented in source.
createRenderPass
RenderPass createRenderPass(AttachmentDescription[] attachments, SubpassDescription[] subpasses, SubpassDependency[] dependencies)
Undocumented in source.
createSampler
Sampler createSampler(SamplerInfo info)
Undocumented in source.
createSemaphore
Semaphore createSemaphore()
Undocumented in source.
createShaderModule
ShaderModule createShaderModule(ShaderLanguage language, string code, string entryPoint)
Undocumented in source.
createSwapchain
Swapchain createSwapchain(Surface surface, PresentMode pm, uint numImages, Format format, uint[2] size, ImageUsage usage, CompositeAlpha alpha, Swapchain former)
Undocumented in source.
flushMappedMemory
void flushMappedMemory(MappedMemorySet set)
Undocumented in source.
getQueue
Queue getQueue(uint queueFamilyIndex, uint queueIndex)
Undocumented in source.
invalidateMappedMemory
void invalidateMappedMemory(MappedMemorySet set)
Undocumented in source.
resetFences
void resetFences(Fence[] fences)
Undocumented in source.
waitForFences
void waitForFences(Fence[] fences, Flag!"waitAll" waitAll, Duration timeout)
Undocumented in source.
waitIdle
void waitIdle()

Wait that device finishes all operations in progress

Inherited Members

From AtomicRefCounted

refCount
size_t refCount [@property getter]

Atomically load the number of active references.

retain
void retain()

Atomically increment the reference count.

release
void release()

Atomically decrement the reference count and dispose if it reaches zero. The object is locked using its own mutex when dispose is called.

rcLock
shared(AtomicRefCounted) rcLock()

Get a copy of this RefCounted instance if the refCount >= 1. This increases the refCount by 1. This should only be used to keep weak reference and ensures that the resource is not disposed. The operation is atomic.

Meta