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
vkfnImplements
vkfn_wrapperImplements

Macros§

DescriptorUpdateTemplateEntries
DescriptorUpdateTemplateEntry

Structs§

AccessFlags
Access Types
AccessFlags2
AccessFlags2ReadWriteBitsVK_KHR_synchronization2
ApplicationInfo
AttachmentDescription2VK_KHR_create_renderpass2
AttachmentReference2VK_KHR_create_renderpass2
BufferMemoryBarrier
Wrapper object of VkBufferMemoryBarrier, describes a memory barrier of a buffer.
BufferMemoryBarrier2VK_KHR_synchronization2
CmdRecordImplements
The recording state of command buffers
CommandBufferAllocateInfo
CommandBufferBeginInfo
CommandBufferFixedCountAllocateInfo
CommandBufferInheritanceInfo
CommandBufferObject
Opaque handle to a command buffer object
CommandBufferSubmitInfoVK_KHR_synchronization2
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
DebugReportCallbackCreateInfoVK_EXT_debug_report
DebugReportCallbackObjectVK_EXT_debug_report
Opaque object to a debug report callback object
DebugUtilsMessageSeverityFlagsVK_EXT_debug_utils
Bitmask specifying which severities of events cause a debug messenger callback.
DebugUtilsMessageTypeFlagsVK_EXT_debug_utils
Bitmask specifying which types of events cause a debug messenger callback.
DebugUtilsMessengerObjectVK_EXT_debug_utils
DebugUtilsObjectNameInfoVK_EXT_debug_utils
DependencyInfoVK_KHR_synchronization2
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
DescriptorUpdateTemplateObjectVK_KHR_descriptor_update_template
DeviceCreateInfo
DeviceObject
Opaque handle to a device object
DeviceQueueCreateInfo
Family Index, Queue Priorities
DisplayVK_KHR_display
DisplayModeVK_KHR_display
DisplayModePropertiesVK_KHR_display
DisplayPlanePropertiesWithPhysicalDeviceRefVK_KHR_display
DisplayPropertiesWithPhysicalDeviceRefVK_KHR_display
EmptyBindingOpBatch
EmptySubmissionBatchDeprecated
EventCreateInfo
EventObject
Extends
FenceCreateInfo
FenceFdGetInfoVK_KHR_external_fence_fd
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.
ImageMemoryBarrier2VK_KHR_synchronization2
ImportFenceFdInfoVK_KHR_external_fence_fd
ImportMemoryFdInfoVK_KHR_external_memory_fd
ImportMemoryHostPointerInfoVK_EXT_external_memory_host
InstanceCreateInfo
InstanceObject
Opaque handle to a instance object
IterPhysicalDevices
MemoryBarrier2VK_KHR_synchronization2
MemoryGetFdInfoVK_KHR_external_memory_fd
MemoryHeapFlags
Bitmask specifying attribute flags for a heap
MemoryProperties
Device memory properties
MemoryPropertyFlags
Bitmask specifying properties for a memory type
PhysicalDeviceFeatures2VK_KHR_get_physical_device_properties2
PhysicalDeviceObject
Opaque handle to a physical device object
PhysicalDeviceSynchronization2FeaturesVK_KHR_synchronization2
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
PipelineRasterizationConservativeStateCreateInfoVK_EXT_conservative_rasterization
Structure specifying conservative raster state
PipelineRasterizationLineStateCreateInfoVK_KHR_line_rasterization
Structure specifying parameters of a newly created pipeline line rasterization state
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
PresentInfoVK_KHR_swapchain
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
RenderPassCreateInfo2VK_KHR_create_renderpass2
RenderPassObject
Opaque handle to a render pass object
SemaphoreCreateInfo
SemaphoreObject
SemaphoreSubmitInfoVK_KHR_synchronization2
ShaderModuleCreateInfo
ShaderModuleObject
Opaque handle to a shader module object
SinkStructureChainIterator
SparseBindingOpBatchWithBufferBinds
SparseBindingOpBatchWithImageBinds
SparseBindingOpBatchWithImageOpaqueBinds
SparseBindingOpBatchWithSignalSemaphores
SparseBindingOpBatchWithWaitSemaphores
SpecializationInfo
StructureChainIterator
SubmissionWithCommandBuffersDeprecatedalloc
SubmissionWithSignalSemaphoresDeprecatedalloc
SubmissionWithWaitSemaphoresDeprecatedalloc
SubmitInfo
SubmitInfo2VK_KHR_synchronization2
SubpassDependency2VK_KHR_create_renderpass2
SubpassDescription
Builder structure to construct the VkSubpassDescription
SubpassDescription2VK_KHR_create_renderpass2
SubpassRef
A reference to a subpass in a render pass object.
SurfaceFullScreenExclusiveInfo
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
TemporalSubmissionBatchResourcesDeprecatedalloc
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§

