Enum rafx_api::RafxBuffer[][src]

pub enum RafxBuffer {
    Empty(RafxBufferEmpty),
}
Expand description

Memory that can be accessed by the rendering API. It may reside in CPU or GPU memory.

Buffers must not be dropped if they are in use by the GPU.

Variants

Empty(RafxBufferEmpty)

Implementations

impl RafxBuffer[src]

pub fn copy_to_host_visible_buffer<T: Copy>(&self, data: &[T]) -> RafxResult<()>[src]

Copy all the data in the given slice into the buffer. This function will fail if the buffer is not writable by the CPU. This function will assert/panic if the buffer is too small to hold the data.

pub fn copy_to_host_visible_buffer_with_offset<T: Copy>(
    &self,
    data: &[T],
    buffer_byte_offset: u64
) -> RafxResult<()>
[src]

Copy all the data in the given slice into the buffer with a given offset. The offset is in bytes. This function will assert/panic if the size of the buffer <= size of data + offset

pub fn buffer_def(&self) -> &RafxBufferDef[src]

Return the definition used to create the buffer

pub fn map_buffer(&self) -> RafxResult<*mut u8>[src]

Map the contents of the buffer into CPU memory. This function will fail if the buffer is not possible to map into CPU memory (i.e. it’s GPU-only).

The mappings are “ref-counted”. Repeated calls to map the same buffer are permitted and the buffer will remain mapped until an equal number of calls to unmap_buffer are made.

Generally speaking, keeping a buffer mapped for its entire lifetime is acceptable.

pub fn unmap_buffer(&self) -> RafxResult<()>[src]

Unmap the contents of the buffer from CPU memory. This function will fail if the buffer is not possible to map into CPU memory (i.e. it’s GPU-only). It will also fail if the buffer is not currently mapped.

The mappings are “ref-counted”. Repeated calls to map the same buffer are permitted and the buffer will remain mapped until an equal number of calls to unmap_buffer are made.

pub fn mapped_memory(&self) -> Option<*mut u8>[src]

Obtain a pointer to the mapped memory. If the buffer is not mapped, None is returned.

pub fn empty_buffer(&self) -> Option<&RafxBufferEmpty>[src]

Get the underlying metal API object. This provides access to any internally created metal objects.

Trait Implementations

impl Debug for RafxBuffer[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> Downcast for T where
    T: Any

pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>

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. Read more

pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more

pub 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. Read more

pub 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. Read more

impl<T> DowncastSync for T where
    T: Any + Send + Sync

pub fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + 'static + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<T> Resource for T where
    T: Downcast + Send + Sync
[src]