logo
pub enum PipelineExecutionError {
Show 34 variants SyncCommandBufferBuilderError(SyncCommandBufferBuilderError), RequirementNotMet { required_for: &'static str, requires_one_of: RequiresOneOf, }, DescriptorResourceInvalid { set_num: u32, binding_num: u32, index: u32, error: DescriptorResourceInvalidError, }, DescriptorSetNotBound { set_num: u32, }, DynamicColorWriteEnableNotEnoughValues { color_write_enable_count: u32, attachment_count: u32, }, DynamicPrimitiveTopologyClassMismatch { provided_class: PrimitiveTopologyClass, required_class: PrimitiveTopologyClass, }, DynamicPrimitiveTopologyInvalid { topology: PrimitiveTopology, }, DynamicStateNotSet { dynamic_state: DynamicState, }, DynamicViewportScissorCountMismatch { viewport_count: u32, scissor_count: u32, }, ForbiddenInsideRenderPass, ForbiddenOutsideRenderPass, ForbiddenWithSubpassContents { subpass_contents: SubpassContents, }, IndexBufferNotBound, IndexBufferRangeOutOfBounds { highest_index: u32, max_index_count: u32, }, IndirectBufferMissingUsage, MaxComputeWorkGroupCountExceeded { requested: [u32; 3], max: [u32; 3], }, MaxDrawIndirectCountExceeded { provided: u32, max: u32, }, MaxMultiviewInstanceIndexExceeded { highest_instance: u64, max: u32, }, NotSupportedByQueueFamily, PipelineColorAttachmentCountMismatch { pipeline_count: u32, required_count: u32, }, PipelineColorAttachmentFormatMismatch { color_attachment_index: u32, pipeline_format: Option<Format>, required_format: Format, }, PipelineDepthAttachmentFormatMismatch { pipeline_format: Option<Format>, required_format: Format, }, PipelineLayoutNotCompatible, PipelineNotBound, PipelineRenderPassNotCompatible, PipelineRenderPassTypeMismatch, PipelineSubpassMismatch { pipeline: u32, current: u32, }, PipelineStencilAttachmentFormatMismatch { pipeline_format: Option<Format>, required_format: Format, }, PipelineViewMaskMismatch { pipeline_view_mask: u32, required_view_mask: u32, }, PushConstantsNotCompatible, PushConstantsMissing, VertexBufferNotBound { binding_num: u32, }, VertexBufferInstanceRangeOutOfBounds { instances_needed: u64, instances_in_buffers: u64, }, VertexBufferVertexRangeOutOfBounds { vertices_needed: u64, vertices_in_buffers: u64, },
}
Expand description

Error that can happen when recording a bound pipeline execution command.

Variants

SyncCommandBufferBuilderError(SyncCommandBufferBuilderError)

RequirementNotMet

Fields

required_for: &'static str
requires_one_of: RequiresOneOf

DescriptorResourceInvalid

Fields

set_num: u32
binding_num: u32
index: u32
error: DescriptorResourceInvalidError

The resource bound to a descriptor set binding at a particular index is not compatible with the requirements of the pipeline and shaders.

DescriptorSetNotBound

Fields

set_num: u32

The pipeline layout requires a descriptor set bound to a set number, but none was bound.

DynamicColorWriteEnableNotEnoughValues

Fields

color_write_enable_count: u32
attachment_count: u32

The bound pipeline uses a dynamic color write enable setting, but the number of provided enable values is less than the number of attachments in the current render subpass.

DynamicPrimitiveTopologyClassMismatch

Fields

provided_class: PrimitiveTopologyClass
required_class: PrimitiveTopologyClass

The bound pipeline uses a dynamic primitive topology, but the provided topology is of a different topology class than what the pipeline requires.

DynamicPrimitiveTopologyInvalid

Fields

The bound pipeline uses a dynamic primitive topology, but the provided topology is not compatible with the shader stages in the pipeline.

DynamicStateNotSet

Fields

dynamic_state: DynamicState

The pipeline requires a particular dynamic state, but this state was not set.

DynamicViewportScissorCountMismatch

Fields

viewport_count: u32
scissor_count: u32

The bound pipeline uses a dynamic scissor and/or viewport count, but the scissor count does not match the viewport count.

ForbiddenInsideRenderPass

Operation forbidden inside a render pass.

ForbiddenOutsideRenderPass

Operation forbidden outside a render pass.

ForbiddenWithSubpassContents

Fields

subpass_contents: SubpassContents

Operation forbidden inside a render subpass with the specified contents.

IndexBufferNotBound

An indexed draw command was recorded, but no index buffer was bound.

IndexBufferRangeOutOfBounds

Fields

highest_index: u32
max_index_count: u32

The highest index to be drawn exceeds the available number of indices in the bound index buffer.

IndirectBufferMissingUsage

The indirect_buffer usage was not enabled on the indirect buffer.

MaxComputeWorkGroupCountExceeded

Fields

requested: [u32; 3]
max: [u32; 3]

The max_compute_work_group_count limit has been exceeded.

MaxDrawIndirectCountExceeded

Fields

provided: u32
max: u32

The max_draw_indirect_count limit has been exceeded.

MaxMultiviewInstanceIndexExceeded

Fields

highest_instance: u64
max: u32

The max_multiview_instance_index limit has been exceeded.

NotSupportedByQueueFamily

The queue family doesn’t allow this operation.

PipelineColorAttachmentCountMismatch

Fields

pipeline_count: u32
required_count: u32

The color attachment count in the bound pipeline does not match the count of the current render pass.

PipelineColorAttachmentFormatMismatch

Fields

color_attachment_index: u32
pipeline_format: Option<Format>
required_format: Format

The format of a color attachment in the bound pipeline does not match the format of the corresponding color attachment in the current render pass.

PipelineDepthAttachmentFormatMismatch

Fields

pipeline_format: Option<Format>
required_format: Format

The format of the depth attachment in the bound pipeline does not match the format of the depth attachment in the current render pass.

PipelineLayoutNotCompatible

The bound pipeline is not compatible with the layout used to bind the descriptor sets.

PipelineNotBound

No pipeline was bound to the bind point used by the operation.

PipelineRenderPassNotCompatible

The bound graphics pipeline uses a render pass that is not compatible with the currently active render pass.

PipelineRenderPassTypeMismatch

The bound graphics pipeline uses a render pass of a different type than the currently active render pass.

PipelineSubpassMismatch

Fields

pipeline: u32
current: u32

The bound graphics pipeline uses a render subpass index that doesn’t match the currently active subpass index.

PipelineStencilAttachmentFormatMismatch

Fields

pipeline_format: Option<Format>
required_format: Format

The format of the stencil attachment in the bound pipeline does not match the format of the stencil attachment in the current render pass.

PipelineViewMaskMismatch

Fields

pipeline_view_mask: u32
required_view_mask: u32

The view mask of the bound pipeline does not match the view mask of the current render pass.

PushConstantsNotCompatible

The push constants are not compatible with the pipeline layout.

PushConstantsMissing

Not all push constants used by the pipeline have been set.

VertexBufferNotBound

Fields

binding_num: u32

The bound graphics pipeline requires a vertex buffer bound to a binding number, but none was bound.

VertexBufferInstanceRangeOutOfBounds

Fields

instances_needed: u64
instances_in_buffers: u64

The number of instances to be drawn exceeds the available number of indices in the bound vertex buffers used by the pipeline.

VertexBufferVertexRangeOutOfBounds

Fields

vertices_needed: u64
vertices_in_buffers: u64

The number of vertices to be drawn exceeds the lowest available number of vertices in the bound vertex buffers used by the pipeline.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0:

use the Display impl or to_string()

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
Converts to this type from the input type.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to provide by using demand. Read more
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.