Class VkAndroidHardwareBufferUsageANDROID

java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkAndroidHardwareBufferUsageANDROID>
org.lwjgl.vulkan.VkAndroidHardwareBufferUsageANDROID
All Implemented Interfaces:
AutoCloseable, org.lwjgl.system.NativeResource, org.lwjgl.system.Pointer

public class VkAndroidHardwareBufferUsageANDROID extends org.lwjgl.system.Struct<VkAndroidHardwareBufferUsageANDROID> implements org.lwjgl.system.NativeResource
Struct containing Android hardware buffer usage flags.
Description

The androidHardwareBufferUsage field must include Android hardware buffer usage flags listed in the AHardwareBuffer Usage Equivalence table when the corresponding Vulkan image usage or image creation flags are included in the usage or flags fields of VkPhysicalDeviceImageFormatInfo2. It must include at least one GPU usage flag (AHARDWAREBUFFER_USAGE_GPU_*), even if none of the corresponding Vulkan usages or flags are requested.

Note

Requiring at least one GPU usage flag ensures that Android hardware buffer memory will be allocated in a memory pool accessible to the Vulkan implementation, and that specializing the memory layout based on usage flags does not prevent it from being compatible with Vulkan. Implementations may avoid unnecessary restrictions caused by this requirement by using vendor usage flags to indicate that only the Vulkan uses indicated in VkImageFormatProperties2 are required.

Valid Usage (Implicit)

Layout


 struct VkAndroidHardwareBufferUsageANDROID {
     VkStructureType sType();
     void * pNext();
     uint64_t androidHardwareBufferUsage();
 }