pub enum GraphicsPipelineCreationError {
Show 32 variants
ExtensionNotEnabled {
extension: &'static str,
reason: &'static str,
},
FeatureNotEnabled {
feature: &'static str,
reason: &'static str,
},
FragmentShaderRenderPassIncompatible,
IncompatiblePipelineLayout(PipelineLayoutSupersetError),
IncompatibleSpecializationConstants,
IncompatibleVertexDefinition(IncompatibleVertexDefinitionError),
InvalidPrimitiveTopology,
InvalidNumPatchControlPoints,
MaxDiscardRectanglesExceeded {
max: u32,
obtained: 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,
},
MaxViewportDimensionsExceeded,
MismatchBlendingAttachmentsCount,
NoDepthAttachment,
NoStencilAttachment,
OomError(OomError),
DescriptorSetLayoutCreationError(DescriptorSetLayoutCreationError),
PipelineLayoutCreationError(PipelineLayoutCreationError),
ShaderStagesMismatch(ShaderInterfaceMismatchError),
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
ExtensionNotEnabled
A device extension that was required for a particular setting on the graphics pipeline was not enabled.
FeatureNotEnabled
A device feature that was required for a particular setting on the graphics pipeline was not enabled.
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.
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.
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.
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.
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
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for GraphicsPipelineCreationError
impl Debug for GraphicsPipelineCreationError
sourceimpl Error for GraphicsPipelineCreationError
impl Error for GraphicsPipelineCreationError
sourcefn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
sourcefn backtrace(&self) -> Option<&Backtrace>
fn backtrace(&self) -> Option<&Backtrace>
backtrace
)Returns a stack backtrace, if available, of where this error occurred. Read more
1.0.0 · sourcefn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
sourceimpl From<DescriptorSetLayoutCreationError> for GraphicsPipelineCreationError
impl From<DescriptorSetLayoutCreationError> for GraphicsPipelineCreationError
sourcefn from(err: DescriptorSetLayoutCreationError) -> Self
fn from(err: DescriptorSetLayoutCreationError) -> Self
Performs the conversion.
sourceimpl From<IncompatibleVertexDefinitionError> for GraphicsPipelineCreationError
impl From<IncompatibleVertexDefinitionError> for GraphicsPipelineCreationError
sourcefn from(err: IncompatibleVertexDefinitionError) -> Self
fn from(err: IncompatibleVertexDefinitionError) -> Self
Performs the conversion.
sourceimpl From<OomError> for GraphicsPipelineCreationError
impl From<OomError> for GraphicsPipelineCreationError
sourcefn from(err: OomError) -> GraphicsPipelineCreationError
fn from(err: OomError) -> GraphicsPipelineCreationError
Performs the conversion.
sourceimpl From<PipelineLayoutCreationError> for GraphicsPipelineCreationError
impl From<PipelineLayoutCreationError> for GraphicsPipelineCreationError
sourcefn from(err: PipelineLayoutCreationError) -> Self
fn from(err: PipelineLayoutCreationError) -> Self
Performs the conversion.
sourceimpl From<PipelineLayoutSupersetError> for GraphicsPipelineCreationError
impl From<PipelineLayoutSupersetError> for GraphicsPipelineCreationError
sourcefn from(err: PipelineLayoutSupersetError) -> Self
fn from(err: PipelineLayoutSupersetError) -> Self
Performs the conversion.
sourceimpl PartialEq<GraphicsPipelineCreationError> for GraphicsPipelineCreationError
impl PartialEq<GraphicsPipelineCreationError> for GraphicsPipelineCreationError
sourcefn eq(&self, other: &GraphicsPipelineCreationError) -> bool
fn eq(&self, other: &GraphicsPipelineCreationError) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &GraphicsPipelineCreationError) -> bool
fn ne(&self, other: &GraphicsPipelineCreationError) -> bool
This method tests for !=
.
impl Eq for GraphicsPipelineCreationError
impl StructuralEq for GraphicsPipelineCreationError
impl StructuralPartialEq for GraphicsPipelineCreationError
Auto Trait Implementations
impl RefUnwindSafe for GraphicsPipelineCreationError
impl Send for GraphicsPipelineCreationError
impl Sync for GraphicsPipelineCreationError
impl Unpin for GraphicsPipelineCreationError
impl UnwindSafe for GraphicsPipelineCreationError
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more