pub enum GraphicsPipelineCreationError {
Show 39 variants
RequirementNotMet {
required_for: &'static str,
requires_one_of: RequiresOneOf,
},
ColorAttachmentFormatBlendNotSupported {
attachment_index: u32,
},
ColorAttachmentFormatUsageNotSupported {
attachment_index: u32,
},
DepthAttachmentFormatUsageNotSupported,
DepthStencilAttachmentFormatMismatch,
FragmentShaderRenderPassIncompatible,
IncompatiblePipelineLayout(PipelineLayoutSupersetError),
IncompatibleSpecializationConstants,
IncompatibleVertexDefinition(IncompatibleVertexDefinitionError),
InvalidPrimitiveTopology,
InvalidNumPatchControlPoints,
MaxDiscardRectanglesExceeded {
max: u32,
obtained: u32,
},
MaxMultiviewViewCountExceeded {
view_count: u32,
max: u32,
},
MaxVertexAttribDivisorExceeded {
binding: u32,
max: u32,
obtained: u32,
},
MaxVertexInputAttributesExceeded {
max: u32,
obtained: usize,
},
MaxVertexInputAttributeOffsetExceeded {
max: u32,
obtained: u32,
},
MaxVertexInputBindingsExceeded {
max: u32,
obtained: u32,
},
MaxVertexInputBindingStrideExceeded {
binding: u32,
max: u32,
obtained: u32,
},
MaxViewportsExceeded {
max: u32,
obtained: u32,
},
MinVertexInputBindingStrideAlignmentExceeded {
binding: u32,
max: u32,
obtained: u32,
},
MaxViewportDimensionsExceeded,
MismatchBlendingAttachmentsCount,
MultisampleRasterizationSamplesMismatch,
NoDepthAttachment,
NoStencilAttachment,
OomError(OomError),
DescriptorSetLayoutCreationError(DescriptorSetLayoutCreationError),
PipelineLayoutCreationError(PipelineLayoutCreationError),
ShaderStagesMismatch(ShaderInterfaceMismatchError),
StencilAttachmentFormatUsageNotSupported,
StrictLinesNotSupported,
TopologyNotMatchingGeometryShader,
VertexInputAttributeIncompatibleFormat {
location: u32,
shader_type: NumericType,
attribute_type: NumericType,
},
VertexInputAttributeInvalidBinding {
location: u32,
binding: u32,
},
VertexInputAttributeMissing {
location: u32,
},
VertexInputAttributeUnsupportedFormat {
location: u32,
format: Format,
},
ViewportBoundsExceeded,
WrongShaderType,
WrongStencilState,
}
Expand description
Error that can happen when creating a graphics pipeline.
Variants
RequirementNotMet
ColorAttachmentFormatBlendNotSupported
Fields
attachment_index: u32
A color attachment has a format that does not support blending.
ColorAttachmentFormatUsageNotSupported
Fields
attachment_index: u32
A color attachment has a format that does not support that usage.
DepthAttachmentFormatUsageNotSupported
The depth attachment has a format that does not support that usage.
DepthStencilAttachmentFormatMismatch
The depth and stencil attachments have different formats.
FragmentShaderRenderPassIncompatible
The output of the fragment shader is not compatible with what the render pass subpass expects.
IncompatiblePipelineLayout(PipelineLayoutSupersetError)
The pipeline layout is not compatible with what the shaders expect.
IncompatibleSpecializationConstants
The provided specialization constants are not compatible with what the shader expects.
IncompatibleVertexDefinition(IncompatibleVertexDefinitionError)
The vertex definition is not compatible with the input of the vertex shader.
InvalidPrimitiveTopology
Tried to use a patch list without a tessellation shader, or a non-patch-list with a tessellation shader.
InvalidNumPatchControlPoints
patch_control_points
was not greater than 0 and less than or equal to the max_tessellation_patch_size
limit.
MaxDiscardRectanglesExceeded
The maximum number of discard rectangles has been exceeded.
MaxMultiviewViewCountExceeded
The max_multiview_view_count
limit has been exceeded.
MaxVertexAttribDivisorExceeded
Fields
binding: u32
Index of the faulty binding.
max: u32
Maximum allowed value.
obtained: u32
Value that was passed.
The maximum value for the instance rate divisor has been exceeded.
MaxVertexInputAttributesExceeded
The maximum number of vertex attributes has been exceeded.
MaxVertexInputAttributeOffsetExceeded
The maximum offset for a vertex attribute has been exceeded. This means that your vertex struct is too large.
MaxVertexInputBindingsExceeded
The maximum number of vertex sources has been exceeded.
MaxVertexInputBindingStrideExceeded
Fields
binding: u32
Index of the faulty binding.
max: u32
Maximum allowed value.
obtained: u32
Value that was passed.
The maximum stride value for vertex input (ie. the distance between two vertex elements) has been exceeded.
MaxViewportsExceeded
The maximum number of viewports has been exceeded.
MinVertexInputBindingStrideAlignmentExceeded
Fields
binding: u32
Index of the faulty binding.
max: u32
Maximum allowed value.
obtained: u32
Value that was passed.
The min_vertex_input_binding_stride_alignment
limit was exceeded.
MaxViewportDimensionsExceeded
The maximum dimensions of viewports has been exceeded.
MismatchBlendingAttachmentsCount
The number of attachments specified in the blending does not match the number of attachments in the subpass.
MultisampleRasterizationSamplesMismatch
The provided rasterization_samples
does not match the number of samples of the render
subpass.
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.
OomError(OomError)
Not enough memory.
DescriptorSetLayoutCreationError(DescriptorSetLayoutCreationError)
Error while creating a descriptor set layout object.
PipelineLayoutCreationError(PipelineLayoutCreationError)
Error while creating the pipeline layout object.
ShaderStagesMismatch(ShaderInterfaceMismatchError)
The output interface of one shader and the input interface of the next shader do not match.
StencilAttachmentFormatUsageNotSupported
The stencil attachment has a format that does not support that usage.
StrictLinesNotSupported
The strict_lines
device property was false
.
TopologyNotMatchingGeometryShader
The primitives topology does not match what the geometry shader expects.
VertexInputAttributeIncompatibleFormat
The type of the shader input variable at the given location is not compatible with the format of the corresponding vertex input attribute.
VertexInputAttributeInvalidBinding
The binding number specified by a vertex input attribute does not exist in the provided list of binding descriptions.
VertexInputAttributeMissing
Fields
location: u32
The vertex shader expects an input variable at the given location, but no vertex input attribute exists for that location.
VertexInputAttributeUnsupportedFormat
The format specified by a vertex input attribute is not supported for vertex buffers.
ViewportBoundsExceeded
The minimum or maximum bounds of viewports have been exceeded.
WrongShaderType
The wrong type of shader has been passed.
For example you passed a vertex shader as the fragment shader.
WrongStencilState
The requested stencil test is invalid.
Trait Implementations
sourceimpl Clone for GraphicsPipelineCreationError
impl Clone for GraphicsPipelineCreationError
sourcefn clone(&self) -> GraphicsPipelineCreationError
fn clone(&self) -> GraphicsPipelineCreationError
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more