#ifndef VULKAN_ANDROID_H_ | |
#define VULKAN_ANDROID_H_ 1 | |
/* | |
** Copyright (c) 2015-2019 The Khronos Group Inc. | |
** | |
** Licensed under the Apache License, Version 2.0 (the "License"); | |
** you may not use this file except in compliance with the License. | |
** You may obtain a copy of the License at | |
** | |
** http://www.apache.org/licenses/LICENSE-2.0 | |
** | |
** Unless required by applicable law or agreed to in writing, software | |
** distributed under the License is distributed on an "AS IS" BASIS, | |
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
** See the License for the specific language governing permissions and | |
** limitations under the License. | |
*/ | |
/* | |
** This header is generated from the Khronos Vulkan XML API Registry. | |
** | |
*/ | |
#ifdef __cplusplus | |
extern "C" { | |
#endif | |
#define VK_KHR_android_surface 1 | |
struct ANativeWindow; | |
#define VK_KHR_ANDROID_SURFACE_SPEC_VERSION 6 | |
#define VK_KHR_ANDROID_SURFACE_EXTENSION_NAME "VK_KHR_android_surface" | |
typedef VkFlags VkAndroidSurfaceCreateFlagsKHR; | |
typedef struct VkAndroidSurfaceCreateInfoKHR { | |
VkStructureType sType; | |
const void* pNext; | |
VkAndroidSurfaceCreateFlagsKHR flags; | |
struct ANativeWindow* window; | |
} VkAndroidSurfaceCreateInfoKHR; | |
typedef VkResult (VKAPI_PTR *PFN_vkCreateAndroidSurfaceKHR)(VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); | |
#ifndef VK_NO_PROTOTYPES | |
VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR( | |
VkInstance instance, | |
const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, | |
const VkAllocationCallbacks* pAllocator, | |
VkSurfaceKHR* pSurface); | |
#endif | |
#define VK_ANDROID_external_memory_android_hardware_buffer 1 | |
struct AHardwareBuffer; | |
#define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION 3 | |
#define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME "VK_ANDROID_external_memory_android_hardware_buffer" | |
typedef struct VkAndroidHardwareBufferUsageANDROID { | |
VkStructureType sType; | |
void* pNext; | |
uint64_t androidHardwareBufferUsage; | |
} VkAndroidHardwareBufferUsageANDROID; | |
typedef struct VkAndroidHardwareBufferPropertiesANDROID { | |
VkStructureType sType; | |
void* pNext; | |
VkDeviceSize allocationSize; | |
uint32_t memoryTypeBits; | |
} VkAndroidHardwareBufferPropertiesANDROID; | |
typedef struct VkAndroidHardwareBufferFormatPropertiesANDROID { | |
VkStructureType sType; | |
void* pNext; | |
VkFormat format; | |
uint64_t externalFormat; | |
VkFormatFeatureFlags formatFeatures; | |
VkComponentMapping samplerYcbcrConversionComponents; | |
VkSamplerYcbcrModelConversion suggestedYcbcrModel; | |
VkSamplerYcbcrRange suggestedYcbcrRange; | |
VkChromaLocation suggestedXChromaOffset; | |
VkChromaLocation suggestedYChromaOffset; | |
} VkAndroidHardwareBufferFormatPropertiesANDROID; | |
typedef struct VkImportAndroidHardwareBufferInfoANDROID { | |
VkStructureType sType; | |
const void* pNext; | |
struct AHardwareBuffer* buffer; | |
} VkImportAndroidHardwareBufferInfoANDROID; | |
typedef struct VkMemoryGetAndroidHardwareBufferInfoANDROID { | |
VkStructureType sType; | |
const void* pNext; | |
VkDeviceMemory memory; | |
} VkMemoryGetAndroidHardwareBufferInfoANDROID; | |
typedef struct VkExternalFormatANDROID { | |
VkStructureType sType; | |
void* pNext; | |
uint64_t externalFormat; | |
} VkExternalFormatANDROID; | |
typedef VkResult (VKAPI_PTR *PFN_vkGetAndroidHardwareBufferPropertiesANDROID)(VkDevice device, const struct AHardwareBuffer* buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties); | |
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryAndroidHardwareBufferANDROID)(VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer); | |
#ifndef VK_NO_PROTOTYPES | |
VKAPI_ATTR VkResult VKAPI_CALL vkGetAndroidHardwareBufferPropertiesANDROID( | |
VkDevice device, | |
const struct AHardwareBuffer* buffer, | |
VkAndroidHardwareBufferPropertiesANDROID* pProperties); | |
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryAndroidHardwareBufferANDROID( | |
VkDevice device, | |
const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, | |
struct AHardwareBuffer** pBuffer); | |
#endif | |
#ifdef __cplusplus | |
} | |
#endif | |
#endif |