Struct voodoo::Device [] [src]

pub struct Device { /* fields omitted */ }

A logical device.

Destruction

Dropping this Device will cause Instance::destroy_device to be called, automatically releasing any resources associated with it.

Methods

impl Device
[src]

[src]

Returns a new DeviceBuilder.

[src]

Returns one of this device's associated queue.

device_queue_index does not correspond to the queue family index or any other index used when creating this device.

Important traits for &'a mut [u8]
[src]

Returns a list of all queues associated with this device.

[src]

Returns a reference to the associated DeviceProcAddrLoader

[src]

Returns the handle for this device.

[src]

Returns a reference to the associated physical device.

[src]

Returns a reference to the associated instance.

[src]

Waits for this device to become idle.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkDeviceWaitIdle.html

[src]

Returns the memory type index on this device matching the provided type filter and properties.

[src]

Get a queue handle from a device.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkGetDeviceQueue.html

[src]

Submits a sequence of semaphores or command buffers to a queue.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkQueueSubmit.html

[src]

Waits for a queue to become idle.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkQueueWaitIdle.html

[src]

Waits for this device to become idle.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkDeviceWaitIdle.html

[src]

Allocates GPU memory.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkAllocateMemory.html

[src]

Frees GPU memory.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkFreeMemory.html

[src]

Maps a memory object into application address space.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkMapMemory.html

[src]

Unmaps a previously mapped memory object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkUnmapMemory.html

[src]

Flushes mapped memory ranges.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkFlushMappedMemoryRanges.html

[src]

Invalidates ranges of mapped memory objects.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkInvalidateMappedMemoryRanges.html

[src]

Queries the current commitment for a VkDeviceMemory.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkGetDeviceMemoryCommitment.html

[src]

Binds device memory to a buffer object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkBindBufferMemory.html

[src]

Binds device memory to an image object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkBindImageMemory.html

[src]

Returns the memory requirements for specified Vulkan object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkGetBufferMemoryRequirements.html

[src]

Returns the memory requirements for specified Vulkan object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkGetImageMemoryRequirements.html

Important traits for SmallVec<A>
[src]

Queries the memory requirements for a sparse image.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkGetImageSparseMemoryRequirements.html

[src]

Binds device memory to a sparse resource object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkQueueBindSparse.html

[src]

Creates a new fence object

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCreateFence.html

[src]

Destroys a fence object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkDestroyFence.html

[src]

Resets one or more fence objects.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkResetFences.html

[src]

Returns the status of a fence.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkGetFenceStatus.html

[src]

Waits for one or more fences to become signaled.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkWaitForFences.html

[src]

Creates a new queue semaphore object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCreateSemaphore.html

[src]

Destroys a semaphore object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkDestroySemaphore.html

[src]

Creates a new event object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCreateEvent.html

[src]

Destroys an event object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkDestroyEvent.html

[src]

Retrieves the status of an event object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkGetEventStatus.html

[src]

Sets an event to signaled state.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkSetEvent.html

[src]

Resets an event to non-signaled state.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkResetEvent.html

[src]

Creates a new query pool object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCreateQueryPool.html

[src]

Destroys a query pool object

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkDestroyQueryPool.html

[src]

Copies results of queries in a query pool to a host memory region

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkGetQueryPoolResults.html

[src]

Creates a new buffer object

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCreateBuffer.html

[src]

Destroys a buffer object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkDestroyBuffer.html

[src]

Creates a new buffer view object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCreateBufferView.html

[src]

Destroys a buffer view object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkDestroyBufferView.html

[src]

Creates a new image object

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCreateImage.html

[src]

Destroys an image object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkDestroyImage.html

[src]

Retrieves information about an image subresource.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkGetImageSubresourceLayout.html

[src]

Creates an image view from an existing image.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCreateImageView.html

[src]

Destroys an image view object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkDestroyImageView.html

[src]

Creates a new shader module object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCreateShaderModule.html

[src]

Destroys a shader module module.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkDestroyShaderModule.html

[src]

Creates a new pipeline cache

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCreatePipelineCache.html

[src]

Destroys a pipeline cache object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkDestroyPipelineCache.html

[src]

Gets the data store from a pipeline cache.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkGetPipelineCacheData.html

[src]

Combines the data stores of pipeline caches.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkMergePipelineCaches.html

[src]

Creates graphics pipelines.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCreateGraphicsPipelines.html

[src]

Creates a new compute pipeline object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCreateComputePipelines.html

[src]

Destroys a pipeline object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkDestroyPipeline.html

[src]

Creates a new pipeline layout object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCreatePipelineLayout.html

[src]

Destroys a pipeline layout object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkDestroyPipelineLayout.html

[src]

Creates a new sampler object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCreateSampler.html

[src]

Destroys a sampler object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkDestroySampler.html

[src]

Creates a new descriptor set layout.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCreateDescriptorSetLayout.html

[src]

Destroys a descriptor set layout object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkDestroyDescriptorSetLayout.html

[src]

Creates a descriptor pool object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCreateDescriptorPool.html

[src]

Destroys a descriptor pool object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkDestroyDescriptorPool.html

[src]

Resets a descriptor pool object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkResetDescriptorPool.html

[src]

Allocates one or more descriptor sets.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkAllocateDescriptorSets.html

[src]

