pub(crate) struct BindingTypeMaxCountValidator {
dynamic_uniform_buffers: u32,
dynamic_storage_buffers: u32,
sampled_textures: PerStageBindingTypeCounter,
samplers: PerStageBindingTypeCounter,
storage_buffers: PerStageBindingTypeCounter,
storage_textures: PerStageBindingTypeCounter,
uniform_buffers: PerStageBindingTypeCounter,
acceleration_structures: PerStageBindingTypeCounter,
binding_array_elements: PerStageBindingTypeCounter,
binding_array_sampler_elements: PerStageBindingTypeCounter,
binding_array_acceleration_structure_elements: PerStageBindingTypeCounter,
has_bindless_array: bool,
}Fields§
§dynamic_uniform_buffers: u32§dynamic_storage_buffers: u32§sampled_textures: PerStageBindingTypeCounter§samplers: PerStageBindingTypeCounter§storage_buffers: PerStageBindingTypeCounter§storage_textures: PerStageBindingTypeCounter§uniform_buffers: PerStageBindingTypeCounter§acceleration_structures: PerStageBindingTypeCounter§binding_array_elements: PerStageBindingTypeCounter§binding_array_sampler_elements: PerStageBindingTypeCounter§binding_array_acceleration_structure_elements: PerStageBindingTypeCounter§has_bindless_array: boolImplementations§
Source§impl BindingTypeMaxCountValidator
impl BindingTypeMaxCountValidator
pub(crate) fn add_binding(&mut self, binding: &BindGroupLayoutEntry)
pub(crate) fn merge(&mut self, other: &Self)
pub(crate) fn validate( &self, limits: &Limits, instance_flags: InstanceFlags, ) -> Result<(), BindingTypeMaxCountError>
fn buffers_and_acceleration_structures(&self) -> PerStageBindingTypeCounter
pub(crate) fn buffers_and_acceleration_structures_in_vertex_stage(&self) -> u32
Sourcepub(crate) fn validate_binding_arrays(
&self,
) -> Result<(), CreateBindGroupLayoutError>
pub(crate) fn validate_binding_arrays( &self, ) -> Result<(), CreateBindGroupLayoutError>
Validate that the bind group layout does not contain both a binding array and a dynamic offset array.
This allows us to use UPDATE_AFTER_BIND on vulkan for bindless arrays. Vulkan does not allow
UPDATE_AFTER_BIND on dynamic offset arrays. See https://github.com/gfx-rs/wgpu/issues/6737
Trait Implementations§
Source§impl Debug for BindingTypeMaxCountValidator
impl Debug for BindingTypeMaxCountValidator
Source§impl Default for BindingTypeMaxCountValidator
impl Default for BindingTypeMaxCountValidator
Source§fn default() -> BindingTypeMaxCountValidator
fn default() -> BindingTypeMaxCountValidator
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for BindingTypeMaxCountValidator
impl RefUnwindSafe for BindingTypeMaxCountValidator
impl Send for BindingTypeMaxCountValidator
impl Sync for BindingTypeMaxCountValidator
impl Unpin for BindingTypeMaxCountValidator
impl UnsafeUnpin for BindingTypeMaxCountValidator
impl UnwindSafe for BindingTypeMaxCountValidator
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more