Struct vulkano::memory::DeviceMemory [−][src]
pub struct DeviceMemory { /* fields omitted */ }
Expand description
Represents memory that has been allocated.
The destructor of DeviceMemory
automatically frees the memory.
Example
use vulkano::memory::DeviceMemory;
let mem_ty = device.physical_device().memory_types().next().unwrap();
// Allocates 1KB of memory.
let memory = DeviceMemory::alloc(device.clone(), mem_ty, 1024).unwrap();
Implementations
pub fn alloc(
device: Arc<Device>,
memory_type: MemoryType<'_>,
size: DeviceSize
) -> Result<DeviceMemory, DeviceMemoryAllocError>
pub fn alloc(
device: Arc<Device>,
memory_type: MemoryType<'_>,
size: DeviceSize
) -> Result<DeviceMemory, DeviceMemoryAllocError>
Allocates a chunk of memory from the device.
Some platforms may have a limit on the maximum size of a single allocation. For example, certain systems may fail to create allocations with a size greater than or equal to 4GB.
Panic
- Panics if
size
is 0. - Panics if
memory_type
doesn’t belong to the same physical device asdevice
.
pub fn dedicated_alloc(
device: Arc<Device>,
memory_type: MemoryType<'_>,
size: DeviceSize,
resource: DedicatedAlloc<'_>
) -> Result<DeviceMemory, DeviceMemoryAllocError>
pub fn dedicated_alloc(
device: Arc<Device>,
memory_type: MemoryType<'_>,
size: DeviceSize,
resource: DedicatedAlloc<'_>
) -> Result<DeviceMemory, DeviceMemoryAllocError>
Same as alloc
, but allows specifying a resource that will be bound to the memory.
If a buffer or an image is specified in resource
, then the returned memory must not be
bound to a different buffer or image.
If the VK_KHR_dedicated_allocation
extension is enabled on the device, then it will be
used by this method. Otherwise the resource
parameter will be ignored.
pub fn alloc_and_map(
device: Arc<Device>,
memory_type: MemoryType<'_>,
size: DeviceSize
) -> Result<MappedDeviceMemory, DeviceMemoryAllocError>
pub fn alloc_and_map(
device: Arc<Device>,
memory_type: MemoryType<'_>,
size: DeviceSize
) -> Result<MappedDeviceMemory, DeviceMemoryAllocError>
Allocates a chunk of memory and maps it.
Panic
- Panics if
memory_type
doesn’t belong to the same physical device asdevice
. - Panics if the memory type is not host-visible.
pub fn dedicated_alloc_and_map(
device: Arc<Device>,
memory_type: MemoryType<'_>,
size: DeviceSize,
resource: DedicatedAlloc<'_>
) -> Result<MappedDeviceMemory, DeviceMemoryAllocError>
pub fn dedicated_alloc_and_map(
device: Arc<Device>,
memory_type: MemoryType<'_>,
size: DeviceSize,
resource: DedicatedAlloc<'_>
) -> Result<MappedDeviceMemory, DeviceMemoryAllocError>
Equivalent of dedicated_alloc
for alloc_and_map
.
Returns the memory type this chunk was allocated on.
Returns the size in bytes of that memory chunk.
Trait Implementations
Performs the conversion.
Performs the conversion.
type Object = DeviceMemory
type Object = DeviceMemory
The type of the object.
Returns a reference to the object.
Auto Trait Implementations
impl RefUnwindSafe for DeviceMemory
impl Send for DeviceMemory
impl Sync for DeviceMemory
impl Unpin for DeviceMemory
impl UnwindSafe for DeviceMemory
Blanket Implementations
Mutably borrows from an owned value. Read more
Builds a pointer to this type from a raw pointer.
Returns true if the size is suitable to store a type like this.
Returns the size of an individual element.