# vulkan_ohos.h ## 概述 定义了OpenHarmonyå¹³å°æ‰©å±•çš„Vulkan接å£ã€‚引用文件:<vulkan/vulkan.h>。 **起始版本:** 10 **相关模å—:** [Vulkan](_vulkan.md) ## 汇总 ### 结构体 | å称 | æè¿° | | -------- | -------- | | [VkSurfaceCreateInfoOHOS](_vk_surface_create_info_o_h_o_s.md) | 包å«åˆ›å»ºVulkan Surface时必è¦çš„å‚数。 | | [VkNativeBufferUsageOHOS](_vk_native_buffer_usage_o_h_o_s.md) | æä¾›OpenHarmony NativeBuffer用途的说明。 | | [VkNativeBufferPropertiesOHOS](_vk_native_buffer_properties_o_h_o_s.md) | 包å«äº†NativeBuffer的属性。 | | [VkNativeBufferFormatPropertiesOHOS](_vk_native_buffer_format_properties_o_h_o_s.md) | 包å«äº†NativeBufferçš„ä¸€äº›æ ¼å¼å±žæ€§ã€‚ | | [VkImportNativeBufferInfoOHOS](_vk_import_native_buffer_info_o_h_o_s.md) | 包å«äº†OH_NativeBuffer结构体的指针。 | | [VkMemoryGetNativeBufferInfoOHOS](_vk_memory_get_native_buffer_info_o_h_o_s.md) | 用于从Vulkan内å˜ä¸èŽ·å–OH_NativeBuffer。 | | [VkExternalFormatOHOS](_vk_external_format_o_h_o_s.md) | è¡¨ç¤ºå¤–éƒ¨å®šä¹‰çš„æ ¼å¼æ ‡è¯†ç¬¦ã€‚ | ### å®å®šä¹‰ | å称 | æè¿° | | -------- | -------- | | [VK_OHOS_surface](_vulkan.md#vk_ohos_surface) 1 | OpenHarmonyå¹³å°Surface扩展å®å®šä¹‰ã€‚ | | [VK_OHOS_SURFACE_SPEC_VERSION](_vulkan.md#vk_ohos_surface_spec_version) 1 | OpenHarmonyå¹³å°Surface扩展版本å·ã€‚ | | [VK_OHOS_SURFACE_EXTENSION_NAME](_vulkan.md#vk_ohos_surface_extension_name) "VK_OHOS_surface" | OpenHarmonyå¹³å°Surface扩展å。 | | [VK_OHOS_external_memory](_vulkan.md#vk_ohos_external_memory) 1 | OpenHarmonyå¹³å°external_memory扩展å®å®šä¹‰ã€‚ | | [VK_OHOS_EXTERNAL_MEMORY_SPEC_VERSION](_vulkan.md#vk_ohos_external_memory_spec_version) 1 | OpenHarmonyå¹³å°external_memory扩展版本å·ã€‚ | | [VK_OHOS_EXTERNAL_MEMORY_EXTENSION_NAME](_vulkan.md#vk_ohos_external_memory_extension_name) "VK_OHOS_external_memory" | OpenHarmonyå¹³å°external_memory扩展å。 | ### 类型定义 | å称 | æè¿° | | -------- | -------- | | [OHNativeWindow](_vulkan.md#ohnativewindow) | OH本地窗å£ã€‚ | | [VkSurfaceCreateFlagsOHOS](_vulkan.md#vksurfacecreateflagsohos) | 用于Vulkan Surface创建时使用到的VkFlags类型ä½æŽ©ç ï¼Œé¢„ç•™çš„æ ‡å¿—ç±»åž‹ã€‚ | | [VkSurfaceCreateInfoOHOS](_vulkan.md#vksurfacecreateinfoohos) | 包å«åˆ›å»ºVulkan Surface时必è¦çš„å‚数。 | | VkResult ([VKAPI_PTR *PFN_vkCreateSurfaceOHOS](_vulkan.md#pfn_vkcreatesurfaceohos)) (VkInstance instance, const [VkSurfaceCreateInfoOHOS](_vk_surface_create_info_o_h_o_s.md) \*pCreateInfo, const VkAllocationCallbacks \*pAllocator, VkSurfaceKHR \*pSurface) | 创建Vulkan Surface的函数指针定义。 | | [VkNativeBufferUsageOHOS](_vulkan.md#vknativebufferusageohos) | æä¾›OpenHarmony NativeBuffer用途的说明。 | | [VkNativeBufferPropertiesOHOS](_vulkan.md#vknativebufferpropertiesohos) | 包å«äº†NativeBuffer的属性。 | | [VkNativeBufferFormatPropertiesOHOS](_vulkan.md#vknativebufferformatpropertiesohos) | 包å«äº†NativeBufferçš„ä¸€äº›æ ¼å¼å±žæ€§ã€‚ | | [VkImportNativeBufferInfoOHOS](_vulkan.md#vkimportnativebufferinfoohos) | 包å«äº†OH_NativeBuffer结构体的指针。 | | [VkMemoryGetNativeBufferInfoOHOS](_vulkan.md#vkmemorygetnativebufferinfoohos) | 用于从Vulkan内å˜ä¸èŽ·å–OH_NativeBuffer。 | | [VkExternalFormatOHOS](_vulkan.md#vkexternalformatohos) | è¡¨ç¤ºå¤–éƒ¨å®šä¹‰çš„æ ¼å¼æ ‡è¯†ç¬¦ã€‚ | | VkResult ([VKAPI_PTR *PFN_vkGetNativeBufferPropertiesOHOS](_vulkan.md#pfn_vkgetnativebufferpropertiesohos)) (VkDevice device, const struct OH_NativeBuffer \*buffer, [VkNativeBufferPropertiesOHOS](_vk_native_buffer_properties_o_h_o_s.md) \*pProperties) | 获å–OH_NativeBuffer属性的函数指针定义。 | | VkResult ([VKAPI_PTR *PFN_vkGetMemoryNativeBufferOHOS](_vulkan.md#pfn_vkgetmemorynativebufferohos)) (VkDevice device, const [VkMemoryGetNativeBufferInfoOHOS](_vk_memory_get_native_buffer_info_o_h_o_s.md) \*pInfo, struct OH_NativeBuffer \*\*pBuffer) | 获å–OH_NativeBuffer的函数指针定义。 | ### 函数 | å称 | æè¿° | | -------- | -------- | | VKAPI_ATTR VkResult VKAPI_CALL [vkCreateSurfaceOHOS](_vulkan.md#vkcreatesurfaceohos) (VkInstance instance, const [VkSurfaceCreateInfoOHOS](_vk_surface_create_info_o_h_o_s.md) \*pCreateInfo, const VkAllocationCallbacks \*pAllocator, VkSurfaceKHR \*pSurface) | 创建Vulkan Surface。 | | VKAPI_ATTR VkResult VKAPI_CALL [vkGetNativeBufferPropertiesOHOS](_vulkan.md#vkgetnativebufferpropertiesohos) (VkDevice device, const struct OH_NativeBuffer \*buffer, [VkNativeBufferPropertiesOHOS](_vk_native_buffer_properties_o_h_o_s.md) \*pProperties) | 获å–OH_NativeBuffer属性。 | | VKAPI_ATTR VkResult VKAPI_CALL [vkGetMemoryNativeBufferOHOS](_vulkan.md#vkgetmemorynativebufferohos) (VkDevice device, const [VkMemoryGetNativeBufferInfoOHOS](_vk_memory_get_native_buffer_info_o_h_o_s.md) \*pInfo, struct OH_NativeBuffer \*\*pBuffer) | 获å–OH_NativeBuffer。 | | VKAPI_ATTR VkResult VKAPI_CALL [vkGetSwapchainGrallocUsageOHOS](_vulkan.md#vkgetswapchaingrallocusageohos) (VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, uint64_t \*grallocUsage) | æ ¹æ®ç»™å®šçš„Vulkan设备ã€å›¾åƒæ ¼å¼å’Œå›¾åƒä½¿ç”¨æ ‡å¿—, 返回适当的Gralloc(内å˜åˆ†é…器)ä½¿ç”¨æ ‡å¿—ã€‚ | | VKAPI_ATTR VkResult VKAPI_CALL [vkAcquireImageOHOS](_vulkan.md#vkacquireimageohos) (VkDevice device, VkImage image, int32_t nativeFenceFd, VkSemaphore semaphore, VkFence fence) | 用于获å–交æ¢é“¾å›¾åƒçš„所有æƒ, 并将外部信å·çš„Fence导入到VkSemaphore对象和VkFence对象ä¸ã€‚ | | VKAPI_ATTR VkResult VKAPI_CALL [vkQueueSignalReleaseImageOHOS](_vulkan.md#vkqueuesignalreleaseimageohos) (VkQueue queue, uint32_t waitSemaphoreCount, const VkSemaphore \*pWaitSemaphores, VkImage image, int32_t \*pNativeFenceFd) | 当å‰å›¾åƒä½¿ç”¨å®Œæ¯•åŽï¼Œé€šè¿‡è¯¥å‡½æ•°å‘系统硬件缓冲区å‘出释放信å·, 以便其他组件å¯ä»¥è®¿é—®è¯¥å›¾åƒã€‚ |