Struct vulkano::buffer::immutable::ImmutableBuffer
[−]
[src]
pub struct ImmutableBuffer<T: ?Sized, A = Arc<StdMemoryPool>> where
A: MemoryPool, { /* fields omitted */ }
Buffer that is written once then read for as long as it is alive.
Methods
impl<T> ImmutableBuffer<T>
[src]
fn new<'a, I>(
device: &Arc<Device>,
usage: &Usage,
queue_families: I
) -> Result<Arc<ImmutableBuffer<T>>, OomError> where
I: IntoIterator<Item = QueueFamily<'a>>,
device: &Arc<Device>,
usage: &Usage,
queue_families: I
) -> Result<Arc<ImmutableBuffer<T>>, OomError> where
I: IntoIterator<Item = QueueFamily<'a>>,
Builds a new buffer. Only allowed for sized data.
impl<T> ImmutableBuffer<[T]>
[src]
fn array<'a, I>(
device: &Arc<Device>,
len: usize,
usage: &Usage,
queue_families: I
) -> Result<Arc<ImmutableBuffer<[T]>>, OomError> where
I: IntoIterator<Item = QueueFamily<'a>>,
device: &Arc<Device>,
len: usize,
usage: &Usage,
queue_families: I
) -> Result<Arc<ImmutableBuffer<[T]>>, OomError> where
I: IntoIterator<Item = QueueFamily<'a>>,
Builds a new buffer. Can be used for arrays.
impl<T: ?Sized> ImmutableBuffer<T>
[src]
unsafe fn raw<'a, I>(
device: &Arc<Device>,
size: usize,
usage: &Usage,
queue_families: I
) -> Result<Arc<ImmutableBuffer<T>>, OomError> where
I: IntoIterator<Item = QueueFamily<'a>>,
device: &Arc<Device>,
size: usize,
usage: &Usage,
queue_families: I
) -> Result<Arc<ImmutableBuffer<T>>, OomError> where
I: IntoIterator<Item = QueueFamily<'a>>,
Builds a new buffer without checking the size.
Safety
You must ensure that the size that you pass is correct for T
.
impl<T: ?Sized, A> ImmutableBuffer<T, A> where
A: MemoryPool,
[src]
A: MemoryPool,
fn device(&self) -> &Arc<Device>
Returns the device used to create this buffer.
fn queue_families(&self) -> Vec<QueueFamily>
Returns the queue families this buffer can be used on.
Trait Implementations
impl<T: ?Sized, A> Buffer for ImmutableBuffer<T, A> where
T: 'static + Send + Sync,
A: MemoryPool,
[src]
T: 'static + Send + Sync,
A: MemoryPool,
fn inner(&self) -> &UnsafeBuffer
Returns the inner buffer.
fn blocks(&self, _: Range<usize>) -> Vec<usize>
Given a range, returns the list of blocks which each range is contained in. Read more
fn block_memory_range(&self, _: usize) -> Range<usize>
Returns the range of bytes of the buffer slice used by a block.
fn needs_fence(&self, _: bool, _: Range<usize>) -> Option<bool>
Returns whether accessing a range of this buffer should signal a fence.
fn host_accesses(&self, _: usize) -> bool
Called when a command buffer that uses this buffer is being built. Read more
unsafe fn gpu_access(
&self,
ranges: &mut Iterator<Item = AccessRange>,
submission: &Arc<Submission>
) -> GpuAccessResult
&self,
ranges: &mut Iterator<Item = AccessRange>,
submission: &Arc<Submission>
) -> GpuAccessResult
fn size(&self) -> usize
impl<T: ?Sized, A> TypedBuffer for ImmutableBuffer<T, A> where
T: 'static + Send + Sync,
A: MemoryPool,
[src]
T: 'static + Send + Sync,
A: MemoryPool,