1 # Vulkan 2 3 4 ## 概述 5 6 提供OpenHarmony平台扩展的Vulkan能力,扩展了使用OHNativeWindow创建Vulkan Surface的能力,以及获取OH_NativeBuffer和OH_NativeBuffer属性的能力。 7 8 \@syscap SystemCapability.Graphic.Vulkan 9 10 **起始版本:** 11 12 10 13 14 15 ## 汇总 16 17 18 ### 文件 19 20 | 名称 | 描述 | 21 | -------- | -------- | 22 | [vulkan_ohos.h](vulkan__ohos_8h.md) | 定义了OpenHarmony平台扩展的Vulkan接口。<br/>引用文件:<vulkan/vulkan.h><br/>库:libvulkan.so | 23 24 25 ### 结构体 26 27 | 名称 | 描述 | 28 | -------- | -------- | 29 | [VkSurfaceCreateInfoOHOS](_vk_surface_create_info_o_h_o_s.md) | 包含创建Vulkan Surface时必要的参数。 | 30 | [VkNativeBufferUsageOHOS](_vk_native_buffer_usage_o_h_o_s.md) | 提供OpenHarmony NativeBuffer用途的说明。 | 31 | [VkNativeBufferPropertiesOHOS](_vk_native_buffer_properties_o_h_o_s.md) | 包含了NativeBuffer的属性。 | 32 | [VkNativeBufferFormatPropertiesOHOS](_vk_native_buffer_format_properties_o_h_o_s.md) | 包含了NativeBuffer的一些格式属性。 | 33 | [VkImportNativeBufferInfoOHOS](_vk_import_native_buffer_info_o_h_o_s.md) | 包含了OH_NativeBuffer结构体的指针。 | 34 | [VkMemoryGetNativeBufferInfoOHOS](_vk_memory_get_native_buffer_info_o_h_o_s.md) | 用于从Vulkan内存中获取OH_NativeBuffer。 | 35 | [VkExternalFormatOHOS](_vk_external_format_o_h_o_s.md) | 表示外部定义的格式标识符。 | 36 37 38 ### 宏定义 39 40 | 名称 | 描述 | 41 | -------- | -------- | 42 | [VK_OHOS_surface](#vk_ohos_surface) 1 | OpenHarmony平台Surface扩展宏定义。 | 43 | [VK_OHOS_SURFACE_SPEC_VERSION](#vk_ohos_surface_spec_version) 1 | OpenHarmony平台Surface扩展版本号。 | 44 | [VK_OHOS_SURFACE_EXTENSION_NAME](#vk_ohos_surface_extension_name) "VK_OHOS_surface" | OpenHarmony平台Surface扩展名。 | 45 | [VK_OHOS_external_memory](#vk_ohos_external_memory) 1 | OpenHarmony平台external_memory扩展宏定义。 | 46 | [VK_OHOS_EXTERNAL_MEMORY_SPEC_VERSION](#vk_ohos_external_memory_spec_version) 1 | OpenHarmony平台external_memory扩展版本号。 | 47 | [VK_OHOS_EXTERNAL_MEMORY_EXTENSION_NAME](#vk_ohos_external_memory_extension_name) "VK_OHOS_external_memory" | OpenHarmony平台external_memory扩展名。 | 48 49 50 ### 类型定义 51 52 | 名称 | 描述 | 53 | -------- | -------- | 54 | [OHNativeWindow](#ohnativewindow) | OH本地窗口。 | 55 | [VkSurfaceCreateFlagsOHOS](#vksurfacecreateflagsohos) | 用于Vulkan Surface创建时使用到的VkFlags类型位掩码,预留的标志类型。 | 56 | [VkSurfaceCreateInfoOHOS](#vksurfacecreateinfoohos) | 包含创建Vulkan Surface时必要的参数。 | 57 | 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的函数指针定义。 | 58 | [VkNativeBufferUsageOHOS](#vknativebufferusageohos) | 提供OpenHarmony NativeBuffer用途的说明。 | 59 | [VkNativeBufferPropertiesOHOS](#vknativebufferpropertiesohos) | 包含了NativeBuffer的属性。 | 60 | [VkNativeBufferFormatPropertiesOHOS](#vknativebufferformatpropertiesohos) | 包含了NativeBuffer的一些格式属性。 | 61 | [VkImportNativeBufferInfoOHOS](#vkimportnativebufferinfoohos) | 包含了OH_NativeBuffer结构体的指针。 | 62 | [VkMemoryGetNativeBufferInfoOHOS](#vkmemorygetnativebufferinfoohos) | 用于从Vulkan内存中获取OH_NativeBuffer。 | 63 | [VkExternalFormatOHOS](#vkexternalformatohos) | 表示外部定义的格式标识符。 | 64 | 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属性的函数指针定义。 | 65 | 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的函数指针定义。 | 66 67 68 ### 函数 69 70 | 名称 | 描述 | 71 | -------- | -------- | 72 | [vkCreateSurfaceOHOS](#vkcreatesurfaceohos) (VkInstance instance, const VkSurfaceCreateInfoOHOS \*pCreateInfo, const VkAllocationCallbacks \*pAllocator, VkSurfaceKHR \*pSurface) | 创建Vulkan Surface。 | 73 | [vkGetNativeBufferPropertiesOHOS](#vkgetnativebufferpropertiesohos) (VkDevice device, const struct OH_NativeBuffer \*buffer, VkNativeBufferPropertiesOHOS \*pProperties) | 获取OH_NativeBuffer属性。 | 74 | [vkGetMemoryNativeBufferOHOS](#vkgetmemorynativebufferohos) (VkDevice device, const VkMemoryGetNativeBufferInfoOHOS \*pInfo, struct OH_NativeBuffer \*\*pBuffer) | 获取OH_NativeBuffer。 | 75 76 77 ### 变量 78 79 | 名称 | 描述 | 80 | -------- | -------- | 81 | [VkSurfaceCreateInfoOHOS::sType](#stype-17) | 结构体类型。 | 82 | [VkSurfaceCreateInfoOHOS::pNext](#pnext-17) | 下一级结构体指针。 | 83 | [VkSurfaceCreateInfoOHOS::flags](#flags) | 预留的标志类型参数。 | 84 | [VkSurfaceCreateInfoOHOS::window](#window) | OHNativeWindow指针。 | 85 | [VkNativeBufferUsageOHOS::sType](#stype-27) | 结构体类型。 | 86 | [VkNativeBufferUsageOHOS::pNext](#pnext-27) | 下一级结构体指针。 | 87 | [VkNativeBufferUsageOHOS::OHOSNativeBufferUsage](#ohosnativebufferusage) | NativeBuffer的用途说明。 | 88 | [VkNativeBufferPropertiesOHOS::sType](#stype-37) | 结构体类型。 | 89 | [VkNativeBufferPropertiesOHOS::pNext](#pnext-37) | 下一级结构体指针。 | 90 | [VkNativeBufferPropertiesOHOS::allocationSize](#allocationsize) | 占用的内存大小。 | 91 | [VkNativeBufferPropertiesOHOS::memoryTypeBits](#memorytypebits) | 内存类型。 | 92 | [VkNativeBufferFormatPropertiesOHOS::sType](#stype-47) | 结构体类型。 | 93 | [VkNativeBufferFormatPropertiesOHOS::pNext](#pnext-47) | 下一级结构体指针。 | 94 | [VkNativeBufferFormatPropertiesOHOS::format](#format) | 格式说明。 | 95 | [VkNativeBufferFormatPropertiesOHOS::externalFormat](#externalformat-12) | 外部定义的格式标识符。 | 96 | [VkNativeBufferFormatPropertiesOHOS::formatFeatures](#formatfeatures) | 描述了与externalFormat对应的能力。 | 97 | [VkNativeBufferFormatPropertiesOHOS::samplerYcbcrConversionComponents](#samplerycbcrconversioncomponents) | 表示一组VkComponentSwizzle。 | 98 | [VkNativeBufferFormatPropertiesOHOS::suggestedYcbcrModel](#suggestedycbcrmodel) | 色彩模型。 | 99 | [VkNativeBufferFormatPropertiesOHOS::suggestedYcbcrRange](#suggestedycbcrrange) | 色彩数值范围。 | 100 | [VkNativeBufferFormatPropertiesOHOS::suggestedXChromaOffset](#suggestedxchromaoffset) | X色度偏移。 | 101 | [VkNativeBufferFormatPropertiesOHOS::suggestedYChromaOffset](#suggestedychromaoffset) | Y色度偏移。 | 102 | [VkImportNativeBufferInfoOHOS::sType](#stype-57) | 结构体类型。 | 103 | [VkImportNativeBufferInfoOHOS::pNext](#pnext-57) | 下一级结构体指针。 | 104 | [VkImportNativeBufferInfoOHOS::buffer](#buffer) | OH_NativeBuffer结构体的指针。 | 105 | [VkMemoryGetNativeBufferInfoOHOS::sType](#stype-67) | 结构体类型。 | 106 | [VkMemoryGetNativeBufferInfoOHOS::pNext](#pnext-67) | 下一级结构体指针。 | 107 | [VkMemoryGetNativeBufferInfoOHOS::memory](#memory) | VkDeviceMemory对象。 | 108 | [VkExternalFormatOHOS::sType](#stype-77) | 结构体类型。 | 109 | [VkExternalFormatOHOS::pNext](#pnext-77) | 下一级结构体指针。 | 110 | [VkExternalFormatOHOS::externalFormat](#externalformat-22) | 外部定义的格式标识符。 | 111 112 113 ## 宏定义说明 114 115 116 ### VK_OHOS_external_memory 117 118 119 ``` 120 #define VK_OHOS_external_memory 1 121 ``` 122 123 **描述:** 124 125 OpenHarmony平台external_memory扩展宏定义。 126 127 128 ### VK_OHOS_EXTERNAL_MEMORY_EXTENSION_NAME 129 130 131 ``` 132 #define VK_OHOS_EXTERNAL_MEMORY_EXTENSION_NAME "VK_OHOS_external_memory" 133 ``` 134 135 **描述:** 136 137 OpenHarmony平台external_memory扩展名。 138 139 140 ### VK_OHOS_EXTERNAL_MEMORY_SPEC_VERSION 141 142 143 ``` 144 #define VK_OHOS_EXTERNAL_MEMORY_SPEC_VERSION 1 145 ``` 146 147 **描述:** 148 149 OpenHarmony平台external_memory扩展版本号。 150 151 152 ### VK_OHOS_surface 153 154 155 ``` 156 #define VK_OHOS_surface 1 157 ``` 158 159 **描述:** 160 161 OpenHarmony平台Surface扩展宏定义。 162 163 164 ### VK_OHOS_SURFACE_EXTENSION_NAME 165 166 167 ``` 168 #define VK_OHOS_SURFACE_EXTENSION_NAME "VK_OHOS_surface" 169 ``` 170 171 **描述:** 172 173 OpenHarmony平台Surface扩展名。 174 175 176 ### VK_OHOS_SURFACE_SPEC_VERSION 177 178 179 ``` 180 #define VK_OHOS_SURFACE_SPEC_VERSION 1 181 ``` 182 183 **描述:** 184 185 OpenHarmony平台Surface扩展版本号。 186 187 188 ## 类型定义说明 189 190 191 ### OHNativeWindow 192 193 194 ``` 195 typedef struct NativeWindow OHNativeWindow 196 ``` 197 198 **描述:** 199 200 OH本地窗口。 201 202 203 ### PFN_vkCreateSurfaceOHOS 204 205 206 ``` 207 typedef VkResult(VKAPI_PTR * PFN_vkCreateSurfaceOHOS) (VkInstance instance, const VkSurfaceCreateInfoOHOS *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface) 208 ``` 209 210 **描述:** 211 212 创建Vulkan Surface的函数指针定义。 213 214 \@syscap SystemCapability.Graphic.Vulkan 215 216 **参数:** 217 218 | 名称 | 描述 | 219 | -------- | -------- | 220 | instance | Vulkan实例。 | 221 | pCreateInfo | 一个VkSurfaceCreateInfoOHOS结构体的指针,包含创建Vulkan Surface时必要的参数。 | 222 | pAllocator | 用户自定义内存分配的回调函数,如果不需要可以传入NULL,接口会使用默认的内存分配函数。 | 223 | pSurface | 出参,用于接收创建的Vulkan Surface,类型为VkSurfaceKHR。 | 224 225 **返回:** 226 227 返回一个VkResult类型的错误码,返回值为VK_SUCCESS表示执行成功。 228 229 230 ### PFN_vkGetMemoryNativeBufferOHOS 231 232 233 ``` 234 typedef VkResult(VKAPI_PTR * PFN_vkGetMemoryNativeBufferOHOS) (VkDevice device, const VkMemoryGetNativeBufferInfoOHOS *pInfo, struct OH_NativeBuffer **pBuffer) 235 ``` 236 237 **描述:** 238 239 获取OH_NativeBuffer的函数指针定义。 240 241 \@syscap SystemCapability.Graphic.Vulkan 242 243 **参数:** 244 245 | 名称 | 描述 | 246 | -------- | -------- | 247 | device | VkDevice对象。 | 248 | pInfo | VkMemoryGetNativeBufferInfoOHOS结构体对象。 | 249 | pBuffer | 用于接收获取到的OH_NativeBuffer。 | 250 251 **返回:** 252 253 返回一个VkResult类型的错误码,返回值为VK_SUCCESS表示执行成功。 254 255 256 ### PFN_vkGetNativeBufferPropertiesOHOS 257 258 259 ``` 260 typedef VkResult(VKAPI_PTR * PFN_vkGetNativeBufferPropertiesOHOS) (VkDevice device, const struct OH_NativeBuffer *buffer, VkNativeBufferPropertiesOHOS *pProperties) 261 ``` 262 263 **描述:** 264 265 获取OH_NativeBuffer属性的函数指针定义。 266 267 \@syscap SystemCapability.Graphic.Vulkan 268 269 **参数:** 270 271 | 名称 | 描述 | 272 | -------- | -------- | 273 | device | VkDevice对象。 | 274 | buffer | OH_NativeBuffer结构体指针。 | 275 | pProperties | 用于接收OH_NativeBuffer属性的结构体。 | 276 277 **返回:** 278 279 返回一个VkResult类型的错误码,返回值为VK_SUCCESS表示执行成功。 280 281 282 ### VkExternalFormatOHOS 283 284 285 ``` 286 typedef struct VkExternalFormatOHOS VkExternalFormatOHOS 287 ``` 288 289 **描述:** 290 291 表示外部定义的格式标识符。 292 293 294 ### VkImportNativeBufferInfoOHOS 295 296 297 ``` 298 typedef struct VkImportNativeBufferInfoOHOS VkImportNativeBufferInfoOHOS 299 ``` 300 301 **描述:** 302 303 包含了OH_NativeBuffer结构体的指针。 304 305 306 ### VkMemoryGetNativeBufferInfoOHOS 307 308 309 ``` 310 typedef struct VkMemoryGetNativeBufferInfoOHOS VkMemoryGetNativeBufferInfoOHOS 311 ``` 312 313 **描述:** 314 315 用于从Vulkan内存中获取OH_NativeBuffer。 316 317 318 ### VkNativeBufferFormatPropertiesOHOS 319 320 321 ``` 322 typedef struct VkNativeBufferFormatPropertiesOHOS VkNativeBufferFormatPropertiesOHOS 323 ``` 324 325 **描述:** 326 327 包含了NativeBuffer的一些格式属性。 328 329 330 ### VkNativeBufferPropertiesOHOS 331 332 333 ``` 334 typedef struct VkNativeBufferPropertiesOHOS VkNativeBufferPropertiesOHOS 335 ``` 336 337 **描述:** 338 339 包含了NativeBuffer的属性。 340 341 342 ### VkNativeBufferUsageOHOS 343 344 345 ``` 346 typedef struct VkNativeBufferUsageOHOS VkNativeBufferUsageOHOS 347 ``` 348 349 **描述:** 350 351 提供OpenHarmony NativeBuffer用途的说明。 352 353 354 ### VkSurfaceCreateFlagsOHOS 355 356 357 ``` 358 typedef VkFlags VkSurfaceCreateFlagsOHOS 359 ``` 360 361 **描述:** 362 363 用于Vulkan Surface创建时使用到的VkFlags类型位掩码,预留的标志类型。 364 365 366 ### VkSurfaceCreateInfoOHOS 367 368 369 ``` 370 typedef struct VkSurfaceCreateInfoOHOS VkSurfaceCreateInfoOHOS 371 ``` 372 373 **描述:** 374 375 包含创建Vulkan Surface时必要的参数。 376 377 378 ## 函数说明 379 380 381 ### vkCreateSurfaceOHOS() 382 383 384 ``` 385 VKAPI_ATTR VkResult VKAPI_CALL vkCreateSurfaceOHOS (VkInstance instance, const VkSurfaceCreateInfoOHOS * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkSurfaceKHR * pSurface ) 386 ``` 387 388 **描述:** 389 390 创建Vulkan Surface。 391 392 \@syscap SystemCapability.Graphic.Vulkan 393 394 **参数:** 395 396 | 名称 | 描述 | 397 | -------- | -------- | 398 | instance | Vulkan实例。 | 399 | pCreateInfo | 一个VkSurfaceCreateInfoOHOS结构体的指针,包含创建Vulkan Surface时必要的参数。 | 400 | pAllocator | 用户自定义内存分配的回调函数,如果不需要可以传入NULL,接口会使用默认的内存分配函数。 | 401 | pSurface | 出参,用于接收创建的Vulkan Surface,类型为VkSurfaceKHR。 | 402 403 **返回:** 404 405 返回一个VkResult类型的错误码,返回值为VK_SUCCESS表示执行成功。 406 407 408 ### vkGetMemoryNativeBufferOHOS() 409 410 411 ``` 412 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryNativeBufferOHOS (VkDevice device, const VkMemoryGetNativeBufferInfoOHOS * pInfo, struct OH_NativeBuffer ** pBuffer ) 413 ``` 414 415 **描述:** 416 417 获取OH_NativeBuffer。 418 419 \@syscap SystemCapability.Graphic.Vulkan 420 421 **参数:** 422 423 | 名称 | 描述 | 424 | -------- | -------- | 425 | device | VkDevice对象。 | 426 | pInfo | VkMemoryGetNativeBufferInfoOHOS结构体对象。 | 427 | pBuffer | 用于接收获取到的OH_NativeBuffer。 | 428 429 **返回:** 430 431 返回一个VkResult类型的错误码,返回值为VK_SUCCESS表示执行成功。 432 433 434 ### vkGetNativeBufferPropertiesOHOS() 435 436 437 ``` 438 VKAPI_ATTR VkResult VKAPI_CALL vkGetNativeBufferPropertiesOHOS (VkDevice device, const struct OH_NativeBuffer * buffer, VkNativeBufferPropertiesOHOS * pProperties ) 439 ``` 440 441 **描述:** 442 443 获取OH_NativeBuffer属性。 444 445 \@syscap SystemCapability.Graphic.Vulkan 446 447 **参数:** 448 449 | 名称 | 描述 | 450 | -------- | -------- | 451 | device | VkDevice对象。 | 452 | buffer | OH_NativeBuffer结构体指针。 | 453 | pProperties | 用于接收OH_NativeBuffer属性的结构体。 | 454 455 **返回:** 456 457 返回一个VkResult类型的错误码,返回值为VK_SUCCESS表示执行成功。 458 459 460 ## 变量说明 461 462 463 ### allocationSize 464 465 466 ``` 467 VkDeviceSize VkNativeBufferPropertiesOHOS::allocationSize 468 ``` 469 470 **描述:** 471 472 占用的内存大小。 473 474 475 ### buffer 476 477 478 ``` 479 struct OH_NativeBuffer* VkImportNativeBufferInfoOHOS::buffer 480 ``` 481 482 **描述:** 483 484 OH_NativeBuffer结构体的指针。 485 486 487 ### externalFormat [1/2] 488 489 490 ``` 491 uint64_t VkNativeBufferFormatPropertiesOHOS::externalFormat 492 ``` 493 494 **描述:** 495 496 外部定义的格式标识符。 497 498 499 ### externalFormat [2/2] 500 501 502 ``` 503 uint64_t VkExternalFormatOHOS::externalFormat 504 ``` 505 506 **描述:** 507 508 外部定义的格式标识符。 509 510 511 ### flags 512 513 514 ``` 515 VkSurfaceCreateFlagsOHOS VkSurfaceCreateInfoOHOS::flags 516 ``` 517 518 **描述:** 519 520 预留的标志类型参数。 521 522 523 ### format 524 525 526 ``` 527 VkFormat VkNativeBufferFormatPropertiesOHOS::format 528 ``` 529 530 **描述:** 531 532 格式说明。 533 534 535 ### formatFeatures 536 537 538 ``` 539 VkFormatFeatureFlags VkNativeBufferFormatPropertiesOHOS::formatFeatures 540 ``` 541 542 **描述:** 543 544 描述了与externalFormat对应的能力。 545 546 547 ### memory 548 549 550 ``` 551 VkDeviceMemory VkMemoryGetNativeBufferInfoOHOS::memory 552 ``` 553 554 **描述:** 555 556 VkDeviceMemory对象。 557 558 559 ### memoryTypeBits 560 561 562 ``` 563 uint32_t VkNativeBufferPropertiesOHOS::memoryTypeBits 564 ``` 565 566 **描述:** 567 568 内存类型。 569 570 571 ### OHOSNativeBufferUsage 572 573 574 ``` 575 uint64_t VkNativeBufferUsageOHOS::OHOSNativeBufferUsage 576 ``` 577 578 **描述:** 579 580 NativeBuffer的用途说明。 581 582 583 ### pNext [1/7] 584 585 586 ``` 587 const void* VkSurfaceCreateInfoOHOS::pNext 588 ``` 589 590 **描述:** 591 592 下一级结构体指针。 593 594 595 ### pNext [2/7] 596 597 598 ``` 599 void* VkNativeBufferUsageOHOS::pNext 600 ``` 601 602 **描述:** 603 604 下一级结构体指针。 605 606 607 ### pNext [3/7] 608 609 610 ``` 611 void* VkNativeBufferPropertiesOHOS::pNext 612 ``` 613 614 **描述:** 615 616 下一级结构体指针。 617 618 619 ### pNext [4/7] 620 621 622 ``` 623 void* VkNativeBufferFormatPropertiesOHOS::pNext 624 ``` 625 626 **描述:** 627 628 下一级结构体指针。 629 630 631 ### pNext [5/7] 632 633 634 ``` 635 const void* VkImportNativeBufferInfoOHOS::pNext 636 ``` 637 638 **描述:** 639 640 下一级结构体指针。 641 642 643 ### pNext [6/7] 644 645 646 ``` 647 const void* VkMemoryGetNativeBufferInfoOHOS::pNext 648 ``` 649 650 **描述:** 651 652 下一级结构体指针。 653 654 655 ### pNext [7/7] 656 657 658 ``` 659 void* VkExternalFormatOHOS::pNext 660 ``` 661 662 **描述:** 663 664 下一级结构体指针。 665 666 667 ### samplerYcbcrConversionComponents 668 669 670 ``` 671 VkComponentMapping VkNativeBufferFormatPropertiesOHOS::samplerYcbcrConversionComponents 672 ``` 673 674 **描述:** 675 676 表示一组VkComponentSwizzle。 677 678 679 ### sType [1/7] 680 681 682 ``` 683 VkStructureType VkSurfaceCreateInfoOHOS::sType 684 ``` 685 686 **描述:** 687 688 结构体类型。 689 690 691 ### sType [2/7] 692 693 694 ``` 695 VkStructureType VkNativeBufferUsageOHOS::sType 696 ``` 697 698 **描述:** 699 700 结构体类型。 701 702 703 ### sType [3/7] 704 705 706 ``` 707 VkStructureType VkNativeBufferPropertiesOHOS::sType 708 ``` 709 710 **描述:** 711 712 结构体类型。 713 714 715 ### sType [4/7] 716 717 718 ``` 719 VkStructureType VkNativeBufferFormatPropertiesOHOS::sType 720 ``` 721 722 **描述:** 723 724 结构体类型。 725 726 727 ### sType [5/7] 728 729 730 ``` 731 VkStructureType VkImportNativeBufferInfoOHOS::sType 732 ``` 733 734 **描述:** 735 736 结构体类型。 737 738 739 ### sType [6/7] 740 741 742 ``` 743 VkStructureType VkMemoryGetNativeBufferInfoOHOS::sType 744 ``` 745 746 **描述:** 747 748 结构体类型。 749 750 751 ### sType [7/7] 752 753 754 ``` 755 VkStructureType VkExternalFormatOHOS::sType 756 ``` 757 758 **描述:** 759 760 结构体类型。 761 762 763 ### suggestedXChromaOffset 764 765 766 ``` 767 VkChromaLocation VkNativeBufferFormatPropertiesOHOS::suggestedXChromaOffset 768 ``` 769 770 **描述:** 771 772 X色度偏移。 773 774 775 ### suggestedYcbcrModel 776 777 778 ``` 779 VkSamplerYcbcrModelConversion VkNativeBufferFormatPropertiesOHOS::suggestedYcbcrModel 780 ``` 781 782 **描述:** 783 784 色彩模型。 785 786 787 ### suggestedYcbcrRange 788 789 790 ``` 791 VkSamplerYcbcrRange VkNativeBufferFormatPropertiesOHOS::suggestedYcbcrRange 792 ``` 793 794 **描述:** 795 796 色彩数值范围。 797 798 799 ### suggestedYChromaOffset 800 801 802 ``` 803 VkChromaLocation VkNativeBufferFormatPropertiesOHOS::suggestedYChromaOffset 804 ``` 805 806 **描述:** 807 808 Y色度偏移。 809 810 811 ### window 812 813 814 ``` 815 OHNativeWindow* VkSurfaceCreateInfoOHOS::window 816 ``` 817 818 **描述:** 819 820 OHNativeWindow指针。 821