openharmony 鸿蒙 vulkan

2025-06-16 浏览 (1)

Vulkan支持能力

Vulkan是一套2D和3D绘图应用程序接口,具有跨平台、高性能的特点。OpenHarmony SDK 现已支持Vulkan v1.4.309版本接口,具体可用版本取决于GPU驱动实现。

支持的标准库接口列表

支持Vulkan v1.4.309版本的部分接口能力,具体请见下表。

符号类型符号名
FUNCvkAcquireNextImage2KHR
FUNCvkAcquireNextImageKHR
FUNCvkAllocateCommandBuffers
FUNCvkAllocateDescriptorSets
FUNCvkAllocateMemory
FUNCvkBeginCommandBuffer
FUNCvkBindBufferMemory
FUNCvkBindBufferMemory2
FUNCvkBindImageMemory
FUNCvkBindImageMemory2
FUNCvkCmdBeginQuery
FUNCvkCmdBeginRendering
FUNCvkCmdBeginRenderPass
FUNCvkCmdBeginRenderPass2
FUNCvkCmdBindDescriptorSets
FUNCvkCmdBindDescriptorSets2
FUNCvkCmdBindIndexBuffer
FUNCvkCmdBindIndexBuffer2
FUNCvkCmdBindPipeline
FUNCvkCmdBindVertexBuffers
FUNCvkCmdBindVertexBuffers2
FUNCvkCmdBlitImage
FUNCvkCmdBlitImage2
FUNCvkCmdClearAttachments
FUNCvkCmdClearColorImage
FUNCvkCmdClearDepthStencilImage
FUNCvkCmdCopyBuffer
FUNCvkCmdCopyBuffer2
FUNCvkCmdCopyBufferToImage
FUNCvkCmdCopyBufferToImage2
FUNCvkCmdCopyImage
FUNCvkCmdCopyImage2
FUNCvkCmdCopyImageToBuffer
FUNCvkCmdCopyImageToBuffer2
FUNCvkCmdCopyQueryPoolResults
FUNCvkCmdDispatch
FUNCvkCmdDispatchBase
FUNCvkCmdDispatchIndirect
FUNCvkCmdDraw
FUNCvkCmdDrawIndexed
FUNCvkCmdDrawIndexedIndirect
FUNCvkCmdDrawIndexedIndirectCount
FUNCvkCmdDrawIndirect
FUNCvkCmdDrawIndirectCount
FUNCvkCmdEndQuery
FUNCvkCmdEndRendering
FUNCvkCmdEndRenderPass
FUNCvkCmdEndRenderPass2
FUNCvkCmdExecuteCommands
FUNCvkCmdFillBuffer
FUNCvkCmdNextSubpass
FUNCvkCmdNextSubpass2
FUNCvkCmdPipelineBarrier
FUNCvkCmdPipelineBarrier2
FUNCvkCmdPushConstants
FUNCvkCmdPushConstants2
FUNCvkCmdPushDescriptorSet
FUNCvkCmdPushDescriptorSet2
FUNCvkCmdPushDescriptorSetWithTemplate
FUNCvkCmdPushDescriptorSetWithTemplate2
FUNCvkCmdResetEvent
FUNCvkCmdResetEvent2
FUNCvkCmdResetQueryPool
FUNCvkCmdResolveImage
FUNCvkCmdResolveImage2
FUNCvkCmdSetBlendConstants
FUNCvkCmdSetCullMode
FUNCvkCmdSetDepthBias
FUNCvkCmdSetDepthBiasEnable
FUNCvkCmdSetDepthBounds
FUNCvkCmdSetDepthBoundsTestEnable
FUNCvkCmdSetDepthCompareOp
FUNCvkCmdSetDepthTestEnable
FUNCvkCmdSetDepthWriteEnable
FUNCvkCmdSetDeviceMask
FUNCvkCmdSetEvent
FUNCvkCmdSetEvent2
FUNCvkCmdSetFrontFace
FUNCvkCmdSetLineStipple
FUNCvkCmdSetLineWidth
FUNCvkCmdSetPrimitiveRestartEnable
FUNCvkCmdSetPrimitiveTopology
FUNCvkCmdSetRasterizerDiscardEnable
FUNCvkCmdSetRenderingAttachmentLocations
FUNCvkCmdSetRenderingInputAttachmentIndices
FUNCvkCmdSetScissor
FUNCvkCmdSetScissorWithCount
FUNCvkCmdSetStencilCompareMask
FUNCvkCmdSetStencilOp
FUNCvkCmdSetStencilReference
FUNCvkCmdSetStencilTestEnable
FUNCvkCmdSetStencilWriteMask
FUNCvkCmdSetViewport
FUNCvkCmdSetViewportWithCount
FUNCvkCmdUpdateBuffer
FUNCvkCmdWaitEvents
FUNCvkCmdWaitEvents2
FUNCvkCmdWriteTimestamp
FUNCvkCmdWriteTimestamp2
FUNCvkCopyImageToImage
FUNCvkCopyImageToMemory
FUNCvkCopyMemoryToImage
FUNCvkCreateBuffer
FUNCvkCreateBufferView
FUNCvkCreateCommandPool
FUNCvkCreateComputePipelines
FUNCvkCreateDescriptorPool
FUNCvkCreateDescriptorSetLayout
FUNCvkCreateDescriptorUpdateTemplate
FUNCvkCreateDevice
FUNCvkCreateDisplayModeKHR
FUNCvkCreateDisplayPlaneSurfaceKHR
FUNCvkCreateEvent
FUNCvkCreateFence
FUNCvkCreateFramebuffer
FUNCvkCreateGraphicsPipelines
FUNCvkCreateHeadlessSurfaceEXT
FUNCvkCreateImage
FUNCvkCreateImageView
FUNCvkCreateInstance
FUNCvkCreatePipelineCache
FUNCvkCreatePipelineLayout
FUNCvkCreatePrivateDataSlot
FUNCvkCreateQueryPool
FUNCvkCreateRenderPass
FUNCvkCreateRenderPass2
FUNCvkCreateSampler
FUNCvkCreateSamplerYcbcrConversion
FUNCvkCreateSemaphore
FUNCvkCreateShaderModule
FUNCvkCreateSharedSwapchainsKHR
FUNCvkCreateSwapchainKHR
FUNCvkCreateWin32SurfaceKHR
FUNCvkDestroyBuffer
FUNCvkDestroyBufferView
FUNCvkDestroyCommandPool
FUNCvkDestroyDescriptorPool
FUNCvkDestroyDescriptorSetLayout
FUNCvkDestroyDescriptorUpdateTemplate
FUNCvkDestroyDevice
FUNCvkDestroyEvent
FUNCvkDestroyFence
FUNCvkDestroyFramebuffer
FUNCvkDestroyImage
FUNCvkDestroyImageView
FUNCvkDestroyInstance
FUNCvkDestroyPipeline
FUNCvkDestroyPipelineCache
FUNCvkDestroyPipelineLayout
FUNCvkDestroyPrivateDataSlot
FUNCvkDestroyQueryPool
FUNCvkDestroyRenderPass
FUNCvkDestroySampler
FUNCvkDestroySamplerYcbcrConversion
FUNCvkDestroySemaphore
FUNCvkDestroyShaderModule
FUNCvkDestroySurfaceKHR
FUNCvkDestroySwapchainKHR
FUNCvkDeviceWaitIdle
FUNCvkEndCommandBuffer
FUNCvkEnumerateDeviceExtensionProperties
FUNCvkEnumerateDeviceLayerProperties
FUNCvkEnumerateInstanceExtensionProperties
FUNCvkEnumerateInstanceLayerProperties
FUNCvkEnumerateInstanceVersion
FUNCvkEnumeratePhysicalDeviceGroups
FUNCvkEnumeratePhysicalDevices
FUNCvkFlushMappedMemoryRanges
FUNCvkFreeCommandBuffers
FUNCvkFreeDescriptorSets
FUNCvkFreeMemory
FUNCvkGetBufferDeviceAddress
FUNCvkGetBufferMemoryRequirements
FUNCvkGetBufferMemoryRequirements2
FUNCvkGetBufferOpaqueCaptureAddress
FUNCvkGetDescriptorSetLayoutSupport
FUNCvkGetDeviceBufferMemoryRequirements
FUNCvkGetDeviceGroupPeerMemoryFeatures
FUNCvkGetDeviceGroupPresentCapabilitiesKHR
FUNCvkGetDeviceGroupSurfacePresentModesKHR
FUNCvkGetDeviceImageMemoryRequirements
FUNCvkGetDeviceImageSparseMemoryRequirements
FUNCvkGetDeviceImageSubresourceLayout
FUNCvkGetDeviceMemoryCommitment
FUNCvkGetDeviceMemoryOpaqueCaptureAddress
FUNCvkGetDeviceProcAddr
FUNCvkGetDeviceQueue
FUNCvkGetDeviceQueue2
FUNCvkGetDisplayModeProperties2KHR
FUNCvkGetDisplayModePropertiesKHR
FUNCvkGetDisplayPlaneCapabilities2KHR
FUNCvkGetDisplayPlaneCapabilitiesKHR
FUNCvkGetDisplayPlaneSupportedDisplaysKHR
FUNCvkGetEventStatus
FUNCvkGetFenceStatus
FUNCvkGetImageMemoryRequirements
FUNCvkGetImageMemoryRequirements2
FUNCvkGetImageSparseMemoryRequirements
FUNCvkGetImageSparseMemoryRequirements2
FUNCvkGetImageSubresourceLayout
FUNCvkGetImageSubresourceLayout2
FUNCvkGetInstanceProcAddr
FUNCvkGetPhysicalDeviceDisplayPlaneProperties2KHR
FUNCvkGetPhysicalDeviceDisplayPlanePropertiesKHR
FUNCvkGetPhysicalDeviceDisplayProperties2KHR
FUNCvkGetPhysicalDeviceDisplayPropertiesKHR
FUNCvkGetPhysicalDeviceExternalBufferProperties
FUNCvkGetPhysicalDeviceExternalFenceProperties
FUNCvkGetPhysicalDeviceExternalSemaphoreProperties
FUNCvkGetPhysicalDeviceFeatures
FUNCvkGetPhysicalDeviceFeatures2
FUNCvkGetPhysicalDeviceFormatProperties
FUNCvkGetPhysicalDeviceFormatProperties2
FUNCvkGetPhysicalDeviceImageFormatProperties
FUNCvkGetPhysicalDeviceImageFormatProperties2
FUNCvkGetPhysicalDeviceMemoryProperties
FUNCvkGetPhysicalDeviceMemoryProperties2
FUNCvkGetPhysicalDevicePresentRectanglesKHR
FUNCvkGetPhysicalDeviceProperties
FUNCvkGetPhysicalDeviceProperties2
FUNCvkGetPhysicalDeviceQueueFamilyProperties
FUNCvkGetPhysicalDeviceQueueFamilyProperties2
FUNCvkGetPhysicalDeviceSparseImageFormatProperties
FUNCvkGetPhysicalDeviceSparseImageFormatProperties2
FUNCvkGetPhysicalDeviceSurfaceCapabilities2KHR
FUNCvkGetPhysicalDeviceSurfaceCapabilitiesKHR
FUNCvkGetPhysicalDeviceSurfaceFormats2KHR
FUNCvkGetPhysicalDeviceSurfaceFormatsKHR
FUNCvkGetPhysicalDeviceSurfacePresentModesKHR
FUNCvkGetPhysicalDeviceSurfaceSupportKHR
FUNCvkGetPhysicalDeviceToolProperties
FUNCvkGetPhysicalDeviceWin32PresentationSupportKHR
FUNCvkGetPipelineCacheData
FUNCvkGetPrivateData
FUNCvkGetQueryPoolResults
FUNCvkGetRenderAreaGranularity
FUNCvkGetRenderingAreaGranularity
FUNCvkGetSemaphoreCounterValue
FUNCvkGetSwapchainImagesKHR
FUNCvkInvalidateMappedMemoryRanges
FUNCvkMapMemory
FUNCvkMapMemory2
FUNCvkMergePipelineCaches
FUNCvkQueueBindSparse
FUNCvkQueuePresentKHR
FUNCvkQueueSubmit
FUNCvkQueueSubmit2
FUNCvkQueueWaitIdle
FUNCvkResetCommandBuffer
FUNCvkResetCommandPool
FUNCvkResetDescriptorPool
FUNCvkResetEvent
FUNCvkResetFences
FUNCvkResetQueryPool
FUNCvkSetEvent
FUNCvkSetPrivateData
FUNCvkSignalSemaphore
FUNCvkTransitionImageLayout
FUNCvkTrimCommandPool
FUNCvkUnmapMemory
FUNCvkUnmapMemory2
FUNCvkUpdateDescriptorSets
FUNCvkUpdateDescriptorSetWithTemplate
FUNCvkWaitForFences
FUNCvkWaitSemaphores

