diff --git a/zh-cn/application-dev/reference/native-apis/Readme-CN.md b/zh-cn/application-dev/reference/native-apis/Readme-CN.md index e3a94832d68cc432860665b9227aa07a5964cb78..f0220b24d6552ae0c40eebe59e7b9b9dc452aab4 100644 --- a/zh-cn/application-dev/reference/native-apis/Readme-CN.md +++ b/zh-cn/application-dev/reference/native-apis/Readme-CN.md @@ -31,6 +31,7 @@ - [Memory](memory.md) - [UsbDdk](_usb_ddk.md) - [Hitrace](_hitrace.md) + - [Vulkan](_vulkan.md) - 头文件 - [drawing_bitmap.h](drawing__bitmap_8h.md) - [drawing_brush.h](drawing__brush_8h.md) @@ -92,6 +93,7 @@ - [usb_ddk_api.h](usb__ddk__api_8h.md) - [usb_ddk_types.h](usb__ddk__types_8h.md) - [trace.h](trace_8h.md) + - [vulkan_ohos.h](vulkan__ohos_8h.md) - 结构体 - [OH_Drawing_BitmapFormat](_o_h___drawing___bitmap_format.md) - [OH_NativeBuffer_Config](_o_h___native_buffer___config.md) @@ -148,3 +150,10 @@ - [UsbEndpointDescriptor](_usb_endpoint_descriptor.md) - [UsbInterfaceDescriptor](_usb_interface_descriptor.md) - [UsbRequestPipe](_usb_request_pipe.md) + - [VkExternalFormatOHOS](_vk_external_format_o_h_o_s.md) + [VkImportNativeBufferInfoOHOS](_vk_import_native_buffer_info_o_h_o_s.md) + [VkMemoryGetNativeBufferInfoOHOS](_vk_memory_get_native_buffer_info_o_h_o_s.md) + [VkNativeBufferFormatPropertiesOHOS](_vk_native_buffer_format_properties_o_h_o_s.md) + [VkNativeBufferPropertiesOHOS](_vk_native_buffer_properties_o_h_o_s.md) + [VkNativeBufferUsageOHOS](_vk_native_buffer_usage_o_h_o_s.md) + [VkSurfaceCreateInfoOHOS](_vk_surface_create_info_o_h_o_s.md) diff --git a/zh-cn/application-dev/reference/native-apis/_vk_external_format_o_h_o_s.md b/zh-cn/application-dev/reference/native-apis/_vk_external_format_o_h_o_s.md new file mode 100644 index 0000000000000000000000000000000000000000..92c151271151f8c8adb7d0e074245a0a040e0c40 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_vk_external_format_o_h_o_s.md @@ -0,0 +1,26 @@ +# VkExternalFormatOHOS + + +## 概述 + +表示外部定义的格式标识符。 + +**起始版本:** + +10 + +**相关模块:** + +[Vulkan](_vulkan.md) + + +## 汇总 + + +### 成员变量 + +| 名称 | 描述 | +| -------- | -------- | +| [sType](_vulkan.md#stype-77) | 结构体类型。 | +| [pNext](_vulkan.md#pnext-77) | 下一级结构体指针。 | +| [externalFormat](_vulkan.md#externalformat-22) | 外部定义的格式标识符。 | diff --git a/zh-cn/application-dev/reference/native-apis/_vk_import_native_buffer_info_o_h_o_s.md b/zh-cn/application-dev/reference/native-apis/_vk_import_native_buffer_info_o_h_o_s.md new file mode 100644 index 0000000000000000000000000000000000000000..2b2d1711d603b97539f311a6df350a3a26013c0a --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_vk_import_native_buffer_info_o_h_o_s.md @@ -0,0 +1,26 @@ +# VkImportNativeBufferInfoOHOS + + +## 概述 + +包含了OH_NativeBuffer结构体的指针。 + +**起始版本:** + +10 + +**相关模块:** + +[Vulkan](_vulkan.md) + + +## 汇总 + + +### 成员变量 + +| 名称 | 描述 | +| -------- | -------- | +| [sType](_vulkan.md#stype-57) | 结构体类型。 | +| [pNext](_vulkan.md#pnext-57) | 下一级结构体指针。 | +| [buffer](_vulkan.md#buffer) | OH_NativeBuffer结构体的指针。 | diff --git a/zh-cn/application-dev/reference/native-apis/_vk_memory_get_native_buffer_info_o_h_o_s.md b/zh-cn/application-dev/reference/native-apis/_vk_memory_get_native_buffer_info_o_h_o_s.md new file mode 100644 index 0000000000000000000000000000000000000000..f5fbc4f58733aa35c35956e132db9c11c47d4195 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_vk_memory_get_native_buffer_info_o_h_o_s.md @@ -0,0 +1,26 @@ +# VkMemoryGetNativeBufferInfoOHOS + + +## 概述 + +用于从Vulkan内存中获取OH_NativeBuffer。 + +**起始版本:** + +10 + +**相关模块:** + +[Vulkan](_vulkan.md) + + +## 汇总 + + +### 成员变量 + +| 名称 | 描述 | +| -------- | -------- | +| [sType](_vulkan.md#stype-67) | 结构体类型。 | +| [pNext](_vulkan.md#pnext-67) | 下一级结构体指针。 | +| [memory](_vulkan.md#memory) | VkDeviceMemory对象。 | diff --git a/zh-cn/application-dev/reference/native-apis/_vk_native_buffer_format_properties_o_h_o_s.md b/zh-cn/application-dev/reference/native-apis/_vk_native_buffer_format_properties_o_h_o_s.md new file mode 100644 index 0000000000000000000000000000000000000000..0b571b4c0d151fe786ce59879a2a1598da578c45 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_vk_native_buffer_format_properties_o_h_o_s.md @@ -0,0 +1,33 @@ +# VkNativeBufferFormatPropertiesOHOS + + +## 概述 + +包含了NaitveBuffer的一些格式属性。 + +**起始版本:** + +10 + +**相关模块:** + +[Vulkan](_vulkan.md) + + +## 汇总 + + +### 成员变量 + +| 名称 | 描述 | +| -------- | -------- | +| [sType](_vulkan.md#stype-47) | 结构体类型。 | +| [pNext](_vulkan.md#pnext-47) | 下一级结构体指针。 | +| [format](_vulkan.md#format) | 格式说明。 | +| [externalFormat](_vulkan.md#externalformat-12) | 外部定义的格式标识符。 | +| [formatFeatures](_vulkan.md#formatfeatures) | 描述了与externalFormat对应的能力。 | +| [samplerYcbcrConversionComponents](_vulkan.md#samplerycbcrconversioncomponents) | 表示一组VkComponentSwizzle。 | +| [suggestedYcbcrModel](_vulkan.md#suggestedycbcrmodel) | 色彩模型。 | +| [suggestedYcbcrRange](_vulkan.md#suggestedycbcrrange) | 色彩数值范围。 | +| [suggestedXChromaOffset](_vulkan.md#suggestedxchromaoffset) | X色度偏移。 | +| [suggestedYChromaOffset](_vulkan.md#suggestedychromaoffset) | Y色度偏移。 | diff --git a/zh-cn/application-dev/reference/native-apis/_vk_native_buffer_properties_o_h_o_s.md b/zh-cn/application-dev/reference/native-apis/_vk_native_buffer_properties_o_h_o_s.md new file mode 100644 index 0000000000000000000000000000000000000000..ed90508c76c6a145c73ed70ec31e019b27856bd0 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_vk_native_buffer_properties_o_h_o_s.md @@ -0,0 +1,27 @@ +# VkNativeBufferPropertiesOHOS + + +## 概述 + +包含了NaitveBuffer的属性。 + +**起始版本:** + +10 + +**相关模块:** + +[Vulkan](_vulkan.md) + + +## 汇总 + + +### 成员变量 + +| 名称 | 描述 | +| -------- | -------- | +| [sType](_vulkan.md#stype-37) | 结构体类型。 | +| [pNext](_vulkan.md#pnext-37) | 下一级结构体指针 | +| [allocationSize](_vulkan.md#allocationsize) | 占用的内存大小。 | +| [memoryTypeBits](_vulkan.md#memorytypebits) | 内存类型。 | diff --git a/zh-cn/application-dev/reference/native-apis/_vk_native_buffer_usage_o_h_o_s.md b/zh-cn/application-dev/reference/native-apis/_vk_native_buffer_usage_o_h_o_s.md new file mode 100644 index 0000000000000000000000000000000000000000..64059120960df3fc6c18f39db6caed40f781d174 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_vk_native_buffer_usage_o_h_o_s.md @@ -0,0 +1,26 @@ +# VkNativeBufferUsageOHOS + + +## 概述 + +提供OpenHarmony NativeBuffer用途的说明。 + +**起始版本:** + +10 + +**相关模块:** + +[Vulkan](_vulkan.md) + + +## 汇总 + + +### 成员变量 + +| 名称 | 描述 | +| -------- | -------- | +| [sType](_vulkan.md#stype-27) | 结构体类型。 | +| [pNext](_vulkan.md#pnext-27) | 下一级结构体指针。 | +| [OHOSNativeBufferUsage](_vulkan.md#ohosnativebufferusage) | NativeBuffer的用途说明。 | diff --git a/zh-cn/application-dev/reference/native-apis/_vk_surface_create_info_o_h_o_s.md b/zh-cn/application-dev/reference/native-apis/_vk_surface_create_info_o_h_o_s.md new file mode 100644 index 0000000000000000000000000000000000000000..179ac0d0b7fea73a9526b7e291f877fdda5e4cad --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_vk_surface_create_info_o_h_o_s.md @@ -0,0 +1,27 @@ +# VkSurfaceCreateInfoOHOS + + +## 概述 + +包含创建Vulkan Surface时必要的参数。 + +**起始版本:** + +10 + +**相关模块:** + +[Vulkan](_vulkan.md) + + +## 汇总 + + +### 成员变量 + +| 名称 | 描述 | +| -------- | -------- | +| [sType](_vulkan.md#stype-17) | 结构体类型。 | +| [pNext](_vulkan.md#pnext-17) | 下一级结构体指针。 | +| [flags](_vulkan.md#flags) | 预留的标志类型参数。 | +| [window](_vulkan.md#window) | OHNativeWindow指针。 | diff --git a/zh-cn/application-dev/reference/native-apis/_vulkan.md b/zh-cn/application-dev/reference/native-apis/_vulkan.md new file mode 100644 index 0000000000000000000000000000000000000000..2b51948df06a1d2e93d7be45eff384b4c27ef140 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_vulkan.md @@ -0,0 +1,820 @@ +# Vulkan + + +## 概述 + +提供OpenHarmony平台扩展的Vulkan能力,扩展了使用OHNativeWindow创建Vulkan Surface的能力,以及获取OH_NativeBuffer和OH_NativeBuffer属性的能力。 + +\@syscap SystemCapability.Graphic.Vulkan + +**起始版本:** + +10 + + +## 汇总 + + +### 文件 + +| 名称 | 描述 | +| -------- | -------- | +| [vulkan_ohos.h](vulkan__ohos_8h.md) | 定义了OpenHarmony平台扩展的Vulkan接口。
引用文件:<vulkan/vulkan.h>。 | + + +### 结构体 + +| 名称 | 描述 | +| -------- | -------- | +| [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) | 包含了NaitveBuffer的属性。 | +| [VkNativeBufferFormatPropertiesOHOS](_vk_native_buffer_format_properties_o_h_o_s.md) | 包含了NaitveBuffer的一些格式属性。 | +| [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](#vk_ohos_surface) 1 | OpenHarmony平台Surface扩展宏定义。 | +| [VK_OHOS_SURFACE_SPEC_VERSION](#vk_ohos_surface_spec_version) 1 | OpenHarmony平台Surface扩展版本号。 | +| [VK_OHOS_SURFACE_EXTENSION_NAME](#vk_ohos_surface_extension_name) "VK_OHOS_surface" | OpenHarmony平台Surface扩展名。 | +| [VK_OHOS_external_memory](#vk_ohos_external_memory) 1 | OpenHarmony平台external_memory扩展宏定义。 | +| [VK_OHOS_EXTERNAL_MEMORY_SPEC_VERSION](#vk_ohos_external_memory_spec_version) 1 | OpenHarmony平台external_memory扩展版本号。 | +| [VK_OHOS_EXTERNAL_MEMORY_EXTENSION_NAME](#vk_ohos_external_memory_extension_name) "VK_OHOS_external_memory" | OpenHarmony平台external_memory扩展名。 | + + +### 类型定义 + +| 名称 | 描述 | +| -------- | -------- | +| [OHNativeWindow](#ohnativewindow) | OH本地窗口。 | +| [VkSurfaceCreateFlagsOHOS](#vksurfacecreateflagsohos) | 用于Vulkan Surface创建时使用到的VkFlags类型位掩码,预留的标志类型。 | +| [VkSurfaceCreateInfoOHOS](#vksurfacecreateinfoohos) | 包含创建Vulkan Surface时必要的参数。 | +| [PFN_vkCreateSurfaceOHOS](#pfn_vkcreatesurfaceohos)) (VkInstance instance, const [VkSurfaceCreateInfoOHOS](_vk_surface_create_info_o_h_o_s.md) \*pCreateInfo, const VkAllocationCallbacks \*pAllocator, VkSurfaceKHR \*pSurface) | 创建Vulkan Surface的函数指针定义。 | +| [VkNativeBufferUsageOHOS](#vknativebufferusageohos) | 提供OpenHarmony NativeBuffer用途的说明。 | +| [VkNativeBufferPropertiesOHOS](#vknativebufferpropertiesohos) | 包含了NaitveBuffer的属性。 | +| [VkNativeBufferFormatPropertiesOHOS](#vknativebufferformatpropertiesohos) | 包含了NaitveBuffer的一些格式属性。 | +| [VkImportNativeBufferInfoOHOS](#vkimportnativebufferinfoohos) | 包含了OH_NativeBuffer结构体的指针。 | +| [VkMemoryGetNativeBufferInfoOHOS](#vkmemorygetnativebufferinfoohos) | 用于从Vulkan内存中获取OH_NativeBuffer。 | +| [VkExternalFormatOHOS](#vkexternalformatohos) | 表示外部定义的格式标识符。 | +| [PFN_vkGetNativeBufferPropertiesOHOS](#pfn_vkgetnativebufferpropertiesohos)) (VkDevice device, const struct OH_NativeBuffer \*buffer, [VkNativeBufferPropertiesOHOS](_vk_native_buffer_properties_o_h_o_s.md) \*pProperties) | 获取OH_NativeBuffer属性的函数指针定义。 | +| [PFN_vkGetMemoryNativeBufferOHOS](#pfn_vkgetmemorynativebufferohos)) (VkDevice device, const [VkMemoryGetNativeBufferInfoOHOS](_vk_memory_get_native_buffer_info_o_h_o_s.md) \*pInfo, struct OH_NativeBuffer \*\*pBuffer) | 获取OH_NativeBuffer的函数指针定义。 | + + +### 函数 + +| 名称 | 描述 | +| -------- | -------- | +| [vkCreateSurfaceOHOS](#vkcreatesurfaceohos) (VkInstance instance, const VkSurfaceCreateInfoOHOS \*pCreateInfo, const VkAllocationCallbacks \*pAllocator, VkSurfaceKHR \*pSurface) | 创建Vulkan Surface。 | +| [vkGetNativeBufferPropertiesOHOS](#vkgetnativebufferpropertiesohos) (VkDevice device, const struct OH_NativeBuffer \*buffer, VkNativeBufferPropertiesOHOS \*pProperties) | 获取OH_NativeBuffer属性。 | +| [vkGetMemoryNativeBufferOHOS](#vkgetmemorynativebufferohos) (VkDevice device, const VkMemoryGetNativeBufferInfoOHOS \*pInfo, struct OH_NativeBuffer \*\*pBuffer) | 获取OH_NativeBuffer。 | + + +### 变量 + +| 名称 | 描述 | +| -------- | -------- | +| [VkSurfaceCreateInfoOHOS::sType](#stype-17) | 结构体类型。 | +| [VkSurfaceCreateInfoOHOS::pNext](#pnext-17) | 下一级结构体指针。 | +| [VkSurfaceCreateInfoOHOS::flags](#flags) | 预留的标志类型参数。 | +| [VkSurfaceCreateInfoOHOS::window](#window) | OHNativeWindow指针。 | +| [VkNativeBufferUsageOHOS::sType](#stype-27) | 结构体类型。 | +| [VkNativeBufferUsageOHOS::pNext](#pnext-27) | 下一级结构体指针。 | +| [VkNativeBufferUsageOHOS::OHOSNativeBufferUsage](#ohosnativebufferusage) | NativeBuffer的用途说明。 | +| [VkNativeBufferPropertiesOHOS::sType](#stype-37) | 结构体类型。 | +| [VkNativeBufferPropertiesOHOS::pNext](#pnext-37) | 下一级结构体指针。 | +| [VkNativeBufferPropertiesOHOS::allocationSize](#allocationsize) | 占用的内存大小。 | +| [VkNativeBufferPropertiesOHOS::memoryTypeBits](#memorytypebits) | 内存类型。 | +| [VkNativeBufferFormatPropertiesOHOS::sType](#stype-47) | 结构体类型。 | +| [VkNativeBufferFormatPropertiesOHOS::pNext](#pnext-47) | 下一级结构体指针。 | +| [VkNativeBufferFormatPropertiesOHOS::format](#format) | 格式说明。 | +| [VkNativeBufferFormatPropertiesOHOS::externalFormat](#externalformat-12) | 外部定义的格式标识符。 | +| [VkNativeBufferFormatPropertiesOHOS::formatFeatures](#formatfeatures) | 描述了与externalFormat对应的能力。 | +| [VkNativeBufferFormatPropertiesOHOS::samplerYcbcrConversionComponents](#samplerycbcrconversioncomponents) | 表示一组VkComponentSwizzle。 | +| [VkNativeBufferFormatPropertiesOHOS::suggestedYcbcrModel](#suggestedycbcrmodel) | 色彩模型。 | +| [VkNativeBufferFormatPropertiesOHOS::suggestedYcbcrRange](#suggestedycbcrrange) | 色彩数值范围。 | +| [VkNativeBufferFormatPropertiesOHOS::suggestedXChromaOffset](#suggestedxchromaoffset) | X色度偏移。 | +| [VkNativeBufferFormatPropertiesOHOS::suggestedYChromaOffset](#suggestedychromaoffset) | Y色度偏移。 | +| [VkImportNativeBufferInfoOHOS::sType](#stype-57) | 结构体类型。 | +| [VkImportNativeBufferInfoOHOS::pNext](#pnext-57) | 下一级结构体指针。 | +| [VkImportNativeBufferInfoOHOS::buffer](#buffer) | OH_NativeBuffer结构体的指针。 | +| [VkMemoryGetNativeBufferInfoOHOS::sType](#stype-67) | 结构体类型。 | +| [VkMemoryGetNativeBufferInfoOHOS::pNext](#pnext-67) | 下一级结构体指针。 | +| [VkMemoryGetNativeBufferInfoOHOS::memory](#memory) | VkDeviceMemory对象。 | +| [VkExternalFormatOHOS::sType](#stype-77) | 结构体类型。 | +| [VkExternalFormatOHOS::pNext](#pnext-77) | 下一级结构体指针。 | +| [VkExternalFormatOHOS::externalFormat](#externalformat-22) | 外部定义的格式标识符。 | + + +## 宏定义说明 + + +### VK_OHOS_external_memory + + +``` +#define VK_OHOS_external_memory 1 +``` + +**描述:** + +OpenHarmony平台external_memory扩展宏定义。 + + +### VK_OHOS_EXTERNAL_MEMORY_EXTENSION_NAME + + +``` +#define VK_OHOS_EXTERNAL_MEMORY_EXTENSION_NAME "VK_OHOS_external_memory" +``` + +**描述:** + +OpenHarmony平台external_memory扩展名。 + + +### VK_OHOS_EXTERNAL_MEMORY_SPEC_VERSION + + +``` +#define VK_OHOS_EXTERNAL_MEMORY_SPEC_VERSION 1 +``` + +**描述:** + +OpenHarmony平台external_memory扩展版本号。 + + +### VK_OHOS_surface + + +``` +#define VK_OHOS_surface 1 +``` + +**描述:** + +OpenHarmony平台Surface扩展宏定义。 + + +### VK_OHOS_SURFACE_EXTENSION_NAME + + +``` +#define VK_OHOS_SURFACE_EXTENSION_NAME "VK_OHOS_surface" +``` + +**描述:** + +OpenHarmony平台Surface扩展名。 + + +### VK_OHOS_SURFACE_SPEC_VERSION + + +``` +#define VK_OHOS_SURFACE_SPEC_VERSION 1 +``` + +**描述:** + +OpenHarmony平台Surface扩展版本号。 + + +## 类型定义说明 + + +### OHNativeWindow + + +``` +typedef struct NativeWindow OHNativeWindow +``` + +**描述:** + +OH本地窗口。 + + +### PFN_vkCreateSurfaceOHOS + + +``` +typedef VkResult(VKAPI_PTR * PFN_vkCreateSurfaceOHOS) (VkInstance instance, const VkSurfaceCreateInfoOHOS *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface) +``` + +**描述:** + +创建Vulkan Surface的函数指针定义。 + +\@syscap SystemCapability.Graphic.Vulkan + +**参数:** + +| 名称 | 描述 | +| -------- | -------- | +| instance | Vulkan实例。 | +| pCreateInfo | 一个VkSurfaceCreateInfoOHOS结构体的指针,包含创建Vulkan Surface时必要的参数。 | +| pAllocator | 用户自定义内存分配的回调函数,如果不需要可以传入NULL,接口会使用默认的内存分配函数。 | +| pSurface | 出参,用于接收创建的Vulkan Surface,类型为VkSurfaceKHR。 | + +**返回:** + +返回一个VkResult类型的错误码,返回值为VK_SUCCESS表示执行成功。 + + +### PFN_vkGetMemoryNativeBufferOHOS + + +``` +typedef VkResult(VKAPI_PTR * PFN_vkGetMemoryNativeBufferOHOS) (VkDevice device, const VkMemoryGetNativeBufferInfoOHOS *pInfo, struct OH_NativeBuffer **pBuffer) +``` + +**描述:** + +获取OH_NativeBuffer的函数指针定义。 + +\@syscap SystemCapability.Graphic.Vulkan + +**参数:** + +| 名称 | 描述 | +| -------- | -------- | +| device | VkDevice对象。 | +| pInfo | VkMemoryGetNativeBufferInfoOHOS结构体对象。 | +| pBuffer | 用于接收获取到的OH_NativeBuffer。 | + +**返回:** + +返回一个VkResult类型的错误码,返回值为VK_SUCCESS表示执行成功。 + + +### PFN_vkGetNativeBufferPropertiesOHOS + + +``` +typedef VkResult(VKAPI_PTR * PFN_vkGetNativeBufferPropertiesOHOS) (VkDevice device, const struct OH_NativeBuffer *buffer, VkNativeBufferPropertiesOHOS *pProperties) +``` + +**描述:** + +获取OH_NativeBuffer属性的函数指针定义。 + +\@syscap SystemCapability.Graphic.Vulkan + +**参数:** + +| 名称 | 描述 | +| -------- | -------- | +| device | VkDevice对象。 | +| buffer | OH_NativeBuffer结构体指针。 | +| pProperties | 用于接收OH_NativeBuffer属性的结构体。 | + +**返回:** + +返回一个VkResult类型的错误码,返回值为VK_SUCCESS表示执行成功。 + + +### VkExternalFormatOHOS + + +``` +typedef struct VkExternalFormatOHOS VkExternalFormatOHOS +``` + +**描述:** + +表示外部定义的格式标识符。 + + +### VkImportNativeBufferInfoOHOS + + +``` +typedef struct VkImportNativeBufferInfoOHOS VkImportNativeBufferInfoOHOS +``` + +**描述:** + +包含了OH_NativeBuffer结构体的指针。 + + +### VkMemoryGetNativeBufferInfoOHOS + + +``` +typedef struct VkMemoryGetNativeBufferInfoOHOS VkMemoryGetNativeBufferInfoOHOS +``` + +**描述:** + +用于从Vulkan内存中获取OH_NativeBuffer。 + + +### VkNativeBufferFormatPropertiesOHOS + + +``` +typedef struct VkNativeBufferFormatPropertiesOHOS VkNativeBufferFormatPropertiesOHOS +``` + +**描述:** + +包含了NaitveBuffer的一些格式属性。 + + +### VkNativeBufferPropertiesOHOS + + +``` +typedef struct VkNativeBufferPropertiesOHOS VkNativeBufferPropertiesOHOS +``` + +**描述:** + +包含了NaitveBuffer的属性。 + + +### VkNativeBufferUsageOHOS + + +``` +typedef struct VkNativeBufferUsageOHOS VkNativeBufferUsageOHOS +``` + +**描述:** + +提供OpenHarmony NativeBuffer用途的说明。 + + +### VkSurfaceCreateFlagsOHOS + + +``` +typedef VkFlags VkSurfaceCreateFlagsOHOS +``` + +**描述:** + +用于Vulkan Surface创建时使用到的VkFlags类型位掩码,预留的标志类型。 + + +### VkSurfaceCreateInfoOHOS + + +``` +typedef struct VkSurfaceCreateInfoOHOS VkSurfaceCreateInfoOHOS +``` + +**描述:** + +包含创建Vulkan Surface时必要的参数。 + + +## 函数说明 + + +### vkCreateSurfaceOHOS() + + +``` +VKAPI_ATTR VkResult VKAPI_CALL vkCreateSurfaceOHOS (VkInstance instance, const VkSurfaceCreateInfoOHOS * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkSurfaceKHR * pSurface ) +``` + +**描述:** + +创建Vulkan Surface。 + +\@syscap SystemCapability.Graphic.Vulkan + +**参数:** + +| 名称 | 描述 | +| -------- | -------- | +| instance | Vulkan实例。 | +| pCreateInfo | 一个VkSurfaceCreateInfoOHOS结构体的指针,包含创建Vulkan Surface时必要的参数。 | +| pAllocator | 用户自定义内存分配的回调函数,如果不需要可以传入NULL,接口会使用默认的内存分配函数。 | +| pSurface | 出参,用于接收创建的Vulkan Surface,类型为VkSurfaceKHR。 | + +**返回:** + +返回一个VkResult类型的错误码,返回值为VK_SUCCESS表示执行成功。 + + +### vkGetMemoryNativeBufferOHOS() + + +``` +VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryNativeBufferOHOS (VkDevice device, const VkMemoryGetNativeBufferInfoOHOS * pInfo, struct OH_NativeBuffer ** pBuffer ) +``` + +**描述:** + +获取OH_NativeBuffer。 + +\@syscap SystemCapability.Graphic.Vulkan + +**参数:** + +| 名称 | 描述 | +| -------- | -------- | +| device | VkDevice对象。 | +| pInfo | VkMemoryGetNativeBufferInfoOHOS结构体对象。 | +| pBuffer | 用于接收获取到的OH_NativeBuffer。 | + +**返回:** + +返回一个VkResult类型的错误码,返回值为VK_SUCCESS表示执行成功。 + + +### vkGetNativeBufferPropertiesOHOS() + + +``` +VKAPI_ATTR VkResult VKAPI_CALL vkGetNativeBufferPropertiesOHOS (VkDevice device, const struct OH_NativeBuffer * buffer, VkNativeBufferPropertiesOHOS * pProperties ) +``` + +**描述:** + +获取OH_NativeBuffer属性。 + +\@syscap SystemCapability.Graphic.Vulkan + +**参数:** + +| 名称 | 描述 | +| -------- | -------- | +| device | VkDevice对象。 | +| buffer | OH_NativeBuffer结构体指针。 | +| pProperties | 用于接收OH_NativeBuffer属性的结构体。 | + +**返回:** + +返回一个VkResult类型的错误码,返回值为VK_SUCCESS表示执行成功。 + + +## 变量说明 + + +### allocationSize + + +``` +VkDeviceSize VkNativeBufferPropertiesOHOS::allocationSize +``` + +**描述:** + +占用的内存大小。 + + +### buffer + + +``` +struct OH_NativeBuffer* VkImportNativeBufferInfoOHOS::buffer +``` + +**描述:** + +OH_NativeBuffer结构体的指针。 + + +### externalFormat [1/2] + + +``` +uint64_t VkNativeBufferFormatPropertiesOHOS::externalFormat +``` + +**描述:** + +外部定义的格式标识符。 + + +### externalFormat [2/2] + + +``` +uint64_t VkExternalFormatOHOS::externalFormat +``` + +**描述:** + +外部定义的格式标识符。 + + +### flags + + +``` +VkSurfaceCreateFlagsOHOS VkSurfaceCreateInfoOHOS::flags +``` + +**描述:** + +预留的标志类型参数。 + + +### format + + +``` +VkFormat VkNativeBufferFormatPropertiesOHOS::format +``` + +**描述:** + +格式说明。 + + +### formatFeatures + + +``` +VkFormatFeatureFlags VkNativeBufferFormatPropertiesOHOS::formatFeatures +``` + +**描述:** + +描述了与externalFormat对应的能力。 + + +### memory + + +``` +VkDeviceMemory VkMemoryGetNativeBufferInfoOHOS::memory +``` + +**描述:** + +VkDeviceMemory对象。 + + +### memoryTypeBits + + +``` +uint32_t VkNativeBufferPropertiesOHOS::memoryTypeBits +``` + +**描述:** + +内存类型。 + + +### OHOSNativeBufferUsage + + +``` +uint64_t VkNativeBufferUsageOHOS::OHOSNativeBufferUsage +``` + +**描述:** + +NativeBuffer的用途说明。 + + +### pNext [1/7] + + +``` +const void* VkSurfaceCreateInfoOHOS::pNext +``` + +**描述:** + +下一级结构体指针。 + + +### pNext [2/7] + + +``` +void* VkNativeBufferUsageOHOS::pNext +``` + +**描述:** + +下一级结构体指针。 + + +### pNext [3/7] + + +``` +void* VkNativeBufferPropertiesOHOS::pNext +``` + +**描述:** + +下一级结构体指针。 + + +### pNext [4/7] + + +``` +void* VkNativeBufferFormatPropertiesOHOS::pNext +``` + +**描述:** + +下一级结构体指针。 + + +### pNext [5/7] + + +``` +const void* VkImportNativeBufferInfoOHOS::pNext +``` + +**描述:** + +下一级结构体指针。 + + +### pNext [6/7] + + +``` +const void* VkMemoryGetNativeBufferInfoOHOS::pNext +``` + +**描述:** + +下一级结构体指针。 + + +### pNext [7/7] + + +``` +void* VkExternalFormatOHOS::pNext +``` + +**描述:** + +下一级结构体指针。 + + +### samplerYcbcrConversionComponents + + +``` +VkComponentMapping VkNativeBufferFormatPropertiesOHOS::samplerYcbcrConversionComponents +``` + +**描述:** + +表示一组VkComponentSwizzle。 + + +### sType [1/7] + + +``` +VkStructureType VkSurfaceCreateInfoOHOS::sType +``` + +**描述:** + +结构体类型。 + + +### sType [2/7] + + +``` +VkStructureType VkNativeBufferUsageOHOS::sType +``` + +**描述:** + +结构体类型。 + + +### sType [3/7] + + +``` +VkStructureType VkNativeBufferPropertiesOHOS::sType +``` + +**描述:** + +结构体类型。 + + +### sType [4/7] + + +``` +VkStructureType VkNativeBufferFormatPropertiesOHOS::sType +``` + +**描述:** + +结构体类型。 + + +### sType [5/7] + + +``` +VkStructureType VkImportNativeBufferInfoOHOS::sType +``` + +**描述:** + +结构体类型。 + + +### sType [6/7] + + +``` +VkStructureType VkMemoryGetNativeBufferInfoOHOS::sType +``` + +**描述:** + +结构体类型。 + + +### sType [7/7] + + +``` +VkStructureType VkExternalFormatOHOS::sType +``` + +**描述:** + +结构体类型。 + + +### suggestedXChromaOffset + + +``` +VkChromaLocation VkNativeBufferFormatPropertiesOHOS::suggestedXChromaOffset +``` + +**描述:** + +X色度偏移。 + + +### suggestedYcbcrModel + + +``` +VkSamplerYcbcrModelConversion VkNativeBufferFormatPropertiesOHOS::suggestedYcbcrModel +``` + +**描述:** + +色彩模型。 + + +### suggestedYcbcrRange + + +``` +VkSamplerYcbcrRange VkNativeBufferFormatPropertiesOHOS::suggestedYcbcrRange +``` + +**描述:** + +色彩数值范围。 + + +### suggestedYChromaOffset + + +``` +VkChromaLocation VkNativeBufferFormatPropertiesOHOS::suggestedYChromaOffset +``` + +**描述:** + +Y色度偏移。 + + +### window + + +``` +OHNativeWindow* VkSurfaceCreateInfoOHOS::window +``` + +**描述:** + +OHNativeWindow指针。 diff --git a/zh-cn/application-dev/reference/native-apis/vulkan__ohos_8h.md b/zh-cn/application-dev/reference/native-apis/vulkan__ohos_8h.md new file mode 100644 index 0000000000000000000000000000000000000000..fc6a4767bc61861c5e8a0bbb7c23582e8a0161cd --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/vulkan__ohos_8h.md @@ -0,0 +1,69 @@ +# 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) | 包含了NaitveBuffer的属性。 | +| [VkNativeBufferFormatPropertiesOHOS](_vk_native_buffer_format_properties_o_h_o_s.md) | 包含了NaitveBuffer的一些格式属性。 | +| [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时必要的参数。 | +| [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) | typedef VkResult(VKAPI_PTR \*
创建Vulkan Surface的函数指针定义。 | +| [VkNativeBufferUsageOHOS](_vulkan.md#vknativebufferusageohos) | 提供OpenHarmony NativeBuffer用途的说明。 | +| [VkNativeBufferPropertiesOHOS](_vulkan.md#vknativebufferpropertiesohos) | 包含了NaitveBuffer的属性。 | +| [VkNativeBufferFormatPropertiesOHOS](_vulkan.md#vknativebufferformatpropertiesohos) | 包含了NaitveBuffer的一些格式属性。 | +| [VkImportNativeBufferInfoOHOS](_vulkan.md#vkimportnativebufferinfoohos) | 包含了OH_NativeBuffer结构体的指针。 | +| [VkMemoryGetNativeBufferInfoOHOS](_vulkan.md#vkmemorygetnativebufferinfoohos) | 用于从Vulkan内存中获取OH_NativeBuffer。 | +| [VkExternalFormatOHOS](_vulkan.md#vkexternalformatohos) | 表示外部定义的格式标识符。 | +| [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属性的函数指针定义。 | +| [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的函数指针定义。 | + + +### 函数 + +| 名称 | 描述 | +| -------- | -------- | +| [vkCreateSurfaceOHOS](_vulkan.md#vkcreatesurfaceohos) (VkInstance instance, const [VkSurfaceCreateInfoOHOS](_vk_surface_create_info_o_h_o_s.md) \*pCreateInfo, const VkAllocationCallbacks \*pAllocator, VkSurfaceKHR \*pSurface) | VKAPI_ATTR VkResult VKAPI_CALL
创建Vulkan Surface。 | +| [vkGetNativeBufferPropertiesOHOS](_vulkan.md#vkgetnativebufferpropertiesohos) (VkDevice device, const struct OH_NativeBuffer \*buffer, [VkNativeBufferPropertiesOHOS](_vk_native_buffer_properties_o_h_o_s.md) \*pProperties) | VKAPI_ATTR VkResult VKAPI_CALL
获取OH_NativeBuffer属性。 | +| [vkGetMemoryNativeBufferOHOS](_vulkan.md#vkgetmemorynativebufferohos) (VkDevice device, const [VkMemoryGetNativeBufferInfoOHOS](_vk_memory_get_native_buffer_info_o_h_o_s.md) \*pInfo, struct OH_NativeBuffer \*\*pBuffer) | VKAPI_ATTR VkResult VKAPI_CALL
获取OH_NativeBuffer。 |