未验证 提交 ab8dc3de 编写于 作者: O openharmony_ci 提交者: Gitee

!20666 master :add Vulkan Native API

Merge pull request !20666 from 葛亚芳/master
......@@ -224,8 +224,9 @@ zh-cn/application-dev/background-agent-scheduled-reminder/ @RayShih
zh-cn/application-dev/background-task-management/ @ningningW @wangwenli_wolf @tangtiantian2021 @nan-xiansen
zh-cn/application-dev/work-scheduler/ @ningningW
zh-cn/application-dev/internationalization/ @ningningW @Buda-Liu @mengjingzhimo @yangqing3
zh-cn/application-dev/device/usb-overview.md @ge-yafang @jasonyujia @andeszhang @liuhonggang123
zh-cn/application-dev/device/usb-guidelines.md @ge-yafang @jasonyujia @andeszhang @liuhonggang123
zh-cn/application-dev/device/usb-overview.md @ge-yafang @Kevin-Lau @liuhonggang123
zh-cn/application-dev/device/usb-guidelines.md @ge-yafang @Kevin-Lau @liuhonggang123
zh-cn/application-dev/napi/usb-ddk-guidelines.md @ge-yafang @Kevin-Lau @liuhonggang123
zh-cn/application-dev/device/device-location-overview.md @RayShih
zh-cn/application-dev/device/device-location-info.md @RayShih
zh-cn/application-dev/device/device-location-geocoding.md @RayShih
......@@ -499,9 +500,9 @@ zh-cn/application-dev/reference/apis/js-apis-uitest.md @inter515 @ningningW @int
zh-cn/application-dev/reference/apis/js-apis-update.md @hughes802 @ningningW @zhangzhengxue @mamba-ting
zh-cn/application-dev/reference/apis/js-apis-uri.md @gongjunsong @ge-yafang @flyingwolf @BlackStone
zh-cn/application-dev/reference/apis/js-apis-url.md @gongjunsong @ge-yafang @flyingwolf @BlackStone
zh-cn/application-dev/reference/apis/js-apis-usbManager.md @jasonyujia @ge-yafang @andeszhang @liuhonggang123
zh-cn/application-dev/reference/apis/js-apis-usb.md @jasonyujia @ge-yafang @andeszhang @liuhonggang123
zh-cn/application-dev/reference/apis/js-apis-usb-deprecated.md @jasonyujia @ge-yafang @andeszhang @liuhonggang123
zh-cn/application-dev/reference/apis/js-apis-usbManager.md @ge-yafang @Kevin-Lau @liuhonggang123
zh-cn/application-dev/reference/apis/js-apis-usb.md @ge-yafang @Kevin-Lau @liuhonggang123
zh-cn/application-dev/reference/apis/js-apis-usb-deprecated.md @ge-yafang @Kevin-Lau @liuhonggang123
zh-cn/application-dev/reference/apis/js-apis-useriam-userauth.md @gaoyong @zengyawen @niejiteng @jumozhanjiang
zh-cn/application-dev/reference/apis/js-apis-util.md @gongjunsong @ge-yafang @flyingwolf @BlackStone
zh-cn/application-dev/reference/apis/js-apis-vector.md @gongjunsong @ge-yafang @flyingwolf @BlackStone
......
......@@ -3,9 +3,13 @@
- [Native API在应用工程中的使用指导](napi-guidelines.md)
- [Drawing开发指导](drawing-guidelines.md)
- [Rawfile开发指导](rawfile-guidelines.md)
- [NativeBuffer开发指导](native-buffer-guidelines.md)
- [NativeImage开发指导](native-image-guidelines.md)
- [NativeVsync开发指导](native-vsync-guidelines.md)
- [NativeWindow开发指导](native-window-guidelines.md)
- [使用MindSpore Lite引擎进行模型推理](mindspore-lite-guidelines.md)
- [使用MindSpore Lite进行离线模型的转换及推理](mindspore-lite-offline-model-guidelines.md)
- [Neural Network Runtime对接AI推理框架开发指导](neural-network-runtime-guidelines.md)
- [Purgeable memory开发指导](purgeable-memory-guidelines.md)
- [XComponent开发指导](xcomponent-guidelines.md)
\ No newline at end of file
- [XComponent开发指导](xcomponent-guidelines.md)
- [USB DDK开发指导](usb-ddk-guidelines.md)
\ No newline at end of file
......@@ -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)
# VkExternalFormatOHOS
## 概述
表示外部定义的格式标识符。
**起始版本:**
10
**相关模块:**
[Vulkan](_vulkan.md)
## 汇总
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
| [sType](_vulkan.md#stype-77) | 结构体类型。 |
| [pNext](_vulkan.md#pnext-77) | 下一级结构体指针。 |
| [externalFormat](_vulkan.md#externalformat-22) | 外部定义的格式标识符。 |
# VkImportNativeBufferInfoOHOS
## 概述
包含了OH_NativeBuffer结构体的指针。
**起始版本:**
10
**相关模块:**
[Vulkan](_vulkan.md)
## 汇总
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
| [sType](_vulkan.md#stype-57) | 结构体类型。 |
| [pNext](_vulkan.md#pnext-57) | 下一级结构体指针。 |
| [buffer](_vulkan.md#buffer) | OH_NativeBuffer结构体的指针。 |
# VkMemoryGetNativeBufferInfoOHOS
## 概述
用于从Vulkan内存中获取OH_NativeBuffer。
**起始版本:**
10
**相关模块:**
[Vulkan](_vulkan.md)
## 汇总
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
| [sType](_vulkan.md#stype-67) | 结构体类型。 |
| [pNext](_vulkan.md#pnext-67) | 下一级结构体指针。 |
| [memory](_vulkan.md#memory) | VkDeviceMemory对象。 |
# 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色度偏移。 |
# VkNativeBufferPropertiesOHOS
## 概述
包含了NaitveBuffer的属性。
**起始版本:**
10
**相关模块:**
[Vulkan](_vulkan.md)
## 汇总
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
| [sType](_vulkan.md#stype-37) | 结构体类型。 |
| [pNext](_vulkan.md#pnext-37) | 下一级结构体指针 |
| [allocationSize](_vulkan.md#allocationsize) | 占用的内存大小。 |
| [memoryTypeBits](_vulkan.md#memorytypebits) | 内存类型。 |
# VkNativeBufferUsageOHOS
## 概述
提供OpenHarmony NativeBuffer用途的说明。
**起始版本:**
10
**相关模块:**
[Vulkan](_vulkan.md)
## 汇总
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
| [sType](_vulkan.md#stype-27) | 结构体类型。 |
| [pNext](_vulkan.md#pnext-27) | 下一级结构体指针。 |
| [OHOSNativeBufferUsage](_vulkan.md#ohosnativebufferusage) | NativeBuffer的用途说明。 |
# 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指针。 |
# Vulkan
## 概述
提供OpenHarmony平台扩展的Vulkan能力,扩展了使用OHNativeWindow创建Vulkan Surface的能力,以及获取OH_NativeBuffer和OH_NativeBuffer属性的能力。
\@syscap SystemCapability.Graphic.Vulkan
**起始版本:**
10
## 汇总
### 文件
| 名称 | 描述 |
| -------- | -------- |
| [vulkan_ohos.h](vulkan__ohos_8h.md) | 定义了OpenHarmony平台扩展的Vulkan接口。<br/>引用文件:&lt;vulkan/vulkan.h&gt;。 |
### 结构体
| 名称 | 描述 |
| -------- | -------- |
| [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时必要的参数。 |
| VkResult ([VKAPI_PTR *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) | 表示外部定义的格式标识符。 |
| VkResult ([VKAPI_PTR *PFN_vkGetNativeBufferPropertiesOHOS](#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](#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指针。
# vulkan_ohos.h
## 概述
定义了OpenHarmony平台扩展的Vulkan接口。引用文件:&lt;vulkan/vulkan.h&gt;
**起始版本:**
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时必要的参数。 |
| 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) | 包含了NaitveBuffer的属性。 |
| [VkNativeBufferFormatPropertiesOHOS](_vulkan.md#vknativebufferformatpropertiesohos) | 包含了NaitveBuffer的一些格式属性。 |
| [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的函数指针定义。 |
### 函数
| 名称 | 描述 |
| -------- | -------- |
| [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。 |
| [vkGetNativeBufferPropertiesOHOS](_vulkan.md#vkgetnativebufferpropertiesohos) (VkDevice device, const struct OH_NativeBuffer \*buffer, [VkNativeBufferPropertiesOHOS](_vk_native_buffer_properties_o_h_o_s.md) \*pProperties) | 获取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) | 获取OH_NativeBuffer。 |
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册