pub(super) struct Binder {
pub(super) pipeline_layout: Option<Arc<PipelineLayout>>,
manager: BoundBindGroupLayouts,
payloads: [EntryPayload; 8],
}Fields§
§pipeline_layout: Option<Arc<PipelineLayout>>§manager: BoundBindGroupLayouts§payloads: [EntryPayload; 8]Implementations§
Source§impl Binder
impl Binder
pub(super) fn new() -> Self
pub(super) fn reset(&mut self)
pub(super) fn change_pipeline_layout<'a>( &'a mut self, new: &Arc<PipelineLayout>, late_sized_buffer_groups: &[LateSizedBufferGroup], )
pub(super) fn assign_group<'a>( &'a mut self, index: usize, bind_group: &Arc<BindGroup>, offsets: &[DynamicOffset], )
Sourcepub(super) fn take_rebind_range(&mut self) -> Range<usize>
pub(super) fn take_rebind_range(&mut self) -> Range<usize>
Get the range of entries that needs to be rebound, and clears it.
pub(super) fn entries( &self, range: Range<usize>, ) -> impl ExactSizeIterator<Item = (usize, &EntryPayload)> + '_
pub(super) fn list_active<'a>( &'a self, ) -> impl Iterator<Item = &'a Arc<BindGroup>> + 'a
pub(super) fn list_valid<'a>( &'a self, ) -> impl Iterator<Item = (usize, &'a EntryPayload)> + 'a
pub(super) fn check_compatibility<T: Labeled>( &self, pipeline: &T, ) -> Result<(), Box<BinderError>>
Sourcepub(super) fn check_late_buffer_bindings(
&self,
) -> Result<(), LateMinBufferBindingSizeMismatch>
pub(super) fn check_late_buffer_bindings( &self, ) -> Result<(), LateMinBufferBindingSizeMismatch>
Scan active buffer bindings corresponding to layouts without min_binding_size specified.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Binder
impl !RefUnwindSafe for Binder
impl Send for Binder
impl Sync for Binder
impl Unpin for Binder
impl !UnwindSafe for Binder
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