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
- vkfn_
wrapper
Macros§
Structs§
- Access
Flags - Access Types
- Access
Flags2 - Access
Flags2 Read Write Bits - Application
Info - Buffer
Memory Barrier - Wrapper object of
VkBufferMemoryBarrier, describes a memory barrier of a buffer. - Buffer
Memory Barrier2 - 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 - 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 - Dependency
Info - 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 - Device
Create Info - Device
Object - Opaque handle to a device object
- Device
Queue Create Info - Family Index, Queue Priorities
- Empty
Binding OpBatch - Empty
Submission Batch Deprecated - Event
Create Info - Event
Object - Extends
- Fence
Create Info - 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 - Instance
Create Flags - Instance
Create Info - Instance
Object - Opaque handle to a instance object
- Iter
Physical Devices - Memory
Barrier2 - 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 - Physical
Device Object - Opaque handle to a physical device object
- Physical
Device Synchronization2 Features - 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 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 - 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 Object - Opaque handle to a render pass object
- Semaphore
Create Info - Semaphore
Object - Semaphore
Submit Info - 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 - Submission
With Signal Semaphores Deprecated - Submission
With Wait Semaphores Deprecated - Submit
Info - Submit
Info2 - Subpass
Description - Builder structure to construct the
VkSubpassDescription - Subpass
Ref - A reference to a subpass in a render pass object.
- 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 - 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
- Descriptor
Contents - Descriptor
Type - Specified the type of a descriptor in a descriptor set
- Element
Type - Containing component element in format
- Format
Components - Containing Components in Format(Order is not considered)
- Front
Face - Index
Type - Type of index buffer indices
- 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_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
Traits§
- Analog
NumRange - AnyRender
Pass Create Info - AsFormat
- Provides commonly used corresponding VkFormat for types
- Chainable
- Command
Buffer - Command
Buffer Mut - Command
Pool - Command
Pool Mut - Concrete
Device Render Pass - Descriptor
Pool - Descriptor
Pool Mut - Descriptor
SetLayout - Device
- Device
Bind Memory2 Extension - Device
Child - Child of a device object
- Device
Child Fence - Device
Child Handle - Child of a device object(raw handle)
- Device
Child Transferrable - Device
GetMemory Requirements2 Extension - Device
Synchronization2 Extension - Event
- Event
Mut - Extendable
- Fence
- Fence
Mut - Framebuffer
- Instance
- A Vulkan Instance interface
- Instance
Child - Instance
Child Transferrable - Instance
GetPhysical Device Properties2 Extension - 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 - 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 - Returns up to all of global layer properties
- instance_
extension_ properties - Returns up to all of global extension properties
- instance_
extension_ properties_ cstr - Returns up to all of global extension properties
- instance_
extension_ properties_ cstr_ alloc - Returns up to all of global extension properties
- instance_
extension_ property_ count_ cstr - Returns a count up to all of global extension properties
- instance_
layer_ properties - Returns up to all of global layer properties
- instance_
layer_ property_ count - Returns a count of all of global layer properties
- instance_
version - Query instance-level version before instance creation
- new_
instance_ ⚠raw - Create a new Vulkan instance
Type Aliases§
- Buffer
Copy - Clear
Color Value - A color value representation for clearing operations.
Constructable from RGBA values using
From::from. - Clear
Value - Device
Size - Extent2D
- Extent3D
- Format
- Image
Copy - Memory
Heap - Memory
Type - Offset2D
- Offset3D
- Physical
Device Features - Physical
Device Memory Properties - Physical
Device Properties - Push
Constant Range - Queue
Family Properties - Rect2D
- Result
- Specialization
MapEntry - Stencil
OpState - Surface
Capabilities - Surface
Format - Vertex
Input Attribute Description - Vertex
Input Binding Description - Viewport
Derive Macros§
- Specialization
Constants - Provides safe implementation for
SpecializationConstantsby deriving from structs.