Frees one or more descriptor sets.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkFreeDescriptorSets.html

[src]

Updates the contents of a descriptor set object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkUpdateDescriptorSets.html

[src]

Creates a new framebuffer object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCreateFramebuffer.html

[src]

Destroys a framebuffer object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkDestroyFramebuffer.html

[src]

Creates a new render pass object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCreateRenderPass.html

[src]

Destroys a render pass object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkDestroyRenderPass.html

[src]

Returns the granularity for optimal render area.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkGetRenderAreaGranularity.html

[src]

Creates a new command pool object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCreateCommandPool.html

[src]

Destroys a command pool object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkDestroyCommandPool.html

[src]

Resets a command pool.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkResetCommandPool.html

[src]

Allocates command buffers from an existing command pool.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkAllocateCommandBuffers.html

[src]

Frees command buffers.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkFreeCommandBuffers.html

[src]

Starts recording a command buffer.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkBeginCommandBuffer.html

[src]

Finishes recording a command buffer.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkEndCommandBuffer.html

[src]

Resets a command buffer to the initial state.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkResetCommandBuffer.html

[src]

Binds a pipeline object to a command buffer.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdBindPipeline.html

[src]

Sets the viewport on a command buffer.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdSetViewport.html

[src]

Sets the dynamic scissor rectangles on a command buffer.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdSetScissor.html

[src]

Sets the dynamic line width state.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdSetLineWidth.html

[src]

Sets the depth bias dynamic state.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdSetDepthBias.html

[src]

Sets the values of blend constants.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdSetBlendConstants.html

[src]

Sets the depth bounds test values for a command buffer.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdSetDepthBounds.html

[src]

Sets the stencil compare mask dynamic state.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdSetStencilCompareMask.html

[src]

Sets the stencil write mask dynamic state

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdSetStencilWriteMask.html

[src]

Sets the stencil reference dynamic state.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdSetStencilReference.html

[src]

Binds descriptor sets to a command buffer.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdBindDescriptorSets.html

[src]

Binds an index buffer to a command buffer.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdBindIndexBuffer.html

[src]

Binds vertex buffers to a command buffer.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdBindVertexBuffers.html

[src]

Draws primitives.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdDraw.html

[src]

Issues an indexed draw into a command buffer.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdDrawIndexed.html

[src]

Issues an indirect draw into a command buffer.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdDrawIndirect.html

[src]

Performs an indexed indirect draw.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdDrawIndexedIndirect.html

[src]

Dispatches compute work items.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdDispatch.html

[src]

Dispatches compute work items using indirect parameters.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdDispatchIndirect.html

[src]

Copies data between buffer regions.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdCopyBuffer.html

[src]

Copies data between images.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdCopyImage.html

[src]

Copies regions of an image, potentially performing format conversion.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdBlitImage.html

[src]

Copies data from a buffer into an image.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdCopyBufferToImage.html

[src]

Copies image data into a buffer.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdCopyImageToBuffer.html

[src]

Updates a buffer's contents from host memory.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdUpdateBuffer.html

[src]

Fills a region of a buffer with a fixed value.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdFillBuffer.html

[src]

Clears regions of a color image.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdClearColorImage.html

[src]

Fills regions of a combined depth/stencil image.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdClearDepthStencilImage.html

[src]

Clears regions within currently bound framebuffer attachments.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdClearAttachments.html

[src]

Resolves regions of an image.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdResolveImage.html

[src]

Sets an event object to signaled state.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdSetEvent.html

[src]

Resets an event object to non-signaled state.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdResetEvent.html

[src]

Waits for one or more events and insert a set of memory.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdWaitEvents.html

[src]

Inserts a memory dependency.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdPipelineBarrier.html

[src]

Begins a query.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdBeginQuery.html

[src]

Ends a query.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdEndQuery.html

[src]

Resets queries in a query pool.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdResetQueryPool.html

[src]

Writes a device timestamp into a query object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdWriteTimestamp.html

[src]

Copies the results of queries in a query pool to a buffer object.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdCopyQueryPoolResults.html

[src]

Updates the values of push constants.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdPushConstants.html

[src]

Begins a new render pass.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdBeginRenderPass.html

[src]

Transitions to the next subpass of a render pass.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdNextSubpass.html

[src]

Ends the current render pass.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdEndRenderPass.html

[src]

Executes a secondary command buffer from a primary command buffer.

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCmdExecuteCommands.html

[src]

Creates a swapchain.

https://manned.org/vkCreateSwapchainKHR.3

[src]

Destroys a swapchain object.

https://manned.org/vkDestroySwapchainKHR.3

[src]

Obtains the array of presentable images associated with a swapchain.

https://manned.org/vkGetSwapchainImagesKHR.3

[src]

Retrieves the index of the next available presentable image.

https://manned.org/vkAcquireNextImageKHR.3

[src]

Queues an image for presentation.

https://manned.org/vkQueuePresentKHR.3

[src]

Creates multiple swapchains that share presentable images.

https://manned.org/vkCreateSharedSwapchainsKHR.3

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

Trait Implementations

impl Debug for Device
[src]

[src]

Formats the value using the given formatter. Read more

impl Clone for Device
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl<'h> Handle for &'h Device
[src]

[src]

impl Send for Device
[src]

impl Sync for Device
[src]

Auto Trait Implementations