CommandBufferLevel
CompareOp
Stencil comparison function
CompletionHandler
A semaphore or a fence
CompletionHandlerMut
A semaphore or a fence, externally synchronized on host access
ConservativeRasterizationModeVK_EXT_conservative_rasterization
Specify the conservative rasterization mode
DebugReportObjectTypeVK_EXT_debug_report or VK_EXT_debug_marker
The type of an object passed to the VkDebugMarkerObjectNameInfoEXT and VkDebugMarkerObjectTagInfoEXT commands
DebugUtilsMessageSeverityFlagVK_EXT_debug_utils
DescriptorContents
DescriptorType
Specified the type of a descriptor in a descriptor set
DisplayPlaneAlphaVK_KHR_display
Alpha blending type
ElementType
Containing component element in format
ExternalFenceFdTypeVK_KHR_external_fence_fd
ExternalMemoryHandleTypeFdVK_KHR_external_memory_fd
ExternalMemoryHandleTypeHostVK_EXT_external_memory_host
FormatComponents
Containing Components in Format(Order is not considered)
FrontFace
FullScreenExclusive
Hint values an application can specify affecting full-screen transition behavior.
IndexType
Type of index buffer indices
LineRasterizationModeVK_KHR_line_rasterization
Line rasterization modes
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
SubpassIndexVK_KHR_create_renderpass2
Index specifying a subpass

Traits§

AnalogNumRange
AnyRenderPassCreateInfoImplements
AsFormat
Provides commonly used corresponding VkFormat for types
Chainable
CommandBuffer
CommandBufferMut
CommandPool
CommandPoolMut
ConcreteDeviceRenderPass
DebugReportCallbackVK_EXT_debug_report
DebugUtilsMessengerVK_EXT_debug_utils
DescriptorPool
DescriptorPoolMut
DescriptorSetLayout
DescriptorUpdateTemplateVK_KHR_descriptor_update_template
Device
DeviceChild
Child of a device object
DeviceChildFence
DeviceChildHandle
Child of a device object(raw handle)
DeviceChildTransferrable
DeviceExtCommandFunctionProvider
Functions from extension
DeviceFullScreenExclusiveExtensionImplements and VK_EXT_full_screen_exclusive
Event
EventMut
Extendable
Fence
FenceMut
Framebuffer
Instance
A Vulkan Instance interface
InstanceChild
InstanceChildTransferrable
InstanceExtensions
VkInstance Extension Function Providers
PFN
PhysicalDevice
A PhysicalDevice interface
Pipeline
PipelineCache
PipelineCacheMut
PipelineLayout
PixelFormat
For testing format traits
QueryPool
Queue
QueueMut
RenderPass
ResolverInterfaceImplements
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_allocImplements and alloc
Returns up to all of global layer properties
instance_extension_propertiesImplements and alloc
Returns up to all of global extension properties
instance_extension_properties_cstrImplements
Returns up to all of global extension properties
instance_extension_properties_cstr_allocImplements and alloc
Returns up to all of global extension properties
instance_extension_property_count_cstrImplements
Returns a count up to all of global extension properties
instance_layer_propertiesImplements
Returns up to all of global layer properties
instance_layer_property_countImplements
Returns a count of all of global layer properties
instance_versionImplements
Query instance-level version before instance creation
new_instance_rawImplements
Create a new Vulkan instance

Type Aliases§

AndroidSurfaceCreateInfoVK_KHR_android_surface
BufferCopy
ClearColorValue
A color value representation for clearing operations. Constructable from RGBA values using From::from.
ClearValue
DebugUtilsMessengerCreateInfoVK_EXT_debug_utils
DeviceSize
DisplayPlanePropertiesVK_KHR_display
DisplayPropertiesVK_KHR_display
Extent2D
Extent3D
Format
ImageCopy
MemoryHeap
MemoryType
MetalSurfaceCreateInfoVK_EXT_metal_surface
Offset2D
Offset3D
PhysicalDeviceFeatures
PhysicalDeviceMemoryProperties
PhysicalDeviceProperties
PushConstantRange
QueueFamilyProperties
Rect2D
Result
SpecializationMapEntry
SubpassBeginInfoVK_KHR_create_renderpass2
SubpassEndInfoVK_KHR_create_renderpass2
SurfaceCapabilities
SurfaceFormat
VertexInputAttributeDescription
VertexInputBindingDescription
Viewport
WaylandSurfaceCreateInfoVK_KHR_wayland_surface
XcbSurfaceCreateInfoVK_KHR_xcb_surface
XlibSurfaceCreateInfoVK_KHR_xlib_surface

Derive Macros§

SpecializationConstants
Provides safe implementation for SpecializationConstants by deriving from structs.