harmony 鸿蒙vulkan_ohos.h

  • 2025-06-16
  • 浏览 (3)

vulkan_ohos.h

概述

定义了OpenHarmony平台扩展的Vulkan接口。

引用文件: <vulkan/vulkan.h>。

起始版本:

10

相关模块:

Vulkan

汇总

结构体

名称 描述
VkSurfaceCreateInfoOHOS 包含创建Vulkan Surface时必要的参数。
VkNativeBufferUsageOHOS 提供OpenHarmony NativeBuffer用途的说明。
VkNativeBufferPropertiesOHOS 包含了NativeBuffer的属性。
VkNativeBufferFormatPropertiesOHOS 包含了NativeBuffer的一些格式属性。
VkImportNativeBufferInfoOHOS 包含了OH_NativeBuffer结构体的指针。
VkMemoryGetNativeBufferInfoOHOS 用于从Vulkan内存中获取OH_NativeBuffer。
VkExternalFormatOHOS 表示外部定义的格式标识符。

宏定义

名称 描述
VK_OHOS_surface 1 OpenHarmony平台Surface扩展宏定义。
VK_OHOS_SURFACE_SPEC_VERSION 1 OpenHarmony平台Surface扩展版本号。
VK_OHOS_SURFACE_EXTENSION_NAME “VK_OHOS_surface” OpenHarmony平台Surface扩展名。
VK_OHOS_external_memory 1 OpenHarmony平台external_memory扩展宏定义。
VK_OHOS_EXTERNAL_MEMORY_SPEC_VERSION 1 OpenHarmony平台external_memory扩展版本号。
VK_OHOS_EXTERNAL_MEMORY_EXTENSION_NAME “VK_OHOS_external_memory” OpenHarmony平台external_memory扩展名。

类型定义

名称 描述
OHNativeWindow 本地窗口。
VkSurfaceCreateFlagsOHOS 用于Vulkan Surface创建时使用到的VkFlags类型位掩码,预留的标志类型。
VkSurfaceCreateInfoOHOS 包含创建Vulkan Surface时必要的参数。
VkResult (VKAPI_PTR *PFN_vkCreateSurfaceOHOS) (VkInstance instance, const VkSurfaceCreateInfoOHOS *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface) 创建Vulkan Surface的函数指针定义。
VkNativeBufferUsageOHOS 提供OpenHarmony NativeBuffer用途的说明。
VkNativeBufferPropertiesOHOS 包含了NativeBuffer的属性。
VkNativeBufferFormatPropertiesOHOS 包含了NativeBuffer的一些格式属性。
VkImportNativeBufferInfoOHOS 包含了OH_NativeBuffer结构体的指针。
VkMemoryGetNativeBufferInfoOHOS 用于从Vulkan内存中获取OH_NativeBuffer。
VkExternalFormatOHOS 表示外部定义的格式标识符。
VkResult (VKAPI_PTR *PFN_vkGetNativeBufferPropertiesOHOS) (VkDevice device, const struct OH_NativeBuffer *buffer, VkNativeBufferPropertiesOHOS *pProperties) 获取OH_NativeBuffer属性的函数指针定义。
VkResult (VKAPI_PTR *PFN_vkGetMemoryNativeBufferOHOS) (VkDevice device, const VkMemoryGetNativeBufferInfoOHOS *pInfo, struct OH_NativeBuffer **pBuffer) 获取OH_NativeBuffer的函数指针定义。

函数

名称 描述
VKAPI_ATTR VkResult VKAPI_CALL vkCreateSurfaceOHOS (VkInstance instance, const VkSurfaceCreateInfoOHOS *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface) 创建Vulkan Surface。
VKAPI_ATTR VkResult VKAPI_CALL vkGetNativeBufferPropertiesOHOS (VkDevice device, const struct OH_NativeBuffer *buffer, VkNativeBufferPropertiesOHOS *pProperties) 获取OH_NativeBuffer属性。
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryNativeBufferOHOS (VkDevice device, const VkMemoryGetNativeBufferInfoOHOS *pInfo, struct OH_NativeBuffer **pBuffer) 获取OH_NativeBuffer。
VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainGrallocUsageOHOS (VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, uint64_t *grallocUsage) 根据给定的Vulkan设备、图像格式和图像使用标志,返回适当的Gralloc(内存分配器)使用标志。
VKAPI_ATTR VkResult VKAPI_CALL vkAcquireImageOHOS (VkDevice device, VkImage image, int32_t nativeFenceFd, VkSemaphore semaphore, VkFence fence) 用于获取交换链图像的所有权,并将外部信号的Fence导入到VkSemaphore对象和VkFence对象中。
VKAPI_ATTR VkResult VKAPI_CALL vkQueueSignalReleaseImageOHOS (VkQueue queue, uint32_t waitSemaphoreCount, const VkSemaphore *pWaitSemaphores, VkImage image, int32_t *pNativeFenceFd) 当前图像使用完毕后,通过该函数向系统硬件缓冲区发出释放信号,以便其他组件可以访问该图像。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Native API标准库

harmony 鸿蒙VkExternalFormatOHOS

harmony 鸿蒙VkImportNativeBufferInfoOHOS

harmony 鸿蒙VkMemoryGetNativeBufferInfoOHOS

harmony 鸿蒙VkNativeBufferFormatPropertiesOHOS

harmony 鸿蒙VkNativeBufferPropertiesOHOS

harmony 鸿蒙VkNativeBufferUsageOHOS

harmony 鸿蒙VkSurfaceCreateInfoOHOS

harmony 鸿蒙Vulkan模块

harmony 鸿蒙标准C++库

0  赞