• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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/>引用文件:&lt;vulkan/vulkan.h&gt;<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