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 - Bind
Sparse Info - Buffer
Memory Barrier - Wrapper object of
VkBufferMemoryBarrier, describes a memory barrier of a buffer. - Buffer
Memory Barrier2 VK_KHR_synchronization2 - CmdRecord
- 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.
- Command
Pool Trim Flags - 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
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 Flags - 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
Signal Info VK_KHR_timeline_semaphore - Semaphore
Submit Info VK_KHR_synchronization2 - Semaphore
Type Create Info VK_KHR_timeline_semaphore - Semaphore
Wait Info VK_KHR_timeline_semaphore - 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 - Sparse
Buffer Memory Bind Info - Sparse
Image Memory Bind - Sparse
Image Memory Bind Info - Sparse
Image Opaque Memory Bind Info - Sparse
Memory Bind - 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
Create Info - Swapchain
With Surface Builder - Builder object to construct a
Swapchain, backed with a surface - Synchronized
Command Buffer - Temporal
Submission Batch Resources Deprecated alloc - Timeline
Semaphore Submit Info VK_KHR_timeline_semaphore - 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§
- Array
Query Result - An result type of querying an array of objects
- 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_reportorVK_EXT_debug_marker - The type of an object passed to the
VkDebugMarkerObjectNameInfoEXTandVkDebugMarkerObjectTagInfoEXTcommands - 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
- Semaphore
Type VK_KHR_timeline_semaphore - 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_opandstencil_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
Bind Memory2 Extension VK_KHR_bind_memory2 - Device
Child - Child of a device object
- Device
Child Fence - Device
Child Handle - Child of a device object(raw handle)
- Device
Child Transferrable - Device
Create Render Pass2 Extension VK_KHR_create_renderpass2 - Device
Descriptor Update Template Extension VK_KHR_descriptor_update_template - Device
External Fence FdExtension VK_KHR_external_fence_fd - Device
External Memory FdExtension VK_KHR_external_memory_fd - Device
External Memory Host Extension VK_EXT_external_memory_host - Device
Full Screen Exclusive Extension VK_EXT_full_screen_exclusive - Device
GetMemory Requirements2 Extension VK_KHR_get_memory_requirements2 - Device
Image DrmFormat Modifier Extension VK_EXT_image_drm_format_modifier - Device
Maintenance1 Extension VK_KHR_maintenance1 - Device
Push Descriptor Extension VK_KHR_push_descriptor - Device
Sample Locations Extension VK_EXT_sample_locations - Device
Synchronization2 Extension VK_KHR_synchronization2 - Device
Timeline Semaphore Extension VK_KHR_timeline_semaphore - Event
- Event
Mut - Extendable
- Fence
- Fence
Mut - Framebuffer
- Instance
- A Vulkan Instance interface
- Instance
Acquire Xlib Display Extension VK_EXT_acquire_xlib_display - Instance
Child - Instance
Child Transferrable - Instance
Debug Report Extension VK_EXT_debug_report - Instance
Debug Utils Extension VK_EXT_debug_utils - Instance
Direct Mode Display Extension VK_EXT_direct_mode_display - Instance
External Fence Capabilities Extension VK_KHR_external_fence_capabilities - Instance
Full Screen Exclusive Extension VK_EXT_full_screen_exclusive - Instance
GetPhysical Device Properties2 Extension VK_KHR_get_physical_device_properties2 - Instance
GetSurface Capabilities2 Extension VK_KHR_get_surface_capabilities2 - Instance
Sample Locations Extension VK_EXT_sample_locations - 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
- Swapchain
Image Ext - 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§
- chain_
structures - chains a list of vulkan structures
- enumerate_
layer_ properties_ alloc Implementsandalloc - Returns up to all of global layer properties
- instance_
extension_ properties Implementsandalloc - 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 Implementsandalloc - 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
- uninit_
sink
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 - Descriptor
Set - Device
Size - Display
Plane Properties VK_KHR_display - Display
Properties VK_KHR_display - Extent2D
- Extent3D
- External
Memory Image Create Info VK_KHR_external_memory - 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 - Physical
Device Timeline Semaphore Features VK_KHR_timeline_semaphore - Physical
Device Vulkan11 Features Allow1_2APIs - Physical
Device Vulkan11 Properties Allow1_2APIs - Push
Constant Range - Queue
Family Properties - Rect2D
- Result
- Specialization
MapEntry - Stencil
OpState - 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
SpecializationConstantsby deriving from structs.