OpenHarmony新增的扩展接口列表

除了标准能力,还提供了OpenHarmony平台扩展的Vulkan能力,扩展了使用OHNativeWindow创建Vulkan Surface的能力,以及获取OH_NativeBuffer和OH_NativeBuffer属性的能力。

符号类型符号名
FUNCvkCreateSurfaceOHOS
FUNCvkGetNativeBufferPropertiesOHOS
FUNCvkGetMemoryNativeBufferOHOS
FUNCvkGetSwapchainGrallocUsageOHOS
FUNCvkAcquireImageOHOS
FUNCvkQueueSignalReleaseImageOHOS

新增接口的详细介绍请见Vulkan模块

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Native API标准库

harmony 鸿蒙VkExternalFormatOHOS

harmony 鸿蒙VkImportNativeBufferInfoOHOS

harmony 鸿蒙VkMemoryGetNativeBufferInfoOHOS

harmony 鸿蒙VkNativeBufferFormatPropertiesOHOS

harmony 鸿蒙VkNativeBufferPropertiesOHOS

harmony 鸿蒙VkNativeBufferUsageOHOS

harmony 鸿蒙VkSurfaceCreateInfoOHOS

harmony 鸿蒙Vulkan模块

harmony 鸿蒙标准C++库

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/Bt6DGg