module
APISpec_Memory_AllocationChapter 10: Specification
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
enum class EInternalAllocationType
#include <VaultedVulkan/VV_Enums.hpp>
enum class EMemoryHeapFlag: ui32
#include <VaultedVulkan/VV_Enums.hpp>
enum class EMemoryPropertyFlag: ui32
#include <VaultedVulkan/VV_Enums.hpp>
enum class ESystemAllocationScope: ui32
#include <VaultedVulkan/VV_Enums.hpp>
Typedef documentation
using FPtr_Allocation = PFN_vkAllocationFunction
using FPtr_Reallocation = PFN_vkReallocationFunction
using FPtr_Free = PFN_vkFreeFunction
using FPtr_InternalAllocationNotification = PFN_vkInternalAllocationNotification
using FPtr_InternalFreeNotification = PFN_vkInternalFreeNotification
Function documentation
static EResult Allocate(LogicalDevice::Handle _device,
const AllocateInfo& _allocateInfo,
const AllocationCallbacks* _allocator,
Handle& _memory)
#include <VaultedVulkan/VV_Memory.hpp>
Allocate memory objects.
Parameters | |
---|---|
_device | |
_allocateInfo | |
_allocator | |
_memory |
static void Free(LogicalDevice::Handle _device,
Handle _memory,
const AllocationCallbacks* _allocator)
#include <VaultedVulkan/VV_Memory.hpp>
Free a memory object.
Parameters | |
---|---|
_device | |
_memory | |
_allocator |
static EResult Map(LogicalDevice::Handle _device,
Handle _memory,
DeviceSize _offset,
DeviceSize _size,
MapFlags _flags,
VoidPtr& _data)
#include <VaultedVulkan/VV_Memory.hpp>
Retrieve a host virtual address pointer to a region of a mappable memory object.
Parameters | |
---|---|
_device | |
_memory | |
_offset | |
_size | |
_flags | |
_data |
static void Unmap(LogicalDevice::Handle _device,
Handle _memory)
#include <VaultedVulkan/VV_Memory.hpp>
Unmap a memory object once host access to it is no longer needed by the application.
Parameters | |
---|---|
_device | |
_memory |
static void GetMemoryProperties(Handle _handle, MemoryProperties& _properties)
Query memory properties.
Parameters | |
---|---|
_handle | |
_properties |