Path: blob/21.2-virgl/include/vulkan/vulkan_android.h
4545 views
#ifndef VULKAN_ANDROID_H_1#define VULKAN_ANDROID_H_ 123/*4** Copyright 2015-2021 The Khronos Group Inc.5**6** SPDX-License-Identifier: Apache-2.07*/89/*10** This header is generated from the Khronos Vulkan XML API Registry.11**12*/131415#ifdef __cplusplus16extern "C" {17#endif18192021#define VK_KHR_android_surface 122struct ANativeWindow;23#define VK_KHR_ANDROID_SURFACE_SPEC_VERSION 624#define VK_KHR_ANDROID_SURFACE_EXTENSION_NAME "VK_KHR_android_surface"25typedef VkFlags VkAndroidSurfaceCreateFlagsKHR;26typedef struct VkAndroidSurfaceCreateInfoKHR {27VkStructureType sType;28const void* pNext;29VkAndroidSurfaceCreateFlagsKHR flags;30struct ANativeWindow* window;31} VkAndroidSurfaceCreateInfoKHR;3233typedef VkResult (VKAPI_PTR *PFN_vkCreateAndroidSurfaceKHR)(VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);3435#ifndef VK_NO_PROTOTYPES36VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR(37VkInstance instance,38const VkAndroidSurfaceCreateInfoKHR* pCreateInfo,39const VkAllocationCallbacks* pAllocator,40VkSurfaceKHR* pSurface);41#endif424344#define VK_ANDROID_external_memory_android_hardware_buffer 145struct AHardwareBuffer;46#define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION 347#define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME "VK_ANDROID_external_memory_android_hardware_buffer"48typedef struct VkAndroidHardwareBufferUsageANDROID {49VkStructureType sType;50void* pNext;51uint64_t androidHardwareBufferUsage;52} VkAndroidHardwareBufferUsageANDROID;5354typedef struct VkAndroidHardwareBufferPropertiesANDROID {55VkStructureType sType;56void* pNext;57VkDeviceSize allocationSize;58uint32_t memoryTypeBits;59} VkAndroidHardwareBufferPropertiesANDROID;6061typedef struct VkAndroidHardwareBufferFormatPropertiesANDROID {62VkStructureType sType;63void* pNext;64VkFormat format;65uint64_t externalFormat;66VkFormatFeatureFlags formatFeatures;67VkComponentMapping samplerYcbcrConversionComponents;68VkSamplerYcbcrModelConversion suggestedYcbcrModel;69VkSamplerYcbcrRange suggestedYcbcrRange;70VkChromaLocation suggestedXChromaOffset;71VkChromaLocation suggestedYChromaOffset;72} VkAndroidHardwareBufferFormatPropertiesANDROID;7374typedef struct VkImportAndroidHardwareBufferInfoANDROID {75VkStructureType sType;76const void* pNext;77struct AHardwareBuffer* buffer;78} VkImportAndroidHardwareBufferInfoANDROID;7980typedef struct VkMemoryGetAndroidHardwareBufferInfoANDROID {81VkStructureType sType;82const void* pNext;83VkDeviceMemory memory;84} VkMemoryGetAndroidHardwareBufferInfoANDROID;8586typedef struct VkExternalFormatANDROID {87VkStructureType sType;88void* pNext;89uint64_t externalFormat;90} VkExternalFormatANDROID;9192typedef VkResult (VKAPI_PTR *PFN_vkGetAndroidHardwareBufferPropertiesANDROID)(VkDevice device, const struct AHardwareBuffer* buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties);93typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryAndroidHardwareBufferANDROID)(VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer);9495#ifndef VK_NO_PROTOTYPES96VKAPI_ATTR VkResult VKAPI_CALL vkGetAndroidHardwareBufferPropertiesANDROID(97VkDevice device,98const struct AHardwareBuffer* buffer,99VkAndroidHardwareBufferPropertiesANDROID* pProperties);100101VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryAndroidHardwareBufferANDROID(102VkDevice device,103const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo,104struct AHardwareBuffer** pBuffer);105#endif106107#ifdef __cplusplus108}109#endif110111#endif112113114