bevyengine/bevy · error
Sampler bindless resource type must have a binding number
Error message
Sampler bindless resource type must have a binding number
What it means
Internal invariant expect while building sampler binding arrays for bindless materials: a sampler BindlessResourceType has no binding number in the bindless descriptor, so the binding cannot be placed in the layout.
Source
Thrown at crates/bevy_render/src/material_bind_groups.rs:1865
}
}
None => {
// Fill with a single fallback sampler.
sampler_bindings.push(&**fallback_sampler);
}
}
if let Some(required_binding_array_size) = required_binding_array_size {
sampler_bindings.extend(iter::repeat_n(
&**fallback_sampler,
required_binding_array_size as usize - sampler_bindings.len(),
));
}
let binding_number = bindless_resource_type
.binding_number()
.expect("Sampler bindless resource type must have a binding number");
binding_resource_arrays.push((
&**binding_number,
BindingResourceArray::Samplers(sampler_bindings),
));
}
}
/// Accumulates texture binding arrays into binding resource arrays suitable
/// for passing to `wgpu`.
fn create_texture_binding_resource_arrays<'a, 'b>(
&'a self,
binding_resource_arrays: &'b mut Vec<(&'a u32, BindingResourceArray<'a>)>,
fallback_image: &'a FallbackImage,
bindless_descriptor: &'a BindlessDescriptor,
required_binding_array_size: Option<u32>,
) {
for (bindless_resource_type, fallback_image) in [View on GitHub (pinned to 396ca72708)
Solutions
- Report as a Bevy engine bug with a reproducing material/shader
- Check that the material's bindless descriptor is generated consistently for samplers
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at crates/bevy_render/src/material_bind_groups.rs:1865 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of bevyengine/bevy@396ca72708 (2026-08-20).
Data as JSON: /api/errors/0e7709254c982bfb.
Report an issue: GitHub.