XII Release 0.1.0
Loading...
Searching...
No Matches
xiiVulkanMemoryUsage Struct Reference

Preferred memory usage hints for Vulkan allocations using VMA. More...

#include <MemoryAllocatorVulkan.h>

Inheritance diagram for xiiVulkanMemoryUsage:
[legend]

Public Types

enum  Enum : StorageType {
  Auto = 0U , AutoPreferDevice , AutoPreferHost , GpuLazilyAllocated ,
  ENUM_COUNT , Default = Auto
}
 
using StorageType = xiiUInt8
 

Detailed Description

Preferred memory usage hints for Vulkan allocations using VMA.

These usage modes guide VMA in selecting the most suitable memory type based on the intended access patterns and performance goals.

Member Enumeration Documentation

◆ Enum

enum xiiVulkanMemoryUsage::Enum : StorageType
Enumerator
Auto 

Automatically select the best memory type. VMA chooses between device-local and host-visible memory based on the resource type. Suitable for general-purpose allocations when no strong preference exists.

AutoPreferDevice 

Prefer device-local memory when possible. VMA attempts to allocate memory that resides on the GPU. Ideal for resources that are accessed frequently by the GPU and rarely updated by the CPU.

AutoPreferHost 

Prefer host-visible memory when possible. VMA favors memory that can be accessed directly by the CPU. Useful for staging buffers, dynamic resources, or CPU-driven updates.

GpuLazilyAllocated 

Allocates memory that may not be physically backed until used. Typically used for transient attachments like depth or color buffers in render passes. Only available on GPUs that support VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT.


The documentation for this struct was generated from the following file: