[−][src]Module nannou::vk
Items related to Vulkan and the Rust API used by Nannou called Vulkano.
This module re-exports the entire vulkano
crate along with all of its documentation while
also adding some additional helper types.
Individual items from throughout the vulkano crate have been re-exported within this module for
ease of access via the vk::
prefix, removing the need for a lot of boilerplate when coding.
However, as a result, the documentation for this module is quite noisey! You can find cleaner
information about how the different areas of Vulkan interoperate by checking out the
module-level documentation for that area. For example, read about Framebuffers and RenderPasses
in the nannou::vk::framebuffer
module, or read about the CommandBuffer within the
nannou::vk::command_buffer
module.
For more information on extensions to the vulkano crate added by nannou, scroll past the "Re-exports" items below.
Re-exports
pub use vulkano_shaders as shaders; |
pub use vulkano_win as win; |
Modules
buffer | Location in memory that contains data. |
command_buffer | Commands that the GPU will execute (includes draw commands). |
descriptor | Provides a way for shaders to access the content of buffers and images, or read arbitrary data. |
device | Communication channel with a physical device. |
format | Declares all the formats of data and images supported by Vulkan. |
framebuffer | Targets on which your draw commands are executed. |
half | A crate that provides support for the half-precision floating point type. |
image | Image storage (1D, 2D, 3D, arrays, etc.). |
instance | API entry point. |
memory | Device memory allocation and memory pools. |
pipeline | Describes a graphical or compute operation. |
query | This module provides support for query pools. |
sampler | How to retrieve data from an image within a shader. |
swapchain | Link between Vulkan and a window and/or the screen. |
sync | Synchronization on the GPU. |
Macros
app_info_from_cargo_toml | Builds an |
buffer_slice_field | Takes a |
impl_vertex | Implements the |
ordered_passes_renderpass | Builds a |
single_pass_renderpass | Builds a |
statically_linked_vulkan_loader | Expression that returns a loader that assumes that Vulkan is linked to the executable you're compiling. |
Structs
ApplicationInfo | Information that can be given to the Vulkan driver so that it can identify your application. |
AttachmentBlend | Describes how the blending system should behave for an individual attachment. |
AttachmentDescription | Describes an attachment that will be used in a render pass. |
AttachmentImage | ImageAccess whose purpose is to be used as a framebuffer attachment. |
AttributeInfo | Information about a single attribute within a vertex. TODO: change that API |
AutoCommandBuffer | |
AutoCommandBufferBuilder | Note that command buffers allocated from the default command pool ( |
Blend | Describes how the color output of the fragment shader is written to the attachment. See the
documentation of the |
BufferInner | Inner information about a buffer. |
BufferSlice | A subpart of a buffer. |
BufferUsage | Describes how a buffer is going to be used. This is not just an optimization. |
BufferView | Represents a way for the GPU to interpret buffer data. See the documentation of the
|
BufferlessDefinition | Implementation of |
BufferlessVertices | Value to be passed as the vertex source for bufferless draw commands. |
CommandBufferExecFuture | Represents a command buffer being executed by the GPU and the moment when the execution finishes. |
ComputePipeline | A pipeline object that describes to the Vulkan implementation how it should perform compute operations. |
ComputePipelineSys | Opaque object that represents the inside of the compute pipeline. Can be made into a trait object. |
CpuAccessibleBuffer | Buffer whose content is accessible by the CPU. |
CpuBufferPool | Ring buffer from which "sub-buffers" can be individually allocated. |
CpuBufferPoolChunk | A subbuffer allocated from a |
CpuBufferPoolSubbuffer | A subbuffer allocated from a |
DebugCallbackBuilder | A builder struct that makes the process of building a debug callback more modular. |
DepthStencil | Configuration of the depth and stencil tests. |
DescriptorBufferDesc | |
DescriptorDesc | Contains the exact description of a single descriptor. |
DescriptorImageDesc | Additional description for descriptors that contain images. |
DescriptorWrite | Represents a single write entry to a descriptor set. |
DescriptorsCount | Number of available descriptors slots in a pool. |
Device | Represents a Vulkan context. |
DeviceExtensions | List of extensions that are enabled or available. |
DeviceLocalBuffer | Buffer whose content is in device-local memory. |
DispatchIndirectCommand | |
DrawIndirectCommand | |
DynamicState | The dynamic state to use for a draw command. |
EmptyPipelineDesc | Description of an empty pipeline layout. |
Fence | A fence is used to know when a command buffer submission has finished its execution. |
FenceSignalFuture | Represents a fence being signaled after a previous event. |
FixedSizeDescriptorSet | A descriptor set created from a |
FixedSizeDescriptorSetBuilder | Prototype of a |
FixedSizeDescriptorSetBuilderArray | Same as |
FixedSizeDescriptorSetsPool | Pool of descriptor sets of a specific capacity and that are automatically reclaimed. |
Framebuffer | Contains a render pass and the image views that are attached to it. |
FramebufferBuilder | Prototype of a framebuffer. |
FramebufferObject | The FramebufferObject or Fbo type for easy management of a framebuffer. |
FramebufferSys | Opaque object that represents the internals of a framebuffer. |
GraphicsPipeline | Defines how the implementation should perform a draw operation. |
GraphicsPipelineBuilder | Prototype for a |
GraphicsPipelineSys | Opaque object that represents the inside of the graphics pipeline. |
ImageAccessFromUndefinedLayout | Wraps around an object that implements |
ImageInner | Inner information about an image. |
ImageUsage | Describes how an image is going to be used. This is not just an optimization. |
ImmutableBuffer | Buffer that is written once then read for as long as it is alive. |
ImmutableImage | Image whose purpose is to be used for read-only purposes. You can write to the image once, but then you must only ever read from it. |
ImmutableImageInitialization | |
Instance | An instance of a Vulkan context. This is the main object that should be created by an application before everything else. |
InstanceBuilder | A builder struct that makes the process of building an instance more modular. |
InstanceExtensions | List of extensions that are enabled or available. |
JoinFuture | Two futures joined into one. |
Limits | Limits of a physical device. |
NowFuture | A dummy future that represents "now". |
OcclusionQueriesPool | |
OneVertexOneInstanceDefinition | Unstable. |
PassDependencyDescription | Describes a dependency between two passes of a render pass. |
PassDescription | Describes one of the passes of a render pass. |
PersistentDescriptorSet | An immutable descriptor set that is expected to be long-lived. |
PersistentDescriptorSetBuf | Internal object related to the |
PersistentDescriptorSetBufView | Internal object related to the |
PersistentDescriptorSetBuilder | Prototype of a |
PersistentDescriptorSetBuilderArray | Same as |
PersistentDescriptorSetImg | Internal object related to the |
PersistentDescriptorSetSampler | Internal object related to the |
PhysicalDevice | Represents one of the available devices on this machine. |
PhysicalDevicesIter | Iterator for all the physical devices available on hardware. |
PipelineLayout | Wrapper around the |
PipelineLayoutDescPcRange | Description of a range of the push constants of a pipeline layout. |
PipelineLayoutDescUnion | Contains the union of two pipeline layout description. |
PipelineLayoutSys | Opaque object that is borrowed from a |
QueryPipelineStatisticFlags | |
Queue | Represents a queue where commands can be submitted. |
QueueFamiliesIter | Iterator for all the queue families available on a physical device. |
QueueFamily | Represents a queue family in a physical device. |
QueuesIter | Iterator that returns the queues produced when creating a device. |
RawDeviceExtensions | Set of extensions, not restricted to those vulkano knows about. |
RawInstanceExtensions | Set of extensions, not restricted to those vulkano knows about. |
RenderPass | Defines the layout of multiple subpasses. |
RenderPassDescAttachments | Iterator to the attachments of a |
RenderPassDescDependencies | Iterator to the subpass dependencies of a |
RenderPassDescSubpasses | Iterator to the subpasses of a |
RenderPassSys | Opaque object that represents the render pass' internals. |
RuntimePipelineDesc | Runtime description of a pipeline layout. |
Sampler | Describes how to retrieve data from an image within a shader. |
SamplerBuilder | A builder struct that makes the process of building a Sampler more modular. |
Scissor | State of a single scissor box. |
Semaphore | Used to provide synchronization between command buffers during their execution. |
SemaphoreSignalFuture | Represents a semaphore being signaled after a previous event. |
ShaderStages | Describes which shader stages have access to a descriptor. |
SingleBufferDefinition | Implementation of |
SingleInstanceBufferDefinition | Same as |
StdDescriptorPool | Standard implementation of a descriptor pool. |
StdDescriptorPoolAlloc | A descriptor set allocated from a |
Stencil | Configuration of a stencil test. |
StorageImage | General-purpose image in device memory. Can be used for any usage, but will be slower than a specialized image. |
Subpass | Represents a subpass within a |
Surface | Represents a surface on the screen. |
Swapchain | Contains the swapping system and the images that can be shown on a surface. |
SwapchainAcquireFuture | Represents the moment when the GPU will have access to a swapchain image. |
SwapchainImage | An image that is part of a swapchain. |
TwoBuffersDefinition | Unstable. |
UnsafeDescriptorPool | Pool from which descriptor sets are allocated from. |
UnsafeDescriptorPoolAllocIter | Iterator to the descriptor sets allocated from an unsafe descriptor pool. |
UnsafeDescriptorSet | Low-level descriptor set. |
UnsafeDescriptorSetLayout | Describes to the Vulkan implementation the layout of all descriptors within a descriptor set. |
UnsafeQueriesRange | |
UnsafeQuery | |
UnsafeQueryPool | |
Version | Represents an API version of Vulkan. |
VertexMemberInfo | Information about a member of a vertex struct. |
Viewport | State of a single viewport. |
ViewportBuilder | A builder struct that makes the process of building a Viewport more modular. |
Enums
AttachmentsBlend | Describes how the blending system should behave. |
AutoCommandBufferBuilderContextError | |
BlendFactor | |
BlendOp | |
BufferCreationError | Error that can happen when creating a buffer. |
ClearValue | Describes a uniform value that will be used to fill an image. |
ComputePipelineCreationError | Error that can happen when creating a compute pipeline. |
DepthBounds | Allows you to ask the GPU to exclude fragments that are outside of a certain range. |
DepthStencilCompare | Specifies how two values should be compared to decide whether a test passes or fails. |
DescriptorDescSupersetError | Error when checking whether a descriptor is a superset of another one. |
DescriptorDescTy | Describes the content and layout of each array element of a descriptor. |
DescriptorImageDescArray | |
DescriptorImageDescDimensions | |
DescriptorPoolAllocError | Error that can be returned when creating a device. |
DescriptorType | Describes what kind of resource may later be bound to a descriptor. |
DeviceCreationError | Error that can be returned when creating a device. |
ExecuteCommandsError | |
Format | An enumeration of all the possible formats. |
FormatTy | |
FramebufferCreationError | Error that can happen when creating a framebuffer object. |
GraphicsPipelineCreationError | Error that can happen when creating a graphics pipeline. |
ImageCreationError | Error that can happen when creating an instance. |
ImageDimensions | |
ImageLayout | Layout of an image. |
IncompatibleRenderPassAttachmentError | Error that can happen when an image is not compatible with a render pass attachment slot. |
IncompatibleVertexDefinitionError | Error that can happen when the vertex definition doesn't match the input of the vertex shader. |
InstanceCreationError | Error that can happen when creating an instance. |
LoadOp | Describes what the implementation should do with an attachment at the start of the subpass. |
LogicOp | Which logical operation to apply to the output values. |
MipmapsCount | Specifies how many mipmaps must be allocated. |
OomError | Error type returned by most Vulkan functions. |
PersistentDescriptorSetBuildError | Error when building a persistent descriptor set. |
PersistentDescriptorSetError | Error related to the persistent descriptor set. |
PhysicalDeviceType | Type of a physical device. |
PipelineLayoutCreationError | Error that can happen when creating a pipeline layout. |
PipelineLayoutLimitsError | The pipeline layout description isn't compatible with the hardware limits. |
PipelineLayoutNotSupersetError | Error that can happen when creating a graphics pipeline. |
QueryPoolCreationError | Error that can happen when creating a buffer. |
QueryType | |
RenderPassCreationError | Error that can happen when creating a compute pipeline. |
RuntimePipelineDescError | Error when building a persistent descriptor set. |
SamplerAddressMode | How the sampler should behave when it needs to access a pixel that is out of range of the texture. |
SamplerCreationError | Error that can happen when creating an instance. |
ShaderStagesSupersetError | Error when checking whether some shader stages are superset of others. |
StateCacherOutcome | Outcome of an operation. |
StencilOp | Operation to perform after the depth and stencil tests. |
StoreOp | Describes what the implementation should do with an attachment after all the subpasses have completed. |
SubpassContents | Describes what a subpass in a command buffer will contain. |
SwapchainCreationError | Error that can happen when creation a swapchain. |
UnnormalizedSamplerAddressMode | How the sampler should behave when it needs to access a pixel that is out of range of the texture. |
UpdateBufferError | |
VertexMemberTy | Type of a member of a vertex struct. |
ViewportsState | List of viewports and scissors that are used when creating a graphics pipeline object. |
Constants
DEFAULT_APPLICATION_INFO | The default application info |
DEFAULT_APPLICATION_NAME | The default application name used with the default |
Traits
AcceptsPixels | |
AttachmentImageView | |
AttachmentsList | A list of attachments. |
BufferAccess | Trait for objects that represent a way for the GPU to have access to a buffer or a slice of a buffer. |
BufferViewRef | |
ClearValuesTuple | |
CommandBuffer | |
ComputePipelineAbstract | Trait implemented on all compute pipelines. |
DescriptorPool | A pool from which descriptor sets can be allocated. |
DescriptorPoolAlloc | An allocated descriptor set. |
DescriptorSet | Trait for objects that contain a collection of resources that will be accessible by shaders. |
DescriptorSetDesc | Trait for objects that describe the layout of the descriptors of a set. |
DescriptorSetsCollection | A collection of descriptor set objects. |
DeviceOwned | Implemented on objects that belong to a Vulkan device. |
DynamicStateBuilder | A simple trait that extends the |
FormatDesc | |
FramebufferAbstract | Trait for objects that contain a Vulkan framebuffer object. |
GpuFuture | Represents an event that will happen on the GPU in the future. |
GraphicsPipelineAbstract | Trait implemented on objects that reference a graphics pipeline. Can be made into a trait
object.
When using this trait |
ImageAccess | Trait for types that represent the way a GPU can access an image. |
ImageClearValue | Extension trait for images. Checks whether the value |
ImageContent | |
ImageViewAccess | Trait for types that represent the GPU can access an image view. |
PipelineLayoutAbstract | Trait for objects that describe the layout of the descriptors and push constants of a pipeline. |
PipelineLayoutDesc | Trait for objects that describe the layout of the descriptors and push constants of a pipeline. |
PipelineLayoutPushConstantsCompatible | Traits that allow determining whether |
PipelineLayoutSetsCompatible | Traits that allow determining whether |
PipelineLayoutSuperset | Traits that allow determining whether a pipeline layout is a superset of another one. |
PossibleCompressedFormatDesc | |
PossibleDepthFormatDesc | |
PossibleDepthStencilFormatDesc | |
PossibleFloatFormatDesc | Trait for types that can possibly describe a float attachment. |
PossibleFloatOrCompressedFormatDesc | Trait for types that can possibly describe a float or compressed attachment. |
PossibleSintFormatDesc | |
PossibleStencilFormatDesc | |
PossibleUintFormatDesc | |
RenderPassAbstract | Trait for objects that contain a Vulkan render pass object. |
RenderPassCompatible | Trait implemented on render pass objects to check whether they are compatible with another render pass. |
RenderPassDesc | Trait for objects that contain the description of a render pass. |
RenderPassDescClearValues | Extension trait for |
RenderPassSubpassInterface | Extension trait for |
SafeDeref | Alternative to the |
StrongStorage | |
SynchronizedVulkanObject | Gives access to the internal identifier of an object. |
TypedBufferAccess | Extension trait for |
Vertex | Describes an individual |
VertexDefinition | Trait for types that describe the definition of the vertex input used by a graphics pipeline. |
VertexMember | Trait for data types that can be used as vertex members. Used by the |
VertexSource | Extension trait of |
VulkanHandle | |
VulkanObject | Gives access to the internal identifier of an object. |
Functions
format_is_srgb | Whether or not the format is sRGB. |
msaa_samples_limited | Given some target MSAA samples, limit it by the capabilities of the given |
required_extensions_with_loader | |
required_windowing_extensions | The default set of required extensions used by Nannou. |
Type Definitions
Fbo | Shorthand for the FramebufferObject type. |
FramebufferBuilderResult | Shorthand for the builder result type expected by the function given to |