API_Specification » APISpec_Memory_Allocation module

Chapter 10: Specification

Contents

Classes

struct VV::V0::Memory::AllocateInfo
Structure describing parameters of the allocation.
struct VV::V0::Memory::AllocationCallbacks
Vulkan provides applications the opportunity to perform host memory allocations on behalf of the Vulkan implementation. If this feature is not used, the implementation will perform its own memory allocations.
struct VV::V0::Memory::Heap
struct VV::V0::Memory::Type
Structures describing the memory types that can be used to access memory allocated from the heaps specified by memoryHeaps.
struct VV::V1::Memory
General memory structures and functionality for device memory.
struct VV::V2::Memory
General memory structures and functionality for device memory.
class VV::V3::Memory
General memory structures and functionality for device memory.
struct VV::V0::Memory
General memory definitions.

Enums

enum class EInternalAllocationType { Executable = VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE }
Specification
enum class EMemoryHeapFlag: ui32 { DeviceLocal = VK_MEMORY_HEAP_DEVICE_LOCAL_BIT, MultiInstance = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT, MultiInstance_KHR = VK_MEMORY_HEAP_MULTI_INSTANCE_BIT_KHR, VV_SpecifyBitmaskable = VK_MEMORY_HEAP_FLAG_BITS_MAX_ENUM }
Specification
enum class EMemoryPropertyFlag: ui32 { DeviceLocal = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, HostVisible = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT, HostCoherent = VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, HostCached = VK_MEMORY_PROPERTY_HOST_CACHED_BIT, LazilyAllocated = VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT, Protected = VK_MEMORY_PROPERTY_PROTECTED_BIT, DeviceCoherent_AMD = VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD, DeviceUncached_AMD = VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD, VV_SpecifyBitmaskable = VK_MEMORY_PROPERTY_FLAG_BITS_MAX_ENUM }
Specification
enum class ESystemAllocationScope: ui32 { Command = VK_SYSTEM_ALLOCATION_SCOPE_COMMAND, Object = VK_SYSTEM_ALLOCATION_SCOPE_OBJECT, Cache = VK_SYSTEM_ALLOCATION_SCOPE_CACHE, Device = VK_SYSTEM_ALLOCATION_SCOPE_DEVICE, Instance = VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE }
Specification

Typedefs

using FPtr_Allocation = PFN_vkAllocationFunction
Specification
using FPtr_Reallocation = PFN_vkReallocationFunction
Specification
using FPtr_Free = PFN_vkFreeFunction
Specification
using FPtr_InternalAllocationNotification = PFN_vkInternalAllocationNotification
Specification
using FPtr_InternalFreeNotification = PFN_vkInternalFreeNotification

Functions

static auto Allocate(LogicalDevice::Handle _device, const AllocateInfo& _allocateInfo, const AllocationCallbacks* _allocator, Handle& _memory) -> EResult
Allocate memory objects.
static void Free(LogicalDevice::Handle _device, Handle _memory, const AllocationCallbacks* _allocator)
Free a memory object.
static auto Map(LogicalDevice::Handle _device, Handle _memory, DeviceSize _offset, DeviceSize _size, MapFlags _flags, VoidPtr& _data) -> EResult
Retrieve a host virtual address pointer to a region of a mappable memory object.
static void Unmap(LogicalDevice::Handle _device, Handle _memory)
Unmap a memory object once host access to it is no longer needed by the application.
static void GetMemoryProperties(Handle _handle, MemoryProperties& _properties)
Query memory properties.

Enum documentation

Typedef documentation

using FPtr_Allocation = PFN_vkAllocationFunction

Specification

using FPtr_Reallocation = PFN_vkReallocationFunction

Specification

using FPtr_Free = PFN_vkFreeFunction

Specification

using FPtr_InternalAllocationNotification = PFN_vkInternalAllocationNotification

Specification

Function documentation

static EResult Allocate(LogicalDevice::Handle _device, const AllocateInfo& _allocateInfo, const AllocationCallbacks* _allocator, Handle& _memory)

Allocate memory objects.

Parameters
_device
_allocateInfo
_allocator
_memory

Specification

static void Free(LogicalDevice::Handle _device, Handle _memory, const AllocationCallbacks* _allocator)

Free a memory object.

Parameters
_device
_memory
_allocator

Specification

static EResult Map(LogicalDevice::Handle _device, Handle _memory, DeviceSize _offset, DeviceSize _size, MapFlags _flags, VoidPtr& _data)

Retrieve a host virtual address pointer to a region of a mappable memory object.

Parameters
_device
_memory
_offset
_size
_flags
_data

Specification

static void Unmap(LogicalDevice::Handle _device, Handle _memory)

Unmap a memory object once host access to it is no longer needed by the application.

Parameters
_device
_memory

Specification

static void GetMemoryProperties(Handle _handle, MemoryProperties& _properties)

Query memory properties.

Parameters
_handle
_properties

Specification