pub(crate) struct DrawResources {
device: Arc<Device>,
dst_entries: Vec<BufferPoolEntry>,
metadata_entries: Vec<BufferPoolEntry>,
}Expand description
Holds all command buffer-level resources that are needed to validate indirect draws.
Fields§
§device: Arc<Device>§dst_entries: Vec<BufferPoolEntry>§metadata_entries: Vec<BufferPoolEntry>Implementations§
Source§impl DrawResources
impl DrawResources
pub(crate) fn new(device: Arc<Device>) -> Self
pub(crate) fn get_dst_buffer(&self, index: usize) -> &dyn DynBuffer
fn get_dst_bind_group(&self, index: usize) -> &dyn DynBindGroup
fn get_metadata_buffer(&self, index: usize) -> &dyn DynBuffer
fn get_metadata_bind_group(&self, index: usize) -> &dyn DynBindGroup
fn get_dst_subrange( &mut self, size: u64, current_entry: &mut Option<CurrentEntry>, ) -> Result<(usize, u64), DeviceError>
fn get_metadata_subrange( &mut self, size: u64, current_entry: &mut Option<CurrentEntry>, ) -> Result<(usize, u64), DeviceError>
fn get_subrange_impl( ensure_entry: impl FnOnce(usize) -> Result<(), DeviceError>, current_entry: &mut Option<CurrentEntry>, size: u64, ) -> Result<CurrentEntry, DeviceError>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DrawResources
impl !RefUnwindSafe for DrawResources
impl Send for DrawResources
impl Sync for DrawResources
impl Unpin for DrawResources
impl !UnwindSafe for DrawResources
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more