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(brvk::VK_KHR_surface/brvk::VK_KHR_swapchain/brvk::VK_KHR_display)alloc(default): Enable extra functionalities that may allocate some memory insidebrvk::VK_***: Enable Vulkan extensions(same name as each extensions)
Re-exports§
pub use bedrock_vk as vk;pub use resources::*;
Modules§
- error
- resources
- Vulkan Resources
- vkfn_
wrapper
Macros§
Structs§
- Access
Flags - Access Types
- Access
Flags2 - Access
Flags2 Read Write Bits - Application
Info - Array
Query Result - An result type of querying an array of objects
- Attachment
Description - Attachment
Reference - Bind
Sparse Info - Buffer
Copy - Buffer
Memory Barrier - Wrapper object of
brvk::VkBufferMemoryBarrier, describes a memory barrier of a buffer. - Buffer
Memory Barrier2 - Clear
Color Value - A color value representation for clearing operations.
Constructable from RGBA values using
From::from. - Clear
Value - 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
- Device
Resolver Impl - Empty
Binding OpBatch - Empty
Submission Batch Deprecated - Event
Create Info - Event
Object - Extends
- Extent2D
- Extent3D
- 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
Copy - Image
Memory Barrier - Wrapper object of
brvk::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
- Instance
Resolver Impl - Iter
Physical Devices - Memory
Barrier2 - Memory
Heap - 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
- Memory
Type - Offset2D
- Offset3D
- Physical
Device Features2 - Physical
Device Memory Properties - 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 Attachment State - 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 - Push
Constant Range - 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
Family Properties - Queue
Flags - Set of bit of queue flags
- Queue
Object - Opaque handle to a queue object
- Rect2D
- Render
Pass Begin Info - Render
Pass Create Info - Builder structure to construct the
RenderPass - Render
Pass Object - Opaque handle to a render pass object
- Resolved
FnCell - 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 - 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 - Specialization
MapEntry - Stencil
OpState - 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
Capabilities - Surface
Format - 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 - Version
- A Value Object represents the Vulkan version number
- Vertex
Input Attribute Description - Vertex
Input Binding Description - Viewport
- 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
- 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
- Present
Result - 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
- Timeoutable
Wait Result
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
Mut - 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 - 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 - A trait for types that can be used as specialization constants.
- Status
- Structure
Chain Query - Submission
Batch Deprecated - Surface
- Surface
Create Info - Swapchain
- Swapchain
Image Ext - Swapchain
Mut - Transfer
Surface Object - Typed
Vulkan Sink Structure - Trait for Vulkan structures that have a known [
crate::vk::VkStructureType] at compile time. - Typed
Vulkan Structure - Trait for Vulkan structures that have a known [
crate::vk::VkStructureType] at compile time. - 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 - Trait for Vulkan structures that can be cast to
GenericVulkanSinkStructuresafely. - Vulkan
Structure - Trait for Vulkan structures that can be cast to
GenericVulkanStructuresafely. - Vulkan
Structure Provider
Functions§
- chain_
structures - chains a list of vulkan structures
- instance_
extension_ properties_ alloc - Returns up to all of global extension properties
- instance_
extension_ properties_ str_ alloc - Returns up to all of global extension properties
- instance_
layer_ properties_ alloc - Returns up to all of global layer properties
- instance_
version - Query instance-level version before instance creation
- load_
function_ ⚠unconstrainted - Loads a function using the resolver, without any constraints on the function’s type.
- load_
symbol_ ⚠unconstrainted - Loads a symbol using the resolver, without any constraints on the symbol’s type.
- uninit_
sink
Type Aliases§
Derive Macros§
- Specialization
Constants - Provides safe implementation for
SpecializationConstantsby deriving from structs.