[][src]Module gfx_hal::command

Command buffers.

A command buffer collects a list of commands to be submitted to the device. Each command buffer has specific capabilities for graphics, compute or transfer operations, and can be either a "primary" command buffer or a "secondary" command buffer. Operations always start from a primary command buffer, but a primary command buffer can contain calls to secondary command buffers that contain snippets of commands that do specific things, similar to function calls.

All the possible commands are implemented in the RawCommandBuffer trait, and then the CommandBuffer and related types make a generic, strongly-typed wrapper around it that only expose the methods that are valid for the capabilities it provides.

Structs

BufferCopy

Specifies a source region and a destination region in a buffer for copying. All values are in units of bytes.

BufferImageCopy

Bundles together all the parameters needed to copy a buffer to an image or vice-versa.

ClearDepthStencil

Depth-stencil target clear values.

ClearDepthStencilRaw

A variant of ClearDepthStencil that has a #[repr(C)] layout and so is used when a known layout is needed.

CommandBuffer

A strongly-typed command buffer that will only implement methods that are valid for the operations it supports.

CommandBufferFlags

Option flags for various command buffer settings.

CommandBufferInheritanceInfo
ImageBlit

Parameters for an image blit operation, where a portion of one image is copied into another, possibly with scaling and filtering.

ImageCopy

Bundles together all the parameters needed to copy data from one Image to another.

ImageResolve

Parameters for an image resolve operation, where a multi-sampled image is copied into a single-sampled image.

RenderPassInlineEncoder

An object that records commands into a command buffer inline, that is, without secondary command buffers.

RenderPassSecondaryEncoder

An object that records commands into a command buffer where each command must be a call to execute a secondary command buffer.

RenderSubpassCommon

This struct contains all methods for all commands submittable during a subpass. It is used to implement the identical portions of RenderPassInlineEncoder and SubpassCommandBuffer.

SubpassCommandBuffer

A secondary command buffer recorded entirely within a subpass.

Enums

AttachmentClear

Attachment clear description for the current subpass.

ClearColor

A universal clear color supporting integer formats as well as the standard floating-point.

ClearValue

General clear values for attachments (color or depth-stencil).

MultiShot

Indicates a Submit that can be submitted multiple times.

OneShot

Indicates a Submit that can only be submitted once.

Primary

Indicates a primary command buffer. Vulkan describes a primary command buffer as one which can be directly submitted to a queue, and can execute Secondary command buffers.

RawLevel

An enum that indicates at runtime whether a command buffer is primary or secondary, similar to what command::Primary and command::Secondary do at compile-time.

Secondary

Indicates a secondary command buffer.

SubpassContents

Specifies how commands for the following renderpasses will be recorded.

Traits

IntoRawCommandBuffer

A trait for types that can be converted into raw command buffer.

Level

A trait indicating the level of a command buffer.

RawCommandBuffer

A trait that describes all the operations that must be provided by a Backend's command buffer.

Shot

Trait indicating how many times a Submit object can be submitted to a command buffer.

Submittable

A property of a command buffer to be submitted to a queue with specific capability.

Type Definitions

DescriptorSetOffset

Offset for dynamic descriptors.

SecondaryCommandBuffer

A convenience alias for not typing out the full signature of a secondary command buffer.

Unions

ClearColorRaw

Unsafe variant of ClearColor.

ClearValueRaw

Unsafe variant of ClearValue.