Expand description
Glue library between Vulkan and Rust
§Copyright
Some documentation comments are from Vulkan Manual Page. Copyright (c) 2014-2017 Khronos Group.
§Compile Options
Implements
: Enable Vulkan implementations(functions)Multithreaded
: Enables to use objects from some threads(experimental)Presentation
: Enable rendering features to Window/Display(VK_KHR_surface
/VK_KHR_swapchain
/VK_KHR_display
)alloc
(default): Enable extra functionalities that may allocate some memory insideVK_***
: Enable Vulkan extensions(same name as each extensions)
Re-exports§
pub use resources::*;
Modules§
- error
- resources
- Vulkan Resources
- vk
- vkfn
Implements
- vkfn_
wrapper Implements
Macros§
Structs§
- Access
Flags - Access Types
- Access
Flags2 - Access
Flags2 Read Write Bits VK_KHR_synchronization2
- Application
Info - Attachment
Description2 VK_KHR_create_renderpass2
- Attachment
Reference2 VK_KHR_create_renderpass2
- Buffer
Memory Barrier - Wrapper object of
VkBufferMemoryBarrier
, describes a memory barrier of a buffer. - Buffer
Memory Barrier2 VK_KHR_synchronization2
- CmdRecord
Implements
- The recording state of command buffers
- Command
Buffer Allocate Info - Command
Buffer Begin Info - Command
Buffer Fixed Count Allocate Info - Command
Buffer Inheritance Info - Command
Buffer Object - Opaque handle to a command buffer object
- Command
Buffer Submit Info VK_KHR_synchronization2
- Command
Pool Create Info - Command
Pool Object - Command
Pool Reset Flags - Bitmask controlling behavior of a command pool reset.
- Composite
Alpha Flags - Alpha compositing modes supported on a device
- Compute
Pipeline Create Info - Structure specifying parameters of a newly created compute pipeline
- Cull
Mode Flags - Debug
Report Callback Create Info VK_EXT_debug_report
- Debug
Report Callback Object VK_EXT_debug_report
- Opaque object to a debug report callback object
- Debug
Utils Message Severity Flags VK_EXT_debug_utils
- Bitmask specifying which severities of events cause a debug messenger callback.
- Debug
Utils Message Type Flags VK_EXT_debug_utils
- Bitmask specifying which types of events cause a debug messenger callback.
- Debug
Utils Messenger Object VK_EXT_debug_utils
- Debug
Utils Object Name Info VK_EXT_debug_utils
- Dependency
Info VK_KHR_synchronization2
- Descriptor
Buffer Info - Descriptor
Image Info - Descriptor
Pointer - Pointer for descriptor array in set
- Descriptor
Pool Create Info - Descriptor
Pool Object - Descriptor
Set - Descriptor
SetCopy Info - Descriptor
SetLayout Binding - Descriptor
SetLayout Create Info - Descriptor
SetLayout Object - Opaque handle to a descriptor set layout object
- Descriptor
SetWrite Info - Descriptor
Update Template Object VK_KHR_descriptor_update_template
- Device
Create Info - Device
Object - Opaque handle to a device object
- Device
Queue Create Info - Family Index, Queue Priorities
- Display
VK_KHR_display
- Display
Mode VK_KHR_display
- Display
Mode Properties VK_KHR_display
- Display
Plane Properties With Physical Device Ref VK_KHR_display
- Display
Properties With Physical Device Ref VK_KHR_display
- Empty
Binding OpBatch - Empty
Submission Batch Deprecated - Event
Create Info - Event
Object - Extends
- Fence
Create Info - Fence
FdGet Info VK_KHR_external_fence_fd
- Fence
Object - Format
Query - Arbitrary queries of Format
- Format
Query Pred - Predication style of Format Selection Query
- Framebuffer
Create Info - Framebuffer
Object - Opaque handle to a framebuffer object
- Generic
Vulkan Sink Structure - Generic
Vulkan Structure - Graphics
Pipeline Create Info - Image
Memory Barrier - Wrapper object of
VkImageMemoryBarrier
, derscribes a memory barrier of an image. - Image
Memory Barrier2 VK_KHR_synchronization2
- Import
Fence FdInfo VK_KHR_external_fence_fd
- Import
Memory FdInfo VK_KHR_external_memory_fd
- Import
Memory Host Pointer Info VK_EXT_external_memory_host
- Instance
Create Info - Instance
Object - Opaque handle to a instance object
- Iter
Physical Devices - Memory
Barrier2 VK_KHR_synchronization2
- Memory
GetFd Info VK_KHR_external_memory_fd
- Memory
Heap Flags - Bitmask specifying attribute flags for a heap
- Memory
Properties - Device memory properties
- Memory
Property Flags - Bitmask specifying properties for a memory type
- Physical
Device Features2 VK_KHR_get_physical_device_properties2
- Physical
Device Object - Opaque handle to a physical device object
- Physical
Device Synchronization2 Features VK_KHR_synchronization2
- Pipeline
Cache Create Info - Pipeline
Cache Object - Opaque handle to a pipeline cache object
- Pipeline
Color Blend State Create Info - Structure specifying parameters of a newly created pipeline color blend state
- Pipeline
Depth Stencil State Create Info - Structure specifying parameters of a newly created pipeline depth stencil state
- Pipeline
Dynamic State Create Info - Structure specifying parameters of a newly created pipeline dynamic state
- Pipeline
Input Assembly State Create Info - Structure specifying parameters of a newly created pipeline input assembly state
- Pipeline
Layout Create Info - Pipeline
Layout Object - Opaque handle to a pipeline layout object
- Pipeline
Multisample State Create Info - Structure specifying parameters of a newly created pipeline multisample state
- Pipeline
Object - Opaque handle to a pipeline object
- Pipeline
Rasterization Conservative State Create Info VK_EXT_conservative_rasterization
- Structure specifying conservative raster state
- Pipeline
Rasterization Line State Create Info VK_KHR_line_rasterization
- Structure specifying parameters of a newly created pipeline line rasterization state
- Pipeline
Rasterization State Create Info - Structure specifying parameters of a newly created pipeline rasterization state
- Pipeline
Shader Stage - Pipeline
Stage Flags - Bitmask specifying pipeline stages
- Pipeline
Stage Flags2 - Bitmask specifying pipeline stages (extended)
- Pipeline
Tessellation State Create Info - Structure specifying parameters of a newly created pipeline tessellation state
- Pipeline
Vertex Input State Create Info - Structure specifying parameters of a newly created pipeline vertex input state
- Pipeline
Viewport State Create Info - Structure specifying parameters of a newly created pipeline viewport state
- Present
Info VK_KHR_swapchain
- Query
Pipeline Statistic Flags - Bitmask specifying queried pipeline statistics
- Query
Pool Create Info - Structure specifying parameters of a newly created query pool
- Query
Pool Object - Opaque handle to a query pool object
- Query
Result Flags - Bitmask specifying how and when query results are returned
- Queue
Families - List of queue families
- Queue
Flags - Set of bit of queue flags
- Queue
Object - Opaque handle to a queue object
- Render
Pass Begin Info - Render
Pass Create Info - Builder structure to construct the
RenderPass
- Render
Pass Create Info2 VK_KHR_create_renderpass2
- Render
Pass Object - Opaque handle to a render pass object
- Semaphore
Create Info - Semaphore
Object - Semaphore
Submit Info VK_KHR_synchronization2
- Shader
Module Create Info - Shader
Module Object - Opaque handle to a shader module object
- Sink
Structure Chain Iterator - Sparse
Binding OpBatch With Buffer Binds - Sparse
Binding OpBatch With Image Binds - Sparse
Binding OpBatch With Image Opaque Binds - Sparse
Binding OpBatch With Signal Semaphores - Sparse
Binding OpBatch With Wait Semaphores - Specialization
Info - Structure
Chain Iterator - Submission
With Command Buffers Deprecated alloc
- Submission
With Signal Semaphores Deprecated alloc
- Submission
With Wait Semaphores Deprecated alloc
- Submit
Info - Submit
Info2 VK_KHR_synchronization2
- Subpass
Dependency2 VK_KHR_create_renderpass2
- Subpass
Description - Builder structure to construct the
VkSubpassDescription
- Subpass
Description2 VK_KHR_create_renderpass2
- Subpass
Ref - A reference to a subpass in a render pass object.
- Surface
Full Screen Exclusive Info - Surface
Object - Opaque handle to a surface object
- Surface
Swapchain Object - Opaque handle to as swapchain object, backed with specific surface
- Surface
Transform Flags - Presentation transforms supported on a device
- Swapchain
Builder - Builder object to construct a
Swapchain
, backed with a surface - Swapchain
Create Info - Synchronized
Command Buffer - Temporal
Submission Batch Resources Deprecated alloc
- Version
- A Value Object represents the Vulkan version number
- VkHandle
Ref - A smart handle to a Vulkan object that holds a source lifetime (bitpattern as same as native handle type)
- VkHandle
RefMut - A smart handle to a Vulkan object that holds a source lifetime and mutable-borrowing (bitpattern as same as native handle type)
Enums§
- Command
Buffer Level - Compare
Op - Stencil comparison function
- Completion
Handler - A semaphore or a fence
- Completion
Handler Mut - A semaphore or a fence, externally synchronized on host access
- Conservative
Rasterization Mode VK_EXT_conservative_rasterization
- Specify the conservative rasterization mode
- Debug
Report Object Type VK_EXT_debug_report
orVK_EXT_debug_marker
- The type of an object passed to the
VkDebugMarkerObjectNameInfoEXT
andVkDebugMarkerObjectTagInfoEXT
commands - Debug
Utils Message Severity Flag VK_EXT_debug_utils
- Descriptor
Contents - Descriptor
Type - Specified the type of a descriptor in a descriptor set
- Display
Plane Alpha VK_KHR_display
- Alpha blending type
- Element
Type - Containing component element in format
- External
Fence FdType VK_KHR_external_fence_fd
- External
Memory Handle Type Fd VK_KHR_external_memory_fd
- External
Memory Handle Type Host VK_EXT_external_memory_host
- Format
Components - Containing Components in Format(Order is not considered)
- Front
Face - Full
Screen Exclusive - Hint values an application can specify affecting full-screen transition behavior.
- Index
Type - Type of index buffer indices
- Line
Rasterization Mode VK_KHR_line_rasterization
- Line rasterization modes
- LoadOp
- LogicOp
- Framebuffer logical operations
- Occlusion
Query - Enabling or disabling the occlusion query
- Pipeline
Bind Point - Specify the bind point of a pipeline object to a command buffer
- Polygon
Mode - Present
Mode - Presentation mode supported for a surface
- Primitive
Topology - Supported primitive topologies
- Query
Result - Query
Type - Specify the type of queries managed by a query pool
- Shader
Stage - Stencil
Face Mask - Bitmask specifying sets of stencil state for which to update the compare mask
- Stencil
Op - Stencil action function
- StoreOp
- Possible argument values of
AttachmentDescription::store_op
andstencil_store_op
, specifying how the contents of the attachment are treated. - Subpass
Contents - Specify how commands in the first subpass of a render pass are provided2
- Subpass
Index VK_KHR_create_renderpass2
- Index specifying a subpass
Traits§
- Analog
NumRange - AnyRender
Pass Create Info Implements
- AsFormat
- Provides commonly used corresponding VkFormat for types
- Chainable
- Command
Buffer - Command
Buffer Mut - Command
Pool - Command
Pool Mut - Concrete
Device Render Pass - Debug
Report Callback VK_EXT_debug_report
- Debug
Utils Messenger VK_EXT_debug_utils
- Descriptor
Pool - Descriptor
Pool Mut - Descriptor
SetLayout - Descriptor
Update Template VK_KHR_descriptor_update_template
- Device
- Device
Child - Child of a device object
- Device
Child Fence - Device
Child Handle - Child of a device object(raw handle)
- Device
Child Transferrable - Device
ExtCommand Function Provider - Functions from extension
- Device
Full Screen Exclusive Extension Implements
andVK_EXT_full_screen_exclusive
- Event
- Event
Mut - Extendable
- Fence
- Fence
Mut - Framebuffer
- Instance
- A Vulkan Instance interface
- Instance
Child - Instance
Child Transferrable - Instance
Extensions - VkInstance Extension Function Providers
- PFN
- Physical
Device - A PhysicalDevice interface
- Pipeline
- Pipeline
Cache - Pipeline
Cache Mut - Pipeline
Layout - Pixel
Format - For testing format traits
- Query
Pool - Queue
- Queue
Mut - Render
Pass - Resolver
Interface Implements
- Semaphore
- Semaphore
Mut - Shader
Module - Sink
Structure Chain Query - Sparse
Binding OpBatch - Specialization
Constants - Static
Callable - Status
- Structure
Chain Query - Submission
Batch Deprecated - Surface
- Surface
Create Info - Swapchain
- Transfer
Surface Object - Typed
Vulkan Sink Structure - Typed
Vulkan Structure - Uninit
Vulkan Structure Ops - VkDevice
Child NonExt Destroyable - VkHandle
- Wrapping a Vulkan Dispatchable/Nondispatchable Handler
- VkHandle
Ext - Extension methods(not dyn compatible) for
VkHandle
- VkHandle
Mut - Wrapping a Vulkan Dispatchable/Nondispatchable Mutable Handler
- VkObject
- An object in Vulkan
- VkRaw
Handle - Vulkan
Sink Structure - Vulkan
Structure - Vulkan
Structure Provider
Functions§
- enumerate_
layer_ properties_ alloc Implements
andalloc
- Returns up to all of global layer properties
- instance_
extension_ properties Implements
andalloc
- Returns up to all of global extension properties
- instance_
extension_ properties_ cstr Implements
- Returns up to all of global extension properties
- instance_
extension_ properties_ cstr_ alloc Implements
andalloc
- Returns up to all of global extension properties
- instance_
extension_ property_ count_ cstr Implements
- Returns a count up to all of global extension properties
- instance_
layer_ properties Implements
- Returns up to all of global layer properties
- instance_
layer_ property_ count Implements
- Returns a count of all of global layer properties
- instance_
version Implements
- Query instance-level version before instance creation
- new_
instance_ ⚠raw Implements
- Create a new Vulkan instance
Type Aliases§
- Android
Surface Create Info VK_KHR_android_surface
- Buffer
Copy - Clear
Color Value - A color value representation for clearing operations.
Constructable from RGBA values using
From::from
. - Clear
Value - Debug
Utils Messenger Create Info VK_EXT_debug_utils
- Device
Size - Display
Plane Properties VK_KHR_display
- Display
Properties VK_KHR_display
- Extent2D
- Extent3D
- Format
- Image
Copy - Memory
Heap - Memory
Type - Metal
Surface Create Info VK_EXT_metal_surface
- Offset2D
- Offset3D
- Physical
Device Features - Physical
Device Memory Properties - Physical
Device Properties - Push
Constant Range - Queue
Family Properties - Rect2D
- Result
- Specialization
MapEntry - Subpass
Begin Info VK_KHR_create_renderpass2
- Subpass
EndInfo VK_KHR_create_renderpass2
- Surface
Capabilities - Surface
Format - Vertex
Input Attribute Description - Vertex
Input Binding Description - Viewport
- Wayland
Surface Create Info VK_KHR_wayland_surface
- XcbSurface
Create Info VK_KHR_xcb_surface
- Xlib
Surface Create Info VK_KHR_xlib_surface
Derive Macros§
- Specialization
Constants - Provides safe implementation for
SpecializationConstants
by deriving from structs.