1e41f4b71Sopenharmony_ci# Vulkan Capabilities
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci[Vulkan](https://www.vulkan.org/) is a set of 2D and 3D rendering APIs that feature cross-platform and high-performance. OpenHarmony now supports Vulkan v1.3.231.
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci## Supported Standard APIs
6e41f4b71Sopenharmony_ci
7e41f4b71Sopenharmony_ciThe table below lists the supported APIs of Vulkan v1.3.231.
8e41f4b71Sopenharmony_ci
9e41f4b71Sopenharmony_ci|Type|Symbol|
10e41f4b71Sopenharmony_ci| --- | --- | 
11e41f4b71Sopenharmony_ci|FUNC|vkAcquireNextImage2KHR|
12e41f4b71Sopenharmony_ci|FUNC|vkAcquireNextImageKHR|
13e41f4b71Sopenharmony_ci|FUNC|vkAllocateCommandBuffers|
14e41f4b71Sopenharmony_ci|FUNC|vkAllocateDescriptorSets|
15e41f4b71Sopenharmony_ci|FUNC|vkAllocateMemory|
16e41f4b71Sopenharmony_ci|FUNC|vkBeginCommandBuffer|
17e41f4b71Sopenharmony_ci|FUNC|vkBindBufferMemory|
18e41f4b71Sopenharmony_ci|FUNC|vkBindBufferMemory2|
19e41f4b71Sopenharmony_ci|FUNC|vkBindImageMemory|
20e41f4b71Sopenharmony_ci|FUNC|vkBindImageMemory2|
21e41f4b71Sopenharmony_ci|FUNC|vkCmdBeginQuery|
22e41f4b71Sopenharmony_ci|FUNC|vkCmdBeginRendering|
23e41f4b71Sopenharmony_ci|FUNC|vkCmdBeginRenderPass|
24e41f4b71Sopenharmony_ci|FUNC|vkCmdBeginRenderPass2|
25e41f4b71Sopenharmony_ci|FUNC|vkCmdBindDescriptorSets|
26e41f4b71Sopenharmony_ci|FUNC|vkCmdBindIndexBuffer|
27e41f4b71Sopenharmony_ci|FUNC|vkCmdBindPipeline|
28e41f4b71Sopenharmony_ci|FUNC|vkCmdBindVertexBuffers|
29e41f4b71Sopenharmony_ci|FUNC|vkCmdBindVertexBuffers2|
30e41f4b71Sopenharmony_ci|FUNC|vkCmdBlitImage|
31e41f4b71Sopenharmony_ci|FUNC|vkCmdBlitImage2|
32e41f4b71Sopenharmony_ci|FUNC|vkCmdClearAttachments|
33e41f4b71Sopenharmony_ci|FUNC|vkCmdClearColorImage|
34e41f4b71Sopenharmony_ci|FUNC|vkCmdClearDepthStencilImage|
35e41f4b71Sopenharmony_ci|FUNC|vkCmdCopyBuffer|
36e41f4b71Sopenharmony_ci|FUNC|vkCmdCopyBuffer2|
37e41f4b71Sopenharmony_ci|FUNC|vkCmdCopyBufferToImage|
38e41f4b71Sopenharmony_ci|FUNC|vkCmdCopyBufferToImage2|
39e41f4b71Sopenharmony_ci|FUNC|vkCmdCopyImage|
40e41f4b71Sopenharmony_ci|FUNC|vkCmdCopyImage2|
41e41f4b71Sopenharmony_ci|FUNC|vkCmdCopyImageToBuffer|
42e41f4b71Sopenharmony_ci|FUNC|vkCmdCopyImageToBuffer2|
43e41f4b71Sopenharmony_ci|FUNC|vkCmdCopyQueryPoolResults|
44e41f4b71Sopenharmony_ci|FUNC|vkCmdDispatch|
45e41f4b71Sopenharmony_ci|FUNC|vkCmdDispatchBase|
46e41f4b71Sopenharmony_ci|FUNC|vkCmdDispatchIndirect|
47e41f4b71Sopenharmony_ci|FUNC|vkCmdDraw|
48e41f4b71Sopenharmony_ci|FUNC|vkCmdDrawIndexed|
49e41f4b71Sopenharmony_ci|FUNC|vkCmdDrawIndexedIndirect|
50e41f4b71Sopenharmony_ci|FUNC|vkCmdDrawIndexedIndirectCount|
51e41f4b71Sopenharmony_ci|FUNC|vkCmdDrawIndirect|
52e41f4b71Sopenharmony_ci|FUNC|vkCmdDrawIndirectCount|
53e41f4b71Sopenharmony_ci|FUNC|vkCmdEndQuery|
54e41f4b71Sopenharmony_ci|FUNC|vkCmdEndRendering|
55e41f4b71Sopenharmony_ci|FUNC|vkCmdEndRenderPass|
56e41f4b71Sopenharmony_ci|FUNC|vkCmdEndRenderPass2|
57e41f4b71Sopenharmony_ci|FUNC|vkCmdExecuteCommands|
58e41f4b71Sopenharmony_ci|FUNC|vkCmdFillBuffer|
59e41f4b71Sopenharmony_ci|FUNC|vkCmdNextSubpass|
60e41f4b71Sopenharmony_ci|FUNC|vkCmdNextSubpass2|
61e41f4b71Sopenharmony_ci|FUNC|vkCmdPipelineBarrier|
62e41f4b71Sopenharmony_ci|FUNC|vkCmdPipelineBarrier2|
63e41f4b71Sopenharmony_ci|FUNC|vkCmdPushConstants|
64e41f4b71Sopenharmony_ci|FUNC|vkCmdResetEvent|
65e41f4b71Sopenharmony_ci|FUNC|vkCmdResetEvent2|
66e41f4b71Sopenharmony_ci|FUNC|vkCmdResetQueryPool|
67e41f4b71Sopenharmony_ci|FUNC|vkCmdResolveImage|
68e41f4b71Sopenharmony_ci|FUNC|vkCmdResolveImage2|
69e41f4b71Sopenharmony_ci|FUNC|vkCmdSetBlendConstants|
70e41f4b71Sopenharmony_ci|FUNC|vkCmdSetCullMode|
71e41f4b71Sopenharmony_ci|FUNC|vkCmdSetDepthBias|
72e41f4b71Sopenharmony_ci|FUNC|vkCmdSetDepthBiasEnable|
73e41f4b71Sopenharmony_ci|FUNC|vkCmdSetDepthBounds|
74e41f4b71Sopenharmony_ci|FUNC|vkCmdSetDepthBoundsTestEnable|
75e41f4b71Sopenharmony_ci|FUNC|vkCmdSetDepthCompareOp|
76e41f4b71Sopenharmony_ci|FUNC|vkCmdSetDepthTestEnable|
77e41f4b71Sopenharmony_ci|FUNC|vkCmdSetDepthWriteEnable|
78e41f4b71Sopenharmony_ci|FUNC|vkCmdSetDeviceMask|
79e41f4b71Sopenharmony_ci|FUNC|vkCmdSetEvent|
80e41f4b71Sopenharmony_ci|FUNC|vkCmdSetEvent2|
81e41f4b71Sopenharmony_ci|FUNC|vkCmdSetFrontFace|
82e41f4b71Sopenharmony_ci|FUNC|vkCmdSetLineWidth|
83e41f4b71Sopenharmony_ci|FUNC|vkCmdSetPrimitiveRestartEnable|
84e41f4b71Sopenharmony_ci|FUNC|vkCmdSetPrimitiveTopology|
85e41f4b71Sopenharmony_ci|FUNC|vkCmdSetRasterizerDiscardEnable|
86e41f4b71Sopenharmony_ci|FUNC|vkCmdSetScissor|
87e41f4b71Sopenharmony_ci|FUNC|vkCmdSetScissorWithCount|
88e41f4b71Sopenharmony_ci|FUNC|vkCmdSetStencilCompareMask|
89e41f4b71Sopenharmony_ci|FUNC|vkCmdSetStencilOp|
90e41f4b71Sopenharmony_ci|FUNC|vkCmdSetStencilReference|
91e41f4b71Sopenharmony_ci|FUNC|vkCmdSetStencilTestEnable|
92e41f4b71Sopenharmony_ci|FUNC|vkCmdSetStencilWriteMask|
93e41f4b71Sopenharmony_ci|FUNC|vkCmdSetViewport|
94e41f4b71Sopenharmony_ci|FUNC|vkCmdSetViewportWithCount|
95e41f4b71Sopenharmony_ci|FUNC|vkCmdUpdateBuffer|
96e41f4b71Sopenharmony_ci|FUNC|vkCmdWaitEvents|
97e41f4b71Sopenharmony_ci|FUNC|vkCmdWaitEvents2|
98e41f4b71Sopenharmony_ci|FUNC|vkCmdWriteTimestamp|
99e41f4b71Sopenharmony_ci|FUNC|vkCmdWriteTimestamp2|
100e41f4b71Sopenharmony_ci|FUNC|vkCreateBuffer|
101e41f4b71Sopenharmony_ci|FUNC|vkCreateBufferView|
102e41f4b71Sopenharmony_ci|FUNC|vkCreateCommandPool|
103e41f4b71Sopenharmony_ci|FUNC|vkCreateComputePipelines|
104e41f4b71Sopenharmony_ci|FUNC|vkCreateDescriptorPool|
105e41f4b71Sopenharmony_ci|FUNC|vkCreateDescriptorSetLayout|
106e41f4b71Sopenharmony_ci|FUNC|vkCreateDescriptorUpdateTemplate|
107e41f4b71Sopenharmony_ci|FUNC|vkCreateDevice|
108e41f4b71Sopenharmony_ci|FUNC|vkCreateDisplayModeKHR|
109e41f4b71Sopenharmony_ci|FUNC|vkCreateDisplayPlaneSurfaceKHR|
110e41f4b71Sopenharmony_ci|FUNC|vkCreateEvent|
111e41f4b71Sopenharmony_ci|FUNC|vkCreateFence|
112e41f4b71Sopenharmony_ci|FUNC|vkCreateFramebuffer|
113e41f4b71Sopenharmony_ci|FUNC|vkCreateGraphicsPipelines|
114e41f4b71Sopenharmony_ci|FUNC|vkCreateImage|
115e41f4b71Sopenharmony_ci|FUNC|vkCreateImageView|
116e41f4b71Sopenharmony_ci|FUNC|vkCreateInstance|
117e41f4b71Sopenharmony_ci|FUNC|vkCreatePipelineCache|
118e41f4b71Sopenharmony_ci|FUNC|vkCreatePipelineLayout|
119e41f4b71Sopenharmony_ci|FUNC|vkCreatePrivateDataSlot|
120e41f4b71Sopenharmony_ci|FUNC|vkCreateQueryPool|
121e41f4b71Sopenharmony_ci|FUNC|vkCreateRenderPass|
122e41f4b71Sopenharmony_ci|FUNC|vkCreateRenderPass2|
123e41f4b71Sopenharmony_ci|FUNC|vkCreateSampler|
124e41f4b71Sopenharmony_ci|FUNC|vkCreateSamplerYcbcrConversion|
125e41f4b71Sopenharmony_ci|FUNC|vkCreateSemaphore|
126e41f4b71Sopenharmony_ci|FUNC|vkCreateShaderModule|
127e41f4b71Sopenharmony_ci|FUNC|vkCreateSharedSwapchainsKHR|
128e41f4b71Sopenharmony_ci|FUNC|vkCreateSwapchainKHR|
129e41f4b71Sopenharmony_ci|FUNC|vkDestroyBuffer|
130e41f4b71Sopenharmony_ci|FUNC|vkDestroyBufferView|
131e41f4b71Sopenharmony_ci|FUNC|vkDestroyCommandPool|
132e41f4b71Sopenharmony_ci|FUNC|vkDestroyDescriptorPool|
133e41f4b71Sopenharmony_ci|FUNC|vkDestroyDescriptorSetLayout|
134e41f4b71Sopenharmony_ci|FUNC|vkDestroyDescriptorUpdateTemplate|
135e41f4b71Sopenharmony_ci|FUNC|vkDestroyDevice|
136e41f4b71Sopenharmony_ci|FUNC|vkDestroyEvent|
137e41f4b71Sopenharmony_ci|FUNC|vkDestroyFence|
138e41f4b71Sopenharmony_ci|FUNC|vkDestroyFramebuffer|
139e41f4b71Sopenharmony_ci|FUNC|vkDestroyImage|
140e41f4b71Sopenharmony_ci|FUNC|vkDestroyImageView|
141e41f4b71Sopenharmony_ci|FUNC|vkDestroyInstance|
142e41f4b71Sopenharmony_ci|FUNC|vkDestroyPipeline|
143e41f4b71Sopenharmony_ci|FUNC|vkDestroyPipelineCache|
144e41f4b71Sopenharmony_ci|FUNC|vkDestroyPipelineLayout|
145e41f4b71Sopenharmony_ci|FUNC|vkDestroyPrivateDataSlot|
146e41f4b71Sopenharmony_ci|FUNC|vkDestroyQueryPool|
147e41f4b71Sopenharmony_ci|FUNC|vkDestroyRenderPass|
148e41f4b71Sopenharmony_ci|FUNC|vkDestroySampler|
149e41f4b71Sopenharmony_ci|FUNC|vkDestroySamplerYcbcrConversion|
150e41f4b71Sopenharmony_ci|FUNC|vkDestroySemaphore|
151e41f4b71Sopenharmony_ci|FUNC|vkDestroyShaderModule|
152e41f4b71Sopenharmony_ci|FUNC|vkDestroySurfaceKHR|
153e41f4b71Sopenharmony_ci|FUNC|vkDestroySwapchainKHR|
154e41f4b71Sopenharmony_ci|FUNC|vkDeviceWaitIdle|
155e41f4b71Sopenharmony_ci|FUNC|vkEndCommandBuffer|
156e41f4b71Sopenharmony_ci|FUNC|vkEnumerateDeviceExtensionProperties|
157e41f4b71Sopenharmony_ci|FUNC|vkEnumerateDeviceLayerProperties|
158e41f4b71Sopenharmony_ci|FUNC|vkEnumerateInstanceExtensionProperties|
159e41f4b71Sopenharmony_ci|FUNC|vkEnumerateInstanceLayerProperties|
160e41f4b71Sopenharmony_ci|FUNC|vkEnumerateInstanceVersion|
161e41f4b71Sopenharmony_ci|FUNC|vkEnumeratePhysicalDeviceGroups|
162e41f4b71Sopenharmony_ci|FUNC|vkEnumeratePhysicalDevices|
163e41f4b71Sopenharmony_ci|FUNC|vkFlushMappedMemoryRanges|
164e41f4b71Sopenharmony_ci|FUNC|vkFreeCommandBuffers|
165e41f4b71Sopenharmony_ci|FUNC|vkFreeDescriptorSets|
166e41f4b71Sopenharmony_ci|FUNC|vkFreeMemory|
167e41f4b71Sopenharmony_ci|FUNC|vkGetBufferDeviceAddress|
168e41f4b71Sopenharmony_ci|FUNC|vkGetBufferMemoryRequirements|
169e41f4b71Sopenharmony_ci|FUNC|vkGetBufferMemoryRequirements2|
170e41f4b71Sopenharmony_ci|FUNC|vkGetBufferOpaqueCaptureAddress|
171e41f4b71Sopenharmony_ci|FUNC|vkGetDescriptorSetLayoutSupport|
172e41f4b71Sopenharmony_ci|FUNC|vkGetDeviceBufferMemoryRequirements|
173e41f4b71Sopenharmony_ci|FUNC|vkGetDeviceGroupPeerMemoryFeatures|
174e41f4b71Sopenharmony_ci|FUNC|vkGetDeviceGroupPresentCapabilitiesKHR|
175e41f4b71Sopenharmony_ci|FUNC|vkGetDeviceGroupSurfacePresentModesKHR|
176e41f4b71Sopenharmony_ci|FUNC|vkGetDeviceImageMemoryRequirements|
177e41f4b71Sopenharmony_ci|FUNC|vkGetDeviceImageSparseMemoryRequirements|
178e41f4b71Sopenharmony_ci|FUNC|vkGetDeviceMemoryCommitment|
179e41f4b71Sopenharmony_ci|FUNC|vkGetDeviceMemoryOpaqueCaptureAddress|
180e41f4b71Sopenharmony_ci|FUNC|vkGetDeviceProcAddr|
181e41f4b71Sopenharmony_ci|FUNC|vkGetDeviceQueue|
182e41f4b71Sopenharmony_ci|FUNC|vkGetDeviceQueue2|
183e41f4b71Sopenharmony_ci|FUNC|vkGetDisplayModeProperties2KHR|
184e41f4b71Sopenharmony_ci|FUNC|vkGetDisplayModePropertiesKHR|
185e41f4b71Sopenharmony_ci|FUNC|vkGetDisplayPlaneCapabilities2KHR|
186e41f4b71Sopenharmony_ci|FUNC|vkGetDisplayPlaneCapabilitiesKHR|
187e41f4b71Sopenharmony_ci|FUNC|vkGetDisplayPlaneSupportedDisplaysKHR|
188e41f4b71Sopenharmony_ci|FUNC|vkGetEventStatus|
189e41f4b71Sopenharmony_ci|FUNC|vkGetFenceStatus|
190e41f4b71Sopenharmony_ci|FUNC|vkGetImageMemoryRequirements|
191e41f4b71Sopenharmony_ci|FUNC|vkGetImageMemoryRequirements2|
192e41f4b71Sopenharmony_ci|FUNC|vkGetImageSparseMemoryRequirements|
193e41f4b71Sopenharmony_ci|FUNC|vkGetImageSparseMemoryRequirements2|
194e41f4b71Sopenharmony_ci|FUNC|vkGetImageSubresourceLayout|
195e41f4b71Sopenharmony_ci|FUNC|vkGetInstanceProcAddr|
196e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceDisplayPlaneProperties2KHR|
197e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceDisplayPlanePropertiesKHR|
198e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceDisplayProperties2KHR|
199e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceDisplayPropertiesKHR|
200e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceExternalBufferProperties|
201e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceExternalFenceProperties|
202e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceExternalSemaphoreProperties|
203e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceFeatures|
204e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceFeatures2|
205e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceFormatProperties|
206e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceFormatProperties2|
207e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceImageFormatProperties|
208e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceImageFormatProperties2|
209e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceMemoryProperties|
210e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceMemoryProperties2|
211e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDevicePresentRectanglesKHR|
212e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceProperties|
213e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceProperties2|
214e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceQueueFamilyProperties|
215e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceQueueFamilyProperties2|
216e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceSparseImageFormatProperties|
217e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceSparseImageFormatProperties2|
218e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceSurfaceCapabilities2KHR|
219e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceSurfaceCapabilitiesKHR|
220e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceSurfaceFormats2KHR|
221e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceSurfaceFormatsKHR|
222e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceSurfacePresentModesKHR|
223e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceSurfaceSupportKHR|
224e41f4b71Sopenharmony_ci|FUNC|vkGetPhysicalDeviceToolProperties|
225e41f4b71Sopenharmony_ci|FUNC|vkGetPipelineCacheData|
226e41f4b71Sopenharmony_ci|FUNC|vkGetPrivateData|
227e41f4b71Sopenharmony_ci|FUNC|vkGetQueryPoolResults|
228e41f4b71Sopenharmony_ci|FUNC|vkGetRenderAreaGranularity|
229e41f4b71Sopenharmony_ci|FUNC|vkGetSemaphoreCounterValue|
230e41f4b71Sopenharmony_ci|FUNC|vkGetSwapchainImagesKHR|
231e41f4b71Sopenharmony_ci|FUNC|vkInvalidateMappedMemoryRanges|
232e41f4b71Sopenharmony_ci|FUNC|vkMapMemory|
233e41f4b71Sopenharmony_ci|FUNC|vkMergePipelineCaches|
234e41f4b71Sopenharmony_ci|FUNC|vkQueueBindSparse|
235e41f4b71Sopenharmony_ci|FUNC|vkQueuePresentKHR|
236e41f4b71Sopenharmony_ci|FUNC|vkQueueSubmit|
237e41f4b71Sopenharmony_ci|FUNC|vkQueueSubmit2|
238e41f4b71Sopenharmony_ci|FUNC|vkQueueWaitIdle|
239e41f4b71Sopenharmony_ci|FUNC|vkResetCommandBuffer|
240e41f4b71Sopenharmony_ci|FUNC|vkResetCommandPool|
241e41f4b71Sopenharmony_ci|FUNC|vkResetDescriptorPool|
242e41f4b71Sopenharmony_ci|FUNC|vkResetEvent|
243e41f4b71Sopenharmony_ci|FUNC|vkResetFences|
244e41f4b71Sopenharmony_ci|FUNC|vkResetQueryPool|
245e41f4b71Sopenharmony_ci|FUNC|vkSetEvent|
246e41f4b71Sopenharmony_ci|FUNC|vkSetPrivateData|
247e41f4b71Sopenharmony_ci|FUNC|vkSignalSemaphore|
248e41f4b71Sopenharmony_ci|FUNC|vkTrimCommandPool|
249e41f4b71Sopenharmony_ci|FUNC|vkUnmapMemory|
250e41f4b71Sopenharmony_ci|FUNC|vkUpdateDescriptorSets|
251e41f4b71Sopenharmony_ci|FUNC|vkUpdateDescriptorSetWithTemplate|
252e41f4b71Sopenharmony_ci|FUNC|vkWaitForFences|
253e41f4b71Sopenharmony_ci|FUNC|vkWaitSemaphores|
254e41f4b71Sopenharmony_ci
255e41f4b71Sopenharmony_ci## Extended APIs in OpenHarmony
256e41f4b71Sopenharmony_ci
257e41f4b71Sopenharmony_ciIn addition to the standard APIs, OpenHarmony provides extended APIs for creating a Vulkan surface using **OHNativeWindow** and obtaining **OH_NativeBuffer** and **OH_NativeBuffer** properties.
258e41f4b71Sopenharmony_ci
259e41f4b71Sopenharmony_ci|Type|Symbol|
260e41f4b71Sopenharmony_ci| --- | --- | 
261e41f4b71Sopenharmony_ci|FUNC|vkCreateSurfaceOHOS|
262e41f4b71Sopenharmony_ci|FUNC|vkGetNativeBufferPropertiesOHOS|
263e41f4b71Sopenharmony_ci|FUNC|vkGetMemoryNativeBufferOHOS|
264e41f4b71Sopenharmony_ci
265e41f4b71Sopenharmony_ciFor details about the extended APIs, see [Vulkan Module](_vulkan.md).
266