VPP  0.7
A high-level modern C++ API for Vulkan
Public Types | Public Member Functions | List of all members
vpp::MemProfile Class Reference

Abstraction of GPU-interoperable memory types. More...

#include <vppDeviceMemory.hpp>

Public Types

enum  ECharacteristic {
  DEVICE_STATIC, HOST_STATIC, DEVICE_DYNAMIC, DEVICE_FEEDBACK,
  DEVICE_ONLY
}
 Enumeration specifying the characteristic of requested memory. More...
 

Public Member Functions

 MemProfile (ECharacteristic eChar)
 The constructor - not explicit, you can use the enumeration directly.
 

Detailed Description

Abstraction of GPU-interoperable memory types.

Allocation of memory is somewhat complex in core Vulkan, due to large number of memory properties and types. This class hides that complexity and provides simple classification into four major types.

Member Enumeration Documentation

◆ ECharacteristic

Enumeration specifying the characteristic of requested memory.

Enumerator
DEVICE_STATIC 

Memory resides physically on GPU and is hidden from CPU (but fast).

HOST_STATIC 

Memory resides physically on CPU side and is accessible to GPU, likely slower than GPU-local memory.

DEVICE_DYNAMIC 

Memory resides physically on GPU and is visible to CPU. If that scenario is not supported by the hardware, falls back to HOST_STATIC.

DEVICE_FEEDBACK 

Like HOST_STATIC, but always uncached.

DEVICE_ONLY 

In this context, same as DEVICE_STATIC.


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