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(VK_KHR_surface/VK_KHR_swapchain/VK_KHR_display)
  • alloc(default): Enable extra functionalities that may allocate some memory inside
  • VK_***: Enable Vulkan extensions(same name as each extensions)

Re-exports§

pub use resources::*;

Modules§

error
resources
Vulkan Resources
vk
vkfn
vkfn_wrapper

Macros§

DescriptorUpdateTemplateEntries
DescriptorUpdateTemplateEntry

Structs§

AccessFlags
Access Types
AccessFlags2
AccessFlags2ReadWriteBits
ApplicationInfo
BufferMemoryBarrier
Wrapper object of VkBufferMemoryBarrier, describes a memory barrier of a buffer.
BufferMemoryBarrier2
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
EmptyBindingOpBatch
EmptySubmissionBatchDeprecated
EventCreateInfo
EventObject
Extends
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
ImageMemoryBarrier
Wrapper object of VkImageMemoryBarrier, derscribes a memory barrier of an image.
ImageMemoryBarrier2
InstanceCreateFlags
InstanceCreateInfo
InstanceObject
Opaque handle to a instance object
IterPhysicalDevices
MemoryBarrier2
MemoryHeapFlags
Bitmask specifying attribute flags for a heap
MemoryProperties
Device memory properties
MemoryPropertyFlags
Bitmask specifying properties for a memory type
PhysicalDeviceFeatures2
PhysicalDeviceObject
Opaque handle to a physical device object
PhysicalDeviceSynchronization2Features
PipelineCacheCreateInfo
PipelineCacheObject
Opaque handle to a pipeline cache object
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
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
QueueFlags
Set of bit of queue flags
QueueObject
Opaque handle to a queue object
RenderPassBeginInfo
RenderPassCreateInfo
Builder structure to construct the RenderPass
RenderPassObject
Opaque handle to a render pass object
SemaphoreCreateInfo
SemaphoreObject
SemaphoreSubmitInfo
ShaderModuleCreateInfo
ShaderModuleObject
Opaque handle to a shader module object
SinkStructureChainIterator
SparseBindingOpBatchWithBufferBinds
SparseBindingOpBatchWithImageBinds
SparseBindingOpBatchWithImageOpaqueBinds
SparseBindingOpBatchWithSignalSemaphores
SparseBindingOpBatchWithWaitSemaphores
SpecializationInfo
StructureChainIterator
SubmissionWithCommandBuffersDeprecated
SubmissionWithSignalSemaphoresDeprecated
SubmissionWithWaitSemaphoresDeprecated
SubmitInfo
SubmitInfo2
SubpassDescription
Builder structure to construct the VkSubpassDescription
SubpassRef
A reference to a subpass in a render pass object.
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
SwapchainBuilder
Builder object to construct a Swapchain, backed with a surface
SwapchainCreateInfo
SynchronizedCommandBuffer
TemporalSubmissionBatchResourcesDeprecated
Version
A Value Object represents the Vulkan version number
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§

ArrayQueryResult
An result type of querying an array of objects
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
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

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
DeviceSynchronization2Extension
Event
EventMut
Extendable
Fence
FenceMut
Framebuffer
Instance
A Vulkan Instance interface
InstanceChild
InstanceChildTransferrable
InstanceGetPhysicalDeviceProperties2Extension
PFN
PhysicalDevice
A PhysicalDevice interface
Pipeline
PipelineCache
PipelineCacheMut
PipelineLayout
PixelFormat
For testing format traits
QueryPool
Queue
QueueMut
RenderPass
ResolverInterface
Semaphore
SemaphoreMut
ShaderModule
SinkStructureChainQuery
SparseBindingOpBatch
SpecializationConstants
StaticCallable
Status
StructureChainQuery
SubmissionBatchDeprecated
Surface
SurfaceCreateInfo
Swapchain
TransferSurfaceObject
TypedVulkanSinkStructure
TypedVulkanStructure
UninitVulkanStructureOps
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
VulkanStructure
VulkanStructureProvider

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§

BufferCopy
ClearColorValue
A color value representation for clearing operations. Constructable from RGBA values using From::from.
ClearValue
DeviceSize
Extent2D
Extent3D
Format
ImageCopy
MemoryHeap
MemoryType
Offset2D
Offset3D
PhysicalDeviceFeatures
PhysicalDeviceMemoryProperties
PhysicalDeviceProperties
PushConstantRange
QueueFamilyProperties
Rect2D
Result
SpecializationMapEntry
StencilOpState
SurfaceCapabilities
SurfaceFormat
VertexInputAttributeDescription
VertexInputBindingDescription
Viewport

Derive Macros§

SpecializationConstants
Provides safe implementation for SpecializationConstants by deriving from structs.