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.
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.
sType must be STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID
struct VkAndroidHardwareBufferUsageANDROID {
VkStructureType sType;
void * pNext;
uint64_t androidHardwareBufferUsage;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkAndroidHardwareBufferUsageANDROID.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | ANDROIDHARDWAREBUFFERUSAGE
The struct member offsets. |
| public static final int | PNEXT
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | STYPE
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkAndroidHardwareBufferUsageANDROID(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public long | |
| public static VkAndroidHardwareBufferUsageANDROID | |
| public static VkAndroidHardwareBufferUsageANDROID. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkAndroidHardwareBufferUsageANDROID | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkAndroidHardwareBufferUsageANDROID. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| protected VkAndroidHardwareBufferUsageANDROID | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static VkAndroidHardwareBufferUsageANDROID | |
| public static VkAndroidHardwareBufferUsageANDROID | create(long address)
Returns a new |
| public static VkAndroidHardwareBufferUsageANDROID. | create(int
the buffer capacity capacity)Returns a new |
| public static VkAndroidHardwareBufferUsageANDROID. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkAndroidHardwareBufferUsageANDROID | |
| public static VkAndroidHardwareBufferUsageANDROID. | |
| public static VkAndroidHardwareBufferUsageANDROID | |
| public static VkAndroidHardwareBufferUsageANDROID. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkAndroidHardwareBufferUsageANDROID | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkAndroidHardwareBufferUsageANDROID. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static long | |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public long | |
| public VkAndroidHardwareBufferUsageANDROID | |
| public VkAndroidHardwareBufferUsageANDROID | |
| public VkAndroidHardwareBufferUsageANDROID | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | |
| public VkAndroidHardwareBufferUsageANDROID | |
| public VkAndroidHardwareBufferUsageANDROID | sType$Default()
Sets the |
| ALIGNOF | back to summary |
|---|---|
| public static final int ALIGNOF The struct alignment in bytes. | |
| ANDROIDHARDWAREBUFFERUSAGE | back to summary |
|---|---|
| public static final int ANDROIDHARDWAREBUFFERUSAGE The struct member offsets. | |
| PNEXT | back to summary |
|---|---|
| public static final int PNEXT The struct member offsets. | |
| SIZEOF | back to summary |
|---|---|
| public static final int SIZEOF The struct size in bytes. | |
| STYPE | back to summary |
|---|---|
| public static final int STYPE The struct member offsets. | |
| VkAndroidHardwareBufferUsageANDROID | back to summary |
|---|---|
| protected VkAndroidHardwareBufferUsageANDROID(long address, ByteBuffer container) | |
| VkAndroidHardwareBufferUsageANDROID | back to summary |
|---|---|
| public VkAndroidHardwareBufferUsageANDROID(ByteBuffer container) Creates a The created instance holds a strong reference to the container object. | |
| androidHardwareBufferUsage | back to summary |
|---|---|
| public long androidHardwareBufferUsage() returns the Android hardware buffer usage flags.
| |
| calloc | back to summary |
|---|---|
| public static VkAndroidHardwareBufferUsageANDROID calloc() Returns a new | |
| calloc | back to summary |
|---|---|
| public static VkAndroidHardwareBufferUsageANDROID. Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkAndroidHardwareBufferUsageANDROID calloc(MemoryStack stack) Returns a new
| |
| calloc | back to summary |
|---|---|
| public static VkAndroidHardwareBufferUsageANDROID. Returns a new
| |
| create | back to summary |
|---|---|
| protected VkAndroidHardwareBufferUsageANDROID create(long address, ByteBuffer container) Implements abstract org. Doc from org. Similar to Effectively, every
| |
| create | back to summary |
|---|---|
| public static VkAndroidHardwareBufferUsageANDROID create() Returns a new | |
| create | back to summary |
|---|---|
| public static VkAndroidHardwareBufferUsageANDROID create(long address) Returns a new | |
| create | back to summary |
|---|---|
| public static VkAndroidHardwareBufferUsageANDROID. Returns a new
| |
| create | back to summary |
|---|---|
| public static VkAndroidHardwareBufferUsageANDROID. Create a
| |
| createSafe | back to summary |
|---|---|
| public static VkAndroidHardwareBufferUsageANDROID createSafe(long address) Like
| |
| createSafe | back to summary |
|---|---|
| public static VkAndroidHardwareBufferUsageANDROID. Like
| |
| malloc | back to summary |
|---|---|
| public static VkAndroidHardwareBufferUsageANDROID malloc() Returns a new | |
| malloc | back to summary |
|---|---|
| public static VkAndroidHardwareBufferUsageANDROID. Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkAndroidHardwareBufferUsageANDROID malloc(MemoryStack stack) Returns a new
| |
| malloc | back to summary |
|---|---|
| public static VkAndroidHardwareBufferUsageANDROID. Returns a new
| |
| nandroidHardwareBufferUsage | back to summary |
|---|---|
| public static long nandroidHardwareBufferUsage(long struct) Unsafe version of | |
| npNext | back to summary |
|---|---|
| public static long npNext(long struct) Unsafe version of | |
| npNext | back to summary |
|---|---|
| public static void npNext(long struct, long value) Unsafe version of | |
| nsType | back to summary |
|---|---|
| public static int nsType(long struct) Unsafe version of | |
| nsType | back to summary |
|---|---|
| public static void nsType(long struct, int value) Unsafe version of | |
| pNext | back to summary |
|---|---|
| public long pNext()
| |
| pNext | back to summary |
|---|---|
| public VkAndroidHardwareBufferUsageANDROID pNext(long value) Sets the specified value to the | |
| set | back to summary |
|---|---|
| public VkAndroidHardwareBufferUsageANDROID set(int sType, long pNext) Initializes this struct with the specified values. | |
| set | back to summary |
|---|---|
| public VkAndroidHardwareBufferUsageANDROID set(VkAndroidHardwareBufferUsageANDROID src) Copies the specified struct data to this struct.
| |
| sizeof | back to summary |
|---|---|
| public int sizeof() Implements abstract org. Doc from org. Returns
| |
| sType | back to summary |
|---|---|
| public int sType() a
| |
| sType | back to summary |
|---|---|
| public VkAndroidHardwareBufferUsageANDROID sType(int value) Sets the specified value to the | |
| sType$Default | back to summary |
|---|---|
| public VkAndroidHardwareBufferUsageANDROID sType$Default() Sets the | |
VkAndroidHardwareBufferUsageANDROID structs.
| Modifier and Type | Field and Description |
|---|---|
| private static final VkAndroidHardwareBufferUsageANDROID |
| Access | Constructor and Description |
|---|---|
| public | Buffer(ByteBuffer container)
Creates a new |
| public | |
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| public long | Returns: the value of theVkAndroidHardwareBufferUsageANDROID#androidHardwareBufferUsage field.
|
| protected VkAndroidHardwareBufferUsageANDROID | |
| public long | |
| public VkAndroidHardwareBufferUsageANDROID. | |
| protected VkAndroidHardwareBufferUsageANDROID. | |
| public int | |
| public VkAndroidHardwareBufferUsageANDROID. | |
| public VkAndroidHardwareBufferUsageANDROID. | sType$Default()
Sets the |
| ELEMENT_FACTORY | back to summary |
|---|---|
| private static final VkAndroidHardwareBufferUsageANDROID ELEMENT_FACTORY | |
| Buffer | back to summary |
|---|---|
| public Buffer(ByteBuffer container) Creates a new Changes to the container's content will be visible to the struct buffer instance and vice versa. The two buffers' position, limit, and mark values
will be independent. The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided
by The created buffer instance holds a strong reference to the container object. | |
| Buffer | back to summary |
|---|---|
| public Buffer(long address, int cap) | |
| Buffer | back to summary |
|---|---|
| pack-priv Buffer(long address, ByteBuffer container, int mark, int pos, int lim, int cap) | |
| androidHardwareBufferUsage | back to summary |
|---|---|
public long androidHardwareBufferUsage()
| |
| getElementFactory | back to summary |
|---|---|
| protected VkAndroidHardwareBufferUsageANDROID getElementFactory() Implements abstract org.
| |
| pNext | back to summary |
|---|---|
public long pNext()
| |
| pNext | back to summary |
|---|---|
| public VkAndroidHardwareBufferUsageANDROID. Sets the specified value to the | |
| self | back to summary |
|---|---|
| protected VkAndroidHardwareBufferUsageANDROID. Implements abstract org.
| |
| sType | back to summary |
|---|---|
public int sType()
| |
| sType | back to summary |
|---|---|
| public VkAndroidHardwareBufferUsageANDROID. Sets the specified value to the | |
| sType$Default | back to summary |
|---|---|
| public VkAndroidHardwareBufferUsageANDROID. Sets the | |