pub struct StructuredBuffer { /* private fields */ }Expand description
A buffer that tracks its internal field layout for shader interop.
Implementations§
Source§impl StructuredBuffer
impl StructuredBuffer
Sourcepub fn create(
gl: &Context,
stride: usize,
capacity: usize,
fields: Vec<FieldDescriptor>,
binding_index: u32,
tracker: Arc<MemoryTracker>,
) -> Self
pub fn create( gl: &Context, stride: usize, capacity: usize, fields: Vec<FieldDescriptor>, binding_index: u32, tracker: Arc<MemoryTracker>, ) -> Self
Create a new structured buffer.
Sourcepub fn upload_raw(&self, gl: &Context, data: &[u8])
pub fn upload_raw(&self, gl: &Context, data: &[u8])
Upload raw bytes into the structured buffer.
Sourcepub fn fields(&self) -> &[FieldDescriptor]
pub fn fields(&self) -> &[FieldDescriptor]
Get field descriptors.
Sourcepub fn element_count(&self) -> usize
pub fn element_count(&self) -> usize
Element count (capacity).
Sourcepub fn handle(&self) -> BufferHandle
pub fn handle(&self) -> BufferHandle
Handle.
Auto Trait Implementations§
impl Freeze for StructuredBuffer
impl RefUnwindSafe for StructuredBuffer
impl Send for StructuredBuffer
impl Sync for StructuredBuffer
impl Unpin for StructuredBuffer
impl UnsafeUnpin for StructuredBuffer
impl UnwindSafe for StructuredBuffer
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.