| #ifndef VULKAN_OHOS_H_ | |
| #define VULKAN_OHOS_H_ 1 | |
| /* | |
| ** Copyright 2015-2026 The Khronos Group Inc. | |
| ** | |
| ** SPDX-License-Identifier: Apache-2.0 OR MIT | |
| */ | |
| /* | |
| ** This header is generated from the Khronos Vulkan XML API Registry. | |
| ** | |
| */ | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| // VK_OHOS_external_memory is a preprocessor guard. Do not pass it to API calls. | |
| # define VK_OHOS_external_memory 1 | |
| struct OH_NativeBuffer; | |
| # define VK_OHOS_EXTERNAL_MEMORY_SPEC_VERSION 1 | |
| # define VK_OHOS_EXTERNAL_MEMORY_EXTENSION_NAME "VK_OHOS_external_memory" | |
| typedef struct VkNativeBufferUsageOHOS | |
| { | |
| VkStructureType sType; | |
| void *pNext; | |
| uint64_t OHOSNativeBufferUsage; | |
| } VkNativeBufferUsageOHOS; | |
| typedef struct VkNativeBufferPropertiesOHOS | |
| { | |
| VkStructureType sType; | |
| void *pNext; | |
| VkDeviceSize allocationSize; | |
| uint32_t memoryTypeBits; | |
| } VkNativeBufferPropertiesOHOS; | |
| typedef struct VkNativeBufferFormatPropertiesOHOS | |
| { | |
| VkStructureType sType; | |
| void *pNext; | |
| VkFormat format; | |
| uint64_t externalFormat; | |
| VkFormatFeatureFlags formatFeatures; | |
| VkComponentMapping samplerYcbcrConversionComponents; | |
| VkSamplerYcbcrModelConversion suggestedYcbcrModel; | |
| VkSamplerYcbcrRange suggestedYcbcrRange; | |
| VkChromaLocation suggestedXChromaOffset; | |
| VkChromaLocation suggestedYChromaOffset; | |
| } VkNativeBufferFormatPropertiesOHOS; | |
| typedef struct VkImportNativeBufferInfoOHOS | |
| { | |
| VkStructureType sType; | |
| const void *pNext; | |
| struct OH_NativeBuffer *buffer; | |
| } VkImportNativeBufferInfoOHOS; | |
| typedef struct VkMemoryGetNativeBufferInfoOHOS | |
| { | |
| VkStructureType sType; | |
| const void *pNext; | |
| VkDeviceMemory memory; | |
| } VkMemoryGetNativeBufferInfoOHOS; | |
| typedef struct VkExternalFormatOHOS | |
| { | |
| VkStructureType sType; | |
| void *pNext; | |
| uint64_t externalFormat; | |
| } VkExternalFormatOHOS; | |
| typedef VkResult(VKAPI_PTR *PFN_vkGetNativeBufferPropertiesOHOS)(VkDevice device, const struct OH_NativeBuffer *buffer, VkNativeBufferPropertiesOHOS *pProperties); | |
| typedef VkResult(VKAPI_PTR *PFN_vkGetMemoryNativeBufferOHOS)(VkDevice device, const VkMemoryGetNativeBufferInfoOHOS *pInfo, struct OH_NativeBuffer **pBuffer); | |
| # ifndef VK_NO_PROTOTYPES | |
| # ifndef VK_ONLY_EXPORTED_PROTOTYPES | |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetNativeBufferPropertiesOHOS( | |
| VkDevice device, | |
| const struct OH_NativeBuffer *buffer, | |
| VkNativeBufferPropertiesOHOS *pProperties); | |
| # endif | |
| # ifndef VK_ONLY_EXPORTED_PROTOTYPES | |
| VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryNativeBufferOHOS( | |
| VkDevice device, | |
| const VkMemoryGetNativeBufferInfoOHOS *pInfo, | |
| struct OH_NativeBuffer **pBuffer); | |
| # endif | |
| # endif | |
| // VK_OHOS_surface is a preprocessor guard. Do not pass it to API calls. | |
| #define VK_OHOS_surface 1 | |
| typedef struct NativeWindow OHNativeWindow; | |
| #define VK_OHOS_SURFACE_SPEC_VERSION 1 | |
| #define VK_OHOS_SURFACE_EXTENSION_NAME "VK_OHOS_surface" | |
| typedef VkFlags VkSurfaceCreateFlagsOHOS; | |
| typedef struct VkSurfaceCreateInfoOHOS | |
| { | |
| VkStructureType sType; | |
| const void* pNext; | |
| VkSurfaceCreateFlagsOHOS flags; | |
| OHNativeWindow* window; | |
| } VkSurfaceCreateInfoOHOS; | |
| typedef VkResult (VKAPI_PTR *PFN_vkCreateSurfaceOHOS)(VkInstance instance, const VkSurfaceCreateInfoOHOS* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); | |
| #ifndef VK_NO_PROTOTYPES | |
| #ifndef VK_ONLY_EXPORTED_PROTOTYPES | |
| VKAPI_ATTR VkResult VKAPI_CALL vkCreateSurfaceOHOS( | |
| VkInstance instance, | |
| const VkSurfaceCreateInfoOHOS* pCreateInfo, | |
| const VkAllocationCallbacks* pAllocator, | |
| VkSurfaceKHR* pSurface); | |
| #endif | |
| #endif | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif |