pub enum GraphicsPipelineCreationError {
Show 39 variants OomError(OomError), IncompatiblePipelineLayout(PipelineLayoutNotSupersetError), VertexGeometryStagesMismatch(ShaderInterfaceMismatchError), VertexTessControlStagesMismatch(ShaderInterfaceMismatchError), VertexFragmentStagesMismatch(ShaderInterfaceMismatchError), TessControlTessEvalStagesMismatch(ShaderInterfaceMismatchError), TessEvalGeometryStagesMismatch(ShaderInterfaceMismatchError), TessEvalFragmentStagesMismatch(ShaderInterfaceMismatchError), GeometryFragmentStagesMismatch(ShaderInterfaceMismatchError), FragmentShaderRenderPassIncompatible, IncompatibleVertexDefinition(IncompatibleVertexDefinitionError), MaxVertexInputBindingStrideExceeded { binding: usize, max: usize, obtained: usize, }, MaxVertexInputBindingsExceeded { max: usize, obtained: usize, }, MaxVertexInputAttributeOffsetExceeded { max: usize, obtained: usize, }, MaxVertexInputAttributesExceeded { max: usize, obtained: usize, }, PrimitiveDoesntSupportPrimitiveRestart { primitive: PrimitiveTopology, }, MultiViewportFeatureNotEnabled, MaxViewportsExceeded { max: u32, obtained: u32, }, MaxViewportDimensionsExceeded, ViewportBoundsExceeded, WideLinesFeatureNotEnabled, DepthClampFeatureNotEnabled, DepthBiasClampFeatureNotEnabled, FillModeNonSolidFeatureNotEnabled, DepthBoundsFeatureNotEnabled, WrongStencilState, TopologyNotMatchingGeometryShader, GeometryShaderFeatureNotEnabled, TessellationShaderFeatureNotEnabled, MismatchBlendingAttachmentsCount, IndependentBlendFeatureNotEnabled, LogicOpFeatureNotEnabled, NoDepthAttachment, NoStencilAttachment, InvalidPrimitiveTopology, MaxTessellationPatchSizeExceeded, WrongShaderType, SampleRateShadingFeatureNotEnabled, AlphaToOneFeatureNotEnabled,
}
Expand description

Error that can happen when creating a graphics pipeline.

Variants

OomError(OomError)

Not enough memory.

IncompatiblePipelineLayout(PipelineLayoutNotSupersetError)

The pipeline layout is not compatible with what the shaders expect.

VertexGeometryStagesMismatch(ShaderInterfaceMismatchError)

The interface between the vertex shader and the geometry shader mismatches.

VertexTessControlStagesMismatch(ShaderInterfaceMismatchError)

The interface between the vertex shader and the tessellation control shader mismatches.

VertexFragmentStagesMismatch(ShaderInterfaceMismatchError)

The interface between the vertex shader and the fragment shader mismatches.

TessControlTessEvalStagesMismatch(ShaderInterfaceMismatchError)

The interface between the tessellation control shader and the tessellation evaluation shader mismatches.

TessEvalGeometryStagesMismatch(ShaderInterfaceMismatchError)

The interface between the tessellation evaluation shader and the geometry shader mismatches.

TessEvalFragmentStagesMismatch(ShaderInterfaceMismatchError)

The interface between the tessellation evaluation shader and the fragment shader mismatches.

GeometryFragmentStagesMismatch(ShaderInterfaceMismatchError)

The interface between the geometry shader and the fragment shader mismatches.

FragmentShaderRenderPassIncompatible

The output of the fragment shader is not compatible with what the render pass subpass expects.

IncompatibleVertexDefinition(IncompatibleVertexDefinitionError)

The vertex definition is not compatible with the input of the vertex shader.

MaxVertexInputBindingStrideExceeded

Fields

binding: usize

Index of the faulty binding.

max: usize

Maximum allowed value.

obtained: usize

Value that was passed.

The maximum stride value for vertex input (ie. the distance between two vertex elements) has been exceeded.

MaxVertexInputBindingsExceeded

Fields

max: usize

Maximum allowed value.

obtained: usize

Value that was passed.

The maximum number of vertex sources has been exceeded.

MaxVertexInputAttributeOffsetExceeded

Fields

max: usize

Maximum allowed value.

obtained: usize

Value that was passed.

The maximum offset for a vertex attribute has been exceeded. This means that your vertex struct is too large.

MaxVertexInputAttributesExceeded

Fields

max: usize

Maximum allowed value.

obtained: usize

Value that was passed.

The maximum number of vertex attributes has been exceeded.

PrimitiveDoesntSupportPrimitiveRestart

Fields

primitive: PrimitiveTopology

The topology that doesn’t support primitive restart.

The user requested to use primitive restart, but the primitive topology doesn’t support it.

MultiViewportFeatureNotEnabled

The multi_viewport feature must be enabled in order to use multiple viewports at once.

MaxViewportsExceeded

Fields

max: u32

Maximum allowed value.

obtained: u32

Value that was passed.

The maximum number of viewports has been exceeded.

MaxViewportDimensionsExceeded

The maximum dimensions of viewports has been exceeded.

ViewportBoundsExceeded

The minimum or maximum bounds of viewports have been exceeded.

WideLinesFeatureNotEnabled

The wide_lines feature must be enabled in order to use a line width greater than 1.0.

DepthClampFeatureNotEnabled

The depth_clamp feature must be enabled in order to use depth clamping.

DepthBiasClampFeatureNotEnabled

The depth_bias_clamp feature must be enabled in order to use a depth bias clamp different from 0.0.

FillModeNonSolidFeatureNotEnabled

The fill_mode_non_solid feature must be enabled in order to use a polygon mode different from Fill.

DepthBoundsFeatureNotEnabled

The depth_bounds feature must be enabled in order to use depth bounds testing.

WrongStencilState

The requested stencil test is invalid.

TopologyNotMatchingGeometryShader

The primitives topology does not match what the geometry shader expects.

GeometryShaderFeatureNotEnabled

The geometry_shader feature must be enabled in order to use geometry shaders.

TessellationShaderFeatureNotEnabled

The tessellation_shader feature must be enabled in order to use tessellation shaders.

MismatchBlendingAttachmentsCount

The number of attachments specified in the blending does not match the number of attachments in the subpass.

IndependentBlendFeatureNotEnabled

The independent_blend feature must be enabled in order to use different blending operations per attachment.

LogicOpFeatureNotEnabled

The logic_op feature must be enabled in order to use logic operations.

NoDepthAttachment

The depth test requires a depth attachment but render pass has no depth attachment, or depth writing is enabled and the depth attachment is read-only.

NoStencilAttachment

The stencil test requires a stencil attachment but render pass has no stencil attachment, or stencil writing is enabled and the stencil attachment is read-only.

InvalidPrimitiveTopology

Tried to use a patch list without a tessellation shader, or a non-patch-list with a tessellation shader.

MaxTessellationPatchSizeExceeded

The maxTessellationPatchSize limit was exceeded.

WrongShaderType

The wrong type of shader has been passed.

For example you passed a vertex shader as the fragment shader.

SampleRateShadingFeatureNotEnabled

The sample_rate_shading feature must be enabled in order to use sample shading.

AlphaToOneFeatureNotEnabled

The alpha_to_one feature must be enabled in order to use alpha-to-one.

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
👎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
The lower-level source of this error, if any. Read more
🔬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.
Converts to this type from the input type.
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

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
Builds a pointer to this type from a raw pointer.
Returns true if the size is suitable to store a type like this.
Returns the size of an individual element.

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.