Struct vulkano::buffer::device_local::DeviceLocalBuffer [] [src]

pub struct DeviceLocalBuffer<T: ?Sized, A = StdMemoryPool> where A: MemoryPool {
    // some fields omitted
}

Buffer whose content is accessible by the CPU.

Methods

impl<T> DeviceLocalBuffer<T>
[src]

fn new<'a, I>(device: &Arc<Device>, usage: &Usage, queue_families: I) -> Result<Arc<DeviceLocalBuffer<T>>, OomError> where I: IntoIterator<Item=QueueFamily<'a>>

Builds a new buffer. Only allowed for sized data.

impl<T> DeviceLocalBuffer<[T]>
[src]

fn array<'a, I>(device: &Arc<Device>, len: usize, usage: &Usage, queue_families: I) -> Result<Arc<DeviceLocalBuffer<[T]>>, OomError> where I: IntoIterator<Item=QueueFamily<'a>>

Builds a new buffer. Can be used for arrays.

impl<T: ?Sized> DeviceLocalBuffer<T>
[src]

unsafe fn raw<'a, I>(device: &Arc<Device>, size: usize, usage: &Usage, queue_families: I) -> Result<Arc<DeviceLocalBuffer<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> DeviceLocalBuffer<T, A> where A: MemoryPool
[src]

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: Debug + ?Sized, A: Debug> Debug for DeviceLocalBuffer<T, A> where A: MemoryPool, A::Alloc: Debug
[src]

fn fmt(&self, __arg_0: &mut Formatter) -> Result

Formats the value using the given formatter.

impl<T: ?Sized, A> Buffer for DeviceLocalBuffer<T, A> where T: 'static + Send + Sync, A: MemoryPool
[src]

fn inner_buffer(&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 memory used by a block. Read more

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

fn size(&self) -> usize

impl<T: ?Sized, A> TypedBuffer for DeviceLocalBuffer<T, A> where T: 'static + Send + Sync, A: MemoryPool
[src]

type Content = T

fn len(&self) -> usize where Self::Content: Content