1# Vulkan Module
2
3
4## Overview
5
6The **Vulkan** module provides Vulkan capabilities extended by OpenHarmony. It provides extended APIs for creating a Vulkan surface using **OHNativeWindow** and obtaining **OH_NativeBuffer **and **OH_NativeBuffer** properties.
7
8\@syscap SystemCapability.Graphic.Vulkan
9
10**Since**
11
1210
13
14
15## Summary
16
17
18### Files
19
20| Name| Description|
21| -------- | -------- |
22| [vulkan_ohos.h](vulkan__ohos_8h.md) | Declares the Vulkan interfaces extended by OpenHarmony.<br>File to include: &lt;vulkan/vulkan.h&gt;<br>Library: libvulkan.so |
23
24
25### Structs
26
27| Name| Description|
28| -------- | -------- |
29| [VkSurfaceCreateInfoOHOS](_vk_surface_create_info_o_h_o_s.md) | Defines the parameters required for creating a Vulkan surface.|
30| [VkNativeBufferUsageOHOS](_vk_native_buffer_usage_o_h_o_s.md) | Defines the usage of a **NativeBuffer**.|
31| [VkNativeBufferPropertiesOHOS](_vk_native_buffer_properties_o_h_o_s.md) | Defines the properties of a **NativeBuffer**.|
32| [VkNativeBufferFormatPropertiesOHOS](_vk_native_buffer_format_properties_o_h_o_s.md) | Defines the format properties of a **NativeBuffer**.|
33| [VkImportNativeBufferInfoOHOS](_vk_import_native_buffer_info_o_h_o_s.md) | Defines the pointer to an **OH_NativeBuffer** struct.|
34| [VkMemoryGetNativeBufferInfoOHOS](_vk_memory_get_native_buffer_info_o_h_o_s.md) | Defines a struct used to obtain an **OH_NativeBuffer** from the Vulkan memory.|
35| [VkExternalFormatOHOS](_vk_external_format_o_h_o_s.md) | Defines an externally defined format.|
36
37
38### Macros
39
40| Name| Description|
41| -------- | -------- |
42| [VK_OHOS_surface](#vk_ohos_surface)   1 | Surface extension macro definition of OpenHarmony.|
43| [VK_OHOS_SURFACE_SPEC_VERSION](#vk_ohos_surface_spec_version)   1 | Surface extension version of OpenHarmony.|
44| [VK_OHOS_SURFACE_EXTENSION_NAME](#vk_ohos_surface_extension_name)   "VK_OHOS_surface" | Surface extension name of OpenHarmony.|
45| [VK_OHOS_external_memory](#vk_ohos_external_memory)   1 | External memory extension macro definition of OpenHarmony.|
46| [VK_OHOS_EXTERNAL_MEMORY_SPEC_VERSION](#vk_ohos_external_memory_spec_version)   1 | External memory extension version of OpenHarmony.|
47| [VK_OHOS_EXTERNAL_MEMORY_EXTENSION_NAME](#vk_ohos_external_memory_extension_name)   "VK_OHOS_external_memory" | External memory extension name of OpenHarmony.|
48
49
50### Types
51
52| Name| Description|
53| -------- | -------- |
54| [OHNativeWindow](#ohnativewindow) | Defines an **OHNativeWindow**.|
55| [VkSurfaceCreateFlagsOHOS](#vksurfacecreateflagsohos) | Defines the bit mask of the VkFlags type used for the creation of a Vulkan surface. It is a reserved flag type.|
56| [VkSurfaceCreateInfoOHOS](#vksurfacecreateinfoohos) | Defines the parameters required for creating a 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) | Defines the function pointer for creating a Vulkan surface.|
58| [VkNativeBufferUsageOHOS](#vknativebufferusageohos) | Defines the usage of a **NativeBuffer**.|
59| [VkNativeBufferPropertiesOHOS](#vknativebufferpropertiesohos) | Defines the properties of a **NativeBuffer**.|
60| [VkNativeBufferFormatPropertiesOHOS](#vknativebufferformatpropertiesohos) | Defines the format properties of a **NativeBuffer**.|
61| [VkImportNativeBufferInfoOHOS](#vkimportnativebufferinfoohos) | Defines the pointer to an **OH_NativeBuffer** struct.|
62| [VkMemoryGetNativeBufferInfoOHOS](#vkmemorygetnativebufferinfoohos) | Defines a struct used to obtain an **OH_NativeBuffer** from the Vulkan memory.|
63| [VkExternalFormatOHOS](#vkexternalformatohos) | Defines an externally defined format.|
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) | Defines a function pointer used to obtain **OH_NativeBuffer** properties.|
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) | Defines a function pointer used to obtain an **OH_NativeBuffer** instance.|
66
67
68### Functions
69
70| Name| Description|
71| -------- | -------- |
72| [vkCreateSurfaceOHOS](#vkcreatesurfaceohos) (VkInstance instance, const VkSurfaceCreateInfoOHOS \*pCreateInfo, const VkAllocationCallbacks \*pAllocator, VkSurfaceKHR \*pSurface) | Creates a Vulkan surface.|
73| [vkGetNativeBufferPropertiesOHOS](#vkgetnativebufferpropertiesohos) (VkDevice device, const struct OH_NativeBuffer \*buffer, VkNativeBufferPropertiesOHOS \*pProperties) | Obtains the properties of an **OH_NativeBuffer** instance.|
74| [vkGetMemoryNativeBufferOHOS](#vkgetmemorynativebufferohos) (VkDevice device, const VkMemoryGetNativeBufferInfoOHOS \*pInfo, struct OH_NativeBuffer \*\*pBuffer) | Obtains an **OH_NativeBuffer** instance.|
75
76
77### Variables
78
79| Name| Description|
80| -------- | -------- |
81| [VkSurfaceCreateInfoOHOS::sType](#stype-17) | Struct type.|
82| [VkSurfaceCreateInfoOHOS::pNext](#pnext-17) | Pointer to the next-level struct.|
83| [VkSurfaceCreateInfoOHOS::flags](#flags) | Reserved flag type.|
84| [VkSurfaceCreateInfoOHOS::window](#window) | Pointer to an **OHNativeWindow** instance.|
85| [VkNativeBufferUsageOHOS::sType](#stype-27) | Struct type.|
86| [VkNativeBufferUsageOHOS::pNext](#pnext-27) | Pointer to the next-level struct.|
87| [VkNativeBufferUsageOHOS::OHOSNativeBufferUsage](#ohosnativebufferusage) | Usage of a **NativeBuffer**.|
88| [VkNativeBufferPropertiesOHOS::sType](#stype-37) | Struct type.|
89| [VkNativeBufferPropertiesOHOS::pNext](#pnext-37) | Pointer to the next-level struct.|
90| [VkNativeBufferPropertiesOHOS::allocationSize](#allocationsize) | Size of the occupied memory.|
91| [VkNativeBufferPropertiesOHOS::memoryTypeBits](#memorytypebits) | Memory type.|
92| [VkNativeBufferFormatPropertiesOHOS::sType](#stype-47) | Struct type.|
93| [VkNativeBufferFormatPropertiesOHOS::pNext](#pnext-47) | Pointer to the next-level struct.|
94| [VkNativeBufferFormatPropertiesOHOS::format](#format) | Format properties.|
95| [VkNativeBufferFormatPropertiesOHOS::externalFormat](#externalformat-12) | Externally defined format.|
96| [VkNativeBufferFormatPropertiesOHOS::formatFeatures](#formatfeatures) | Features of the externally defined format.|
97| [VkNativeBufferFormatPropertiesOHOS::samplerYcbcrConversionComponents](#samplerycbcrconversioncomponents) | A group of VkComponentSwizzles.|
98| [VkNativeBufferFormatPropertiesOHOS::suggestedYcbcrModel](#suggestedycbcrmodel) | Color model.|
99| [VkNativeBufferFormatPropertiesOHOS::suggestedYcbcrRange](#suggestedycbcrrange) | Color value range.|
100| [VkNativeBufferFormatPropertiesOHOS::suggestedXChromaOffset](#suggestedxchromaoffset) | X chrominance offset.|
101| [VkNativeBufferFormatPropertiesOHOS::suggestedYChromaOffset](#suggestedychromaoffset) | Y chrominance offset.|
102| [VkImportNativeBufferInfoOHOS::sType](#stype-57) | Struct type.|
103| [VkImportNativeBufferInfoOHOS::pNext](#pnext-57) | Pointer to the next-level struct.|
104| [VkImportNativeBufferInfoOHOS::buffer](#buffer) | Pointer to an **OH_NativeBuffer** struct.|
105| [VkMemoryGetNativeBufferInfoOHOS::sType](#stype-67) | Struct type.|
106| [VkMemoryGetNativeBufferInfoOHOS::pNext](#pnext-67) | Pointer to the next-level struct.|
107| [VkMemoryGetNativeBufferInfoOHOS::memory](#memory) | **VkDeviceMemory** instance.|
108| [VkExternalFormatOHOS::sType](#stype-77) | Struct type.|
109| [VkExternalFormatOHOS::pNext](#pnext-77) | Pointer to the next-level struct.|
110| [VkExternalFormatOHOS::externalFormat](#externalformat-22) | Externally defined format.|
111
112
113## Macro Description
114
115
116### VK_OHOS_external_memory
117
118
119```
120#define VK_OHOS_external_memory   1
121```
122
123**Description**
124
125External memory extension macro definition of OpenHarmony.
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**Description**
136
137External memory extension name of OpenHarmony.
138
139
140### VK_OHOS_EXTERNAL_MEMORY_SPEC_VERSION
141
142
143```
144#define VK_OHOS_EXTERNAL_MEMORY_SPEC_VERSION   1
145```
146
147**Description**
148
149External memory extension version of OpenHarmony.
150
151
152### VK_OHOS_surface
153
154
155```
156#define VK_OHOS_surface   1
157```
158
159**Description**
160
161Surface extension macro definition of OpenHarmony.
162
163
164### VK_OHOS_SURFACE_EXTENSION_NAME
165
166
167```
168#define VK_OHOS_SURFACE_EXTENSION_NAME   "VK_OHOS_surface"
169```
170
171**Description**
172
173Surface extension name of OpenHarmony.
174
175
176### VK_OHOS_SURFACE_SPEC_VERSION
177
178
179```
180#define VK_OHOS_SURFACE_SPEC_VERSION   1
181```
182
183**Description**
184
185Surface extension version of OpenHarmony.
186
187
188## Type Description
189
190
191### OHNativeWindow
192
193
194```
195typedef struct NativeWindow OHNativeWindow
196```
197
198**Description**
199
200Defines an **OHNativeWindow**.
201
202
203### PFN_vkCreateSurfaceOHOS
204
205
206```
207typedef VkResult(VKAPI_PTR * PFN_vkCreateSurfaceOHOS) (VkInstance instance, const VkSurfaceCreateInfoOHOS *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
208```
209
210**Description**
211
212Defines the function pointer for creating a Vulkan surface.
213
214\@syscap SystemCapability.Graphic.Vulkan
215
216**Parameters**
217
218| Name| Description|
219| -------- | -------- |
220| instance | **Vulkan** instance.|
221| pCreateInfo | Pointer to the **VkSurfaceCreateInfoOHOS** struct, including the parameters required for creating a Vulkan surface.|
222| pAllocator | Pointer to a callback function for custom memory allocation. If custom memory allocation is not required, pass in **NULL**, and the default memory allocation function is used.|
223| pSurface | Pointer to the Vulkan surface created. The type is **VkSurfaceKHR**.|
224
225**Returns**
226
227Returns **VK_SUCCESS** if the execution is successful; returns an error code of the VkResult type otherwise.
228
229
230### PFN_vkGetMemoryNativeBufferOHOS
231
232
233```
234typedef VkResult(VKAPI_PTR * PFN_vkGetMemoryNativeBufferOHOS) (VkDevice device, const VkMemoryGetNativeBufferInfoOHOS *pInfo, struct OH_NativeBuffer **pBuffer)
235```
236
237**Description**
238
239Defines a function pointer used to obtain an **OH_NativeBuffer** instance.
240
241\@syscap SystemCapability.Graphic.Vulkan
242
243**Parameters**
244
245| Name| Description|
246| -------- | -------- |
247| device | **VkDevice** instance.|
248| pInfo | Pointer to a **VkMemoryGetNativeBufferInfoOHOS** struct.|
249| pBuffer | Pointer to the **OH_NativeBuffer** obtained.|
250
251**Returns**
252
253Returns **VK_SUCCESS** if the execution is successful; returns an error code of the VkResult type otherwise.
254
255
256### PFN_vkGetNativeBufferPropertiesOHOS
257
258
259```
260typedef VkResult(VKAPI_PTR * PFN_vkGetNativeBufferPropertiesOHOS) (VkDevice device, const struct OH_NativeBuffer *buffer, VkNativeBufferPropertiesOHOS *pProperties)
261```
262
263**Description**
264
265Defines a function pointer used to obtain **OH_NativeBuffer** properties.
266
267\@syscap SystemCapability.Graphic.Vulkan
268
269**Parameters**
270
271| Name| Description|
272| -------- | -------- |
273| device | **VkDevice** instance.|
274| buffer | Pointer to an **OH_NativeBuffer** struct.|
275| pProperties | Pointer to the struct holding the properties of **OH_NativeBuffer**.|
276
277**Returns**
278
279Returns **VK_SUCCESS** if the execution is successful; returns an error code of the VkResult type otherwise.
280
281
282### VkExternalFormatOHOS
283
284
285```
286typedef struct VkExternalFormatOHOS VkExternalFormatOHOS
287```
288
289**Description**
290
291Defines an externally defined format.
292
293
294### VkImportNativeBufferInfoOHOS
295
296
297```
298typedef struct VkImportNativeBufferInfoOHOS VkImportNativeBufferInfoOHOS
299```
300
301**Description**
302
303Defines the pointer to an **OH_NativeBuffer** struct.
304
305
306### VkMemoryGetNativeBufferInfoOHOS
307
308
309```
310typedef struct VkMemoryGetNativeBufferInfoOHOS VkMemoryGetNativeBufferInfoOHOS
311```
312
313**Description**
314
315Defines a struct used to obtain an **OH_NativeBuffer** from the Vulkan memory.
316
317
318### VkNativeBufferFormatPropertiesOHOS
319
320
321```
322typedef struct VkNativeBufferFormatPropertiesOHOS VkNativeBufferFormatPropertiesOHOS
323```
324
325**Description**
326
327Defines the format properties of a **NativeBuffer**.
328
329
330### VkNativeBufferPropertiesOHOS
331
332
333```
334typedef struct VkNativeBufferPropertiesOHOS VkNativeBufferPropertiesOHOS
335```
336
337**Description**
338
339Defines the properties of a **NativeBuffer**.
340
341
342### VkNativeBufferUsageOHOS
343
344
345```
346typedef struct VkNativeBufferUsageOHOS VkNativeBufferUsageOHOS
347```
348
349**Description**
350
351Defines the usage of a **NativeBuffer**.
352
353
354### VkSurfaceCreateFlagsOHOS
355
356
357```
358typedef VkFlags VkSurfaceCreateFlagsOHOS
359```
360
361**Description**
362
363Defines the bit mask of the VkFlags type used for the creation of a Vulkan surface. It is a reserved flag type.
364
365
366### VkSurfaceCreateInfoOHOS
367
368
369```
370typedef struct VkSurfaceCreateInfoOHOS VkSurfaceCreateInfoOHOS
371```
372
373**Description**
374
375Defines the parameters required for creating a Vulkan surface.
376
377
378## Function Description
379
380
381### vkCreateSurfaceOHOS()
382
383
384```
385VKAPI_ATTR VkResult VKAPI_CALL vkCreateSurfaceOHOS (VkInstance instance, const VkSurfaceCreateInfoOHOS * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkSurfaceKHR * pSurface )
386```
387
388**Description**
389
390Creates a Vulkan surface.
391
392\@syscap SystemCapability.Graphic.Vulkan
393
394**Parameters**
395
396| Name| Description|
397| -------- | -------- |
398| instance | **Vulkan** instance.|
399| pCreateInfo | Pointer to the **VkSurfaceCreateInfoOHOS** struct, including the parameters required for creating a Vulkan surface.|
400| pAllocator | Pointer to a callback function for custom memory allocation. If custom memory allocation is not required, pass in **NULL**, and the default memory allocation function is used.|
401| pSurface | Pointer to the Vulkan surface created. The type is **VkSurfaceKHR**.|
402
403**Returns**
404
405Returns **VK_SUCCESS** if the execution is successful; returns an error code of the VkResult type otherwise.
406
407
408### vkGetMemoryNativeBufferOHOS()
409
410
411```
412VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryNativeBufferOHOS (VkDevice device, const VkMemoryGetNativeBufferInfoOHOS * pInfo, struct OH_NativeBuffer ** pBuffer )
413```
414
415**Description**
416
417Obtains an **OH_NativeBuffer** instance.
418
419\@syscap SystemCapability.Graphic.Vulkan
420
421**Parameters**
422
423| Name| Description|
424| -------- | -------- |
425| device | **VkDevice** instance.|
426| pInfo | Pointer to a **VkMemoryGetNativeBufferInfoOHOS** struct.|
427| pBuffer | Pointer to the **OH_NativeBuffer** obtained.|
428
429**Returns**
430
431Returns **VK_SUCCESS** if the execution is successful; returns an error code of the VkResult type otherwise.
432
433
434### vkGetNativeBufferPropertiesOHOS()
435
436
437```
438VKAPI_ATTR VkResult VKAPI_CALL vkGetNativeBufferPropertiesOHOS (VkDevice device, const struct OH_NativeBuffer * buffer, VkNativeBufferPropertiesOHOS * pProperties )
439```
440
441**Description**
442
443Obtains the properties of an **OH_NativeBuffer** instance.
444
445\@syscap SystemCapability.Graphic.Vulkan
446
447**Parameters**
448
449| Name| Description|
450| -------- | -------- |
451| device | **VkDevice** instance.|
452| buffer | Pointer to an **OH_NativeBuffer** struct.|
453| pProperties | Pointer to the struct holding the properties of **OH_NativeBuffer**.|
454
455**Returns**
456
457Returns **VK_SUCCESS** if the execution is successful; returns an error code of the VkResult type otherwise.
458
459
460## Variable Description
461
462
463### allocationSize
464
465
466```
467VkDeviceSize VkNativeBufferPropertiesOHOS::allocationSize
468```
469
470**Description**
471
472Size of the occupied memory.
473
474
475### buffer
476
477
478```
479struct OH_NativeBuffer* VkImportNativeBufferInfoOHOS::buffer
480```
481
482**Description**
483
484Pointer to an **OH_NativeBuffer** struct.
485
486
487### externalFormat [1/2]
488
489
490```
491uint64_t VkNativeBufferFormatPropertiesOHOS::externalFormat
492```
493
494**Description**
495
496Externally defined format.
497
498
499### externalFormat [2/2]
500
501
502```
503uint64_t VkExternalFormatOHOS::externalFormat
504```
505
506**Description**
507
508Externally defined format.
509
510
511### flags
512
513
514```
515VkSurfaceCreateFlagsOHOS VkSurfaceCreateInfoOHOS::flags
516```
517
518**Description**
519
520Reserved flag type.
521
522
523### format
524
525
526```
527VkFormat VkNativeBufferFormatPropertiesOHOS::format
528```
529
530**Description**
531
532Format properties.
533
534
535### formatFeatures
536
537
538```
539VkFormatFeatureFlags VkNativeBufferFormatPropertiesOHOS::formatFeatures
540```
541
542**Description**
543
544Features of the externally defined format.
545
546
547### memory
548
549
550```
551VkDeviceMemory VkMemoryGetNativeBufferInfoOHOS::memory
552```
553
554**Description**
555
556**VkDeviceMemory** instance.
557
558
559### memoryTypeBits
560
561
562```
563uint32_t VkNativeBufferPropertiesOHOS::memoryTypeBits
564```
565
566**Description**
567
568Memory type.
569
570
571### OHOSNativeBufferUsage
572
573
574```
575uint64_t VkNativeBufferUsageOHOS::OHOSNativeBufferUsage
576```
577
578**Description**
579
580Usage of a **NativeBuffer**.
581
582
583### pNext [1/7]
584
585
586```
587const void* VkSurfaceCreateInfoOHOS::pNext
588```
589
590**Description**
591
592Pointer to the next-level struct.
593
594
595### pNext [2/7]
596
597
598```
599void* VkNativeBufferUsageOHOS::pNext
600```
601
602**Description**
603
604Pointer to the next-level struct.
605
606
607### pNext [3/7]
608
609
610```
611void* VkNativeBufferPropertiesOHOS::pNext
612```
613
614**Description**
615
616Pointer to the next-level struct.
617
618
619### pNext [4/7]
620
621
622```
623void* VkNativeBufferFormatPropertiesOHOS::pNext
624```
625
626**Description**
627
628Pointer to the next-level struct.
629
630
631### pNext [5/7]
632
633
634```
635const void* VkImportNativeBufferInfoOHOS::pNext
636```
637
638**Description**
639
640Pointer to the next-level struct.
641
642
643### pNext [6/7]
644
645
646```
647const void* VkMemoryGetNativeBufferInfoOHOS::pNext
648```
649
650**Description**
651
652Pointer to the next-level struct.
653
654
655### pNext [7/7]
656
657
658```
659void* VkExternalFormatOHOS::pNext
660```
661
662**Description**
663
664Pointer to the next-level struct.
665
666
667### samplerYcbcrConversionComponents
668
669
670```
671VkComponentMapping VkNativeBufferFormatPropertiesOHOS::samplerYcbcrConversionComponents
672```
673
674**Description**
675
676A group of VkComponentSwizzles.
677
678
679### sType [1/7]
680
681
682```
683VkStructureType VkSurfaceCreateInfoOHOS::sType
684```
685
686**Description**
687
688Struct type.
689
690
691### sType [2/7]
692
693
694```
695VkStructureType VkNativeBufferUsageOHOS::sType
696```
697
698**Description**
699
700Struct type.
701
702
703### sType [3/7]
704
705
706```
707VkStructureType VkNativeBufferPropertiesOHOS::sType
708```
709
710**Description**
711
712Struct type.
713
714
715### sType [4/7]
716
717
718```
719VkStructureType VkNativeBufferFormatPropertiesOHOS::sType
720```
721
722**Description**
723
724Struct type.
725
726
727### sType [5/7]
728
729
730```
731VkStructureType VkImportNativeBufferInfoOHOS::sType
732```
733
734**Description**
735
736Struct type.
737
738
739### sType [6/7]
740
741
742```
743VkStructureType VkMemoryGetNativeBufferInfoOHOS::sType
744```
745
746**Description**
747
748Struct type.
749
750
751### sType [7/7]
752
753
754```
755VkStructureType VkExternalFormatOHOS::sType
756```
757
758**Description**
759
760Struct type.
761
762
763### suggestedXChromaOffset
764
765
766```
767VkChromaLocation VkNativeBufferFormatPropertiesOHOS::suggestedXChromaOffset
768```
769
770**Description**
771
772X chrominance offset.
773
774
775### suggestedYcbcrModel
776
777
778```
779VkSamplerYcbcrModelConversion VkNativeBufferFormatPropertiesOHOS::suggestedYcbcrModel
780```
781
782**Description**
783
784Color model.
785
786
787### suggestedYcbcrRange
788
789
790```
791VkSamplerYcbcrRange VkNativeBufferFormatPropertiesOHOS::suggestedYcbcrRange
792```
793
794**Description**
795
796Color value range.
797
798
799### suggestedYChromaOffset
800
801
802```
803VkChromaLocation VkNativeBufferFormatPropertiesOHOS::suggestedYChromaOffset
804```
805
806**Description**
807
808Y chrominance offset.
809
810
811### window
812
813
814```
815OHNativeWindow* VkSurfaceCreateInfoOHOS::window
816```
817
818**Description**
819
820Pointer to an **OHNativeWindow** instance.
821