Skip to main content

Crate bedrock

Crate bedrock 

Source
Expand description

Glue library between Vulkan and Rust

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 inside
  • brvk::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§

DescriptorUpdateTemplateEntries
DescriptorUpdateTemplateEntry

Structs§

AccessFlags
Access Types
AccessFlags2
AccessFlags2ReadWriteBits
ApplicationInfo
ArrayQueryResult
An result type of querying an array of objects
AttachmentDescription
AttachmentReference
BindSparseInfo
BufferCopy
BufferMemoryBarrier
Wrapper object of brvk::VkBufferMemoryBarrier, describes a memory barrier of a buffer.
BufferMemoryBarrier2
ClearColorValue
A color value representation for clearing operations. Constructable from RGBA values using From::from.
ClearValue
CmdRecord
The recording state of command buffers
CommandBufferAllocateInfo
CommandBufferBeginInfo
CommandBufferFixedCountAllocateInfo
CommandBufferInheritanceInfo
CommandBufferObject
Opaque handle to a command buffer object
CommandBufferSubmitInfo
CommandPoolCreateInfo
CommandPoolObject
CommandPoolResetFlags
Bitmask controlling behavior of a command pool reset.
CompositeAlphaFlags
Alpha compositing modes supported on a device
ComputePipelineCreateInfo
Structure specifying parameters of a newly created compute pipeline
CullModeFlags
DependencyInfo
DescriptorBufferInfo
DescriptorImageInfo
DescriptorPointer
Pointer for descriptor array in set
DescriptorPoolCreateInfo
DescriptorPoolObject
DescriptorSet
DescriptorSetCopyInfo
DescriptorSetLayoutBinding
DescriptorSetLayoutCreateInfo
DescriptorSetLayoutObject
Opaque handle to a descriptor set layout object
DescriptorSetWriteInfo
DeviceCreateInfo
DeviceObject
Opaque handle to a device object
DeviceQueueCreateInfo
Family Index, Queue Priorities
DeviceResolverImpl
EmptyBindingOpBatch
EmptySubmissionBatchDeprecated
EventCreateInfo
EventObject
Extends
Extent2D
Extent3D
FenceCreateInfo
FenceObject
FormatQuery
Arbitrary queries of Format
FormatQueryPred
Predication style of Format Selection Query
FramebufferCreateInfo
FramebufferObject
Opaque handle to a framebuffer object
GenericVulkanSinkStructure
GenericVulkanStructure
GraphicsPipelineCreateInfo
ImageCopy
ImageMemoryBarrier
Wrapper object of brvk::VkImageMemoryBarrier, derscribes a memory barrier of an image.
ImageMemoryBarrier2
InstanceCreateFlags
InstanceCreateInfo
InstanceObject
Opaque handle to a instance object
InstanceResolverImpl
IterPhysicalDevices
MemoryBarrier2
MemoryHeap
MemoryHeapFlags
Bitmask specifying attribute flags for a heap
MemoryProperties
Device memory properties
MemoryPropertyFlags
Bitmask specifying properties for a memory type
MemoryType
Offset2D
Offset3D
PhysicalDeviceFeatures2
PhysicalDeviceMemoryProperties
PhysicalDeviceObject
Opaque handle to a physical device object
PhysicalDeviceSynchronization2Features
PipelineCacheCreateInfo
PipelineCacheObject
Opaque handle to a pipeline cache object
PipelineColorBlendAttachmentState
PipelineColorBlendStateCreateInfo
Structure specifying parameters of a newly created pipeline color blend state
PipelineDepthStencilStateCreateInfo
Structure specifying parameters of a newly created pipeline depth stencil state
PipelineDynamicStateCreateInfo
Structure specifying parameters of a newly created pipeline dynamic state
PipelineInputAssemblyStateCreateInfo
Structure specifying parameters of a newly created pipeline input assembly state
PipelineLayoutCreateInfo
PipelineLayoutObject
Opaque handle to a pipeline layout object
PipelineMultisampleStateCreateInfo
Structure specifying parameters of a newly created pipeline multisample state
PipelineObject
Opaque handle to a pipeline object
PipelineRasterizationStateCreateInfo
Structure specifying parameters of a newly created pipeline rasterization state
PipelineShaderStage
PipelineStageFlags
Bitmask specifying pipeline stages
PipelineStageFlags2
Bitmask specifying pipeline stages (extended)
PipelineTessellationStateCreateInfo
Structure specifying parameters of a newly created pipeline tessellation state
PipelineVertexInputStateCreateInfo
Structure specifying parameters of a newly created pipeline vertex input state
PipelineViewportStateCreateInfo
Structure specifying parameters of a newly created pipeline viewport state
PresentInfo
PushConstantRange
QueryPipelineStatisticFlags
Bitmask specifying queried pipeline statistics
QueryPoolCreateInfo
Structure specifying parameters of a newly created query pool
QueryPoolObject
Opaque handle to a query pool object
QueryResultFlags
Bitmask specifying how and when query results are returned
QueueFamilies
List of queue families
QueueFamilyProperties
QueueFlags
Set of bit of queue flags
QueueObject
Opaque handle to a queue object
Rect2D
RenderPassBeginInfo
RenderPassCreateInfo
Builder structure to construct the RenderPass
RenderPassObject
Opaque handle to a render pass object
ResolvedFnCell
SemaphoreCreateInfo
SemaphoreObject
SemaphoreSubmitInfo
ShaderModuleCreateInfo
ShaderModuleObject
Opaque handle to a shader module object
SinkStructureChainIterator
SparseBindingOpBatchWithBufferBinds
SparseBindingOpBatchWithImageBinds
SparseBindingOpBatchWithImageOpaqueBinds
SparseBindingOpBatchWithSignalSemaphores
SparseBindingOpBatchWithWaitSemaphores
SparseBufferMemoryBindInfo
SparseImageMemoryBind
SparseImageMemoryBindInfo
SparseImageOpaqueMemoryBindInfo
SparseMemoryBind
SpecializationInfo
SpecializationMapEntry
StencilOpState
StructureChainIterator
SubmissionWithCommandBuffersDeprecated
SubmissionWithSignalSemaphoresDeprecated
SubmissionWithWaitSemaphoresDeprecated
SubmitInfo
SubmitInfo2
SubpassDescription
Builder structure to construct the VkSubpassDescription
SubpassRef
A reference to a subpass in a render pass object.
SurfaceCapabilities
SurfaceFormat
SurfaceObject
Opaque handle to a surface object
SurfaceSwapchainObject
Opaque handle to as swapchain object, backed with specific surface
SurfaceTransformFlags
Presentation transforms supported on a device
SwapchainCreateInfo
SwapchainWithSurfaceBuilder
Builder object to construct a Swapchain, backed with a surface
SynchronizedCommandBuffer
TemporalSubmissionBatchResourcesDeprecated
Version
A Value Object represents the Vulkan version number
VertexInputAttributeDescription
VertexInputBindingDescription
Viewport
VkHandleRef
A smart handle to a Vulkan object that holds a source lifetime (bitpattern as same as native handle type)
VkHandleRefMut
A smart handle to a Vulkan object that holds a source lifetime and mutable-borrowing (bitpattern as same as native handle type)

Enums§

CommandBufferLevel
CompareOp
Stencil comparison function
CompletionHandler
A semaphore or a fence
CompletionHandlerMut
A semaphore or a fence, externally synchronized on host access
DescriptorContents
DescriptorType
Specified the type of a descriptor in a descriptor set
ElementType
Containing component element in format
FormatComponents
Containing Components in Format(Order is not considered)
FrontFace
IndexType
Type of index buffer indices
LoadOp
LogicOp
Framebuffer logical operations
OcclusionQuery
Enabling or disabling the occlusion query
PipelineBindPoint
Specify the bind point of a pipeline object to a command buffer
PolygonMode
PresentMode
Presentation mode supported for a surface
PresentResult
PrimitiveTopology
Supported primitive topologies
QueryResult
QueryType
Specify the type of queries managed by a query pool
ShaderStage
StencilFaceMask
Bitmask specifying sets of stencil state for which to update the compare mask
StencilOp
Stencil action function
StoreOp
Possible argument values of AttachmentDescription::store_op and stencil_store_op, specifying how the contents of the attachment are treated.
SubpassContents
Specify how commands in the first subpass of a render pass are provided2
TimeoutableWaitResult

Traits§

AnalogNumRange
AnyRenderPassCreateInfo
AsFormat
Provides commonly used corresponding VkFormat for types
Chainable
CommandBuffer
CommandBufferMut
CommandPool
CommandPoolMut
ConcreteDeviceRenderPass
DescriptorPool
DescriptorPoolMut
DescriptorSetLayout
Device
DeviceBindMemory2Extension
DeviceChild
Child of a device object
DeviceChildFence
DeviceChildHandle
Child of a device object(raw handle)
DeviceChildTransferrable
DeviceGetMemoryRequirements2Extension
DeviceMut
DeviceSynchronization2Extension
Event
EventMut
Extendable
Fence
FenceMut
Framebuffer
Instance
A Vulkan Instance interface
InstanceChild
InstanceChildTransferrable
InstanceGetPhysicalDeviceProperties2Extension
PhysicalDevice
A PhysicalDevice interface
Pipeline
PipelineCache
PipelineCacheMut
PipelineLayout
PixelFormat
For testing format traits
QueryPool
Queue
QueueMut
RenderPass
ResolverInterface
Semaphore
SemaphoreMut
ShaderModule
SinkStructureChainQuery
SparseBindingOpBatch
SpecializationConstants
A trait for types that can be used as specialization constants.
Status
StructureChainQuery
SubmissionBatchDeprecated
Surface
SurfaceCreateInfo
Swapchain
SwapchainImageExt
SwapchainMut
TransferSurfaceObject
TypedVulkanSinkStructure
Trait for Vulkan structures that have a known [crate::vk::VkStructureType] at compile time.
TypedVulkanStructure
Trait for Vulkan structures that have a known [crate::vk::VkStructureType] at compile time.
VkDeviceChildNonExtDestroyable
VkHandle
Wrapping a Vulkan Dispatchable/Nondispatchable Handler
VkHandleExt
Extension methods(not dyn compatible) for VkHandle
VkHandleMut
Wrapping a Vulkan Dispatchable/Nondispatchable Mutable Handler
VkObject
An object in Vulkan
VkRawHandle
VulkanSinkStructure
Trait for Vulkan structures that can be cast to GenericVulkanSinkStructure safely.
VulkanStructure
Trait for Vulkan structures that can be cast to GenericVulkanStructure safely.
VulkanStructureProvider

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§

DeviceSize
Format
PhysicalDeviceFeatures
PhysicalDeviceProperties
Result

Derive Macros§

SpecializationConstants
Provides safe implementation for SpecializationConstants by deriving from structs.