[−][src]Enum rafx_api::RafxBuffer
A buffer is a piece of memory that can be accessed by the GPU. It may reside in CPU or GPU memory depending on how it is created.
Buffers must not be dropped if they are in use by the GPU.
Variants
Vk(RafxBufferVulkan)
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]
&self,
data: &[T],
buffer_byte_offset: u64
) -> RafxResult<()>
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 vk_buffer(&self) -> Option<&RafxBufferVulkan>
[src]
Get the underlying vulkan API object. This provides access to any internally created vulkan objects.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for RafxBuffer
[src]
impl Send for RafxBuffer
[src]
impl Sync for RafxBuffer
[src]
impl Unpin for RafxBuffer
[src]
impl UnwindSafe for RafxBuffer
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Downcast for T where
T: Any,
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn as_any(&self) -> &(dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
impl<T> DowncastSync for T where
T: Send + Sync + Any,
T: Send + Sync + Any,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Resource for T where
T: Downcast + Send + Sync,
[src]
T: Downcast + Send + Sync,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
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]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,