pub enum DrawError {
Show 26 variants
NoDepthBuffer,
AttributeTypeMismatch,
AttributeMissing,
ViewportTooLarge,
InvalidDepthRange,
UniformTypeMismatch {
name: String,
expected: UniformType,
},
UniformBufferToValue {
name: String,
},
UniformValueToBlock {
name: String,
},
UniformBlockLayoutMismatch {
name: String,
err: LayoutMismatchError,
},
SubroutineUniformToValue {
name: String,
},
SubroutineUniformMissing {
stage: ShaderStage,
expected_count: usize,
real_count: usize,
},
SubroutineNotFound {
stage: ShaderStage,
name: String,
},
UnsupportedVerticesPerPatch,
TessellationNotSupported,
TessellationWithoutPatches,
SamplersNotSupported,
InstancesCountMismatch,
VerticesSourcesLengthMismatch,
TransformFeedbackNotSupported,
WrongQueryOperation,
SmoothingNotSupported,
ProvokingVertexNotSupported,
RasterizerDiscardNotSupported,
DepthClampNotSupported,
BlendingParameterNotSupported,
FixedIndexRestartingNotSupported,
}
Expand description
Error that can happen while drawing.
Variants§
NoDepthBuffer
A depth function has been requested but no depth buffer is available.
AttributeTypeMismatch
The type of a vertex attribute in the vertices source doesn’t match what the program requires.
AttributeMissing
One of the attributes required by the program is missing from the vertex format.
Note that it is perfectly valid to have an attribute in the vertex format that is not used by the program.
ViewportTooLarge
The viewport’s dimensions are not supported by the backend.
InvalidDepthRange
The depth range is outside of the (0, 1)
range.
UniformTypeMismatch
Fields
expected: UniformType
The expected type.
The type of a uniform doesn’t match what the program requires.
UniformBufferToValue
Tried to bind a uniform buffer to a single uniform value.
UniformValueToBlock
Tried to bind a single uniform value to a uniform block.
UniformBlockLayoutMismatch
Fields
err: LayoutMismatchError
The error giving more details about the mismatch.
The layout of the content of the uniform buffer does not match the layout of the block.
SubroutineUniformToValue
Tried to bind a subroutine uniform like a regular uniform value.
SubroutineUniformMissing
Fields
stage: ShaderStage
Shader stage with missing bindings.
Not all subroutine uniforms of a shader stage were set.
SubroutineNotFound
Fields
stage: ShaderStage
The stage the subroutine was searched for.
A non-existent subroutine was referenced.
UnsupportedVerticesPerPatch
The number of vertices per patch that has been requested is not supported.
TessellationNotSupported
Trying to use tessellation, but this is not supported by the underlying hardware.
TessellationWithoutPatches
Using a program which contains tessellation shaders, but without submitting patches.
SamplersNotSupported
Trying to use a sampler, but they are not supported by the backend.
InstancesCountMismatch
When you use instancing, all vertices sources must have the same size.
VerticesSourcesLengthMismatch
If you don’t use indices, then all vertices sources must have the same size.
TransformFeedbackNotSupported
You requested not to draw primitives, but this is not supported by the backend.
WrongQueryOperation
See the documentation of the draw_parameters
module for infos.
SmoothingNotSupported
You requested smoothing, but this is not supported by the backend.
ProvokingVertexNotSupported
The requested provoking vertex is not supported by the backend.
RasterizerDiscardNotSupported
Discarding rasterizer output isn’t supported by the backend.
DepthClampNotSupported
Depth clamping isn’t supported by the backend.
BlendingParameterNotSupported
One of the blending parameters is not supported by the backend.
FixedIndexRestartingNotSupported
Restarting indices (multiple objects per draw call) is not supported by the backend.