Mesa-PanVK-Android-v26.3.1-795ca7ff 对比 PanVK-Kbase-g615-v11-csf-v0.1.0-rc3-5a07217f-EMULATOR
在 Mali-G52 上 (CHUWI HiPad-Air, HONOR X5c, HONOR X5c, Infinix HOT 60i, Oppo A18, Oppo A38, realme RMX3710, Redmi 12, Redmi 12C, Redmi 14C, Redmi 15C, Samsung Galaxy A32, TECNO POVA 3, TECNO SPARK 10 Pro, TECNO SPARK 20, Vivo Y03, Xiaomi 24040RN64Y, Xiaomi 24049RN28L). 先列出的驱动与后一个对比,后一个是基准。
原厂PanVK-Kbase-g615-v11-csf-v0.1.0-rc3-5a07217f-EMULATOR
对比第三方Mesa-PanVK-Android-v26.3.1-795ca7ff
图形系统版本(Vulkan)1.3.278 → 1.3.363
可选功能(扩展)131 → 166+51 -16
通过检测的功能(已验证)34 → 4714 个仅在 Mesa-PanVK-Android-v26.3.1-795ca7ff 上通过 1 个仅在 PanVK-Kbase-g615-v11-csf-v0.1.0-rc3-5a07217f-EMULATOR 上通过
跑分测试场景(基准测试)没有共同场景
各驱动能跑的游戏(根据功能列表估算):绿色基本能跑,黄色可能能跑,橙色问题较多,红色跑不了
原厂DX92002+DX102006+DX112009+DX122015+Switch
第三方DX92002+DX102006+DX112009+DX122015+Switch
PanVK-Kbase-g615-v11-csf-v0.1.0-rc3-5a07217f-EMULATOR 详情 Mesa-PanVK-Android-v26.3.1-795ca7ff 详情
结果不同的功能检测(35)
| 功能 | PanVK-Kbase-g615-v11-csf-v0.1.0-rc3-5a07217f-EMULATOR | Mesa-PanVK-Android-v26.3.1-795ca7ff | 变化 |
|---|---|---|---|
| limit.uniform_buffer_range | 通过 | 失败 | 减少 |
| colorWriteEnable | 不支持 | 通过 | 新增 |
| depthClipControl | 不支持 | 通过 | 新增 |
| extendedDynamicState2LogicOp | 不支持 | 通过 | 新增 |
| extendedDynamicState3ColorBlendEnable | 不支持 | 通过 | 新增 |
| extendedDynamicState3ColorBlendEquation | 不支持 | 通过 | 新增 |
| extendedDynamicState3ColorWriteMask | 不支持 | 通过 | 新增 |
| extendedDynamicState3DepthClampEnable | 不支持 | 通过 | 新增 |
| extendedDynamicState3LogicOpEnable | 不支持 | 通过 | 新增 |
| robustBufferAccess2 | 不支持 | 通过 | 新增 |
| multiDrawIndirect | 不支持 | 通过 | 新增 |
| multiViewport | 不支持 | 通过 | 新增 |
| textureCompressionBC | 不支持 | 通过 | 新增 |
| push.max_uniform_buffers | 不支持 | 通过 | 新增 |
| stress.multi_draw_indirect_large | 不支持 | 通过 | 新增 |
| depthBiasControl | 不支持 | 未检测 | 有变化 |
| depthBiasExact | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3AlphaToCoverageEnable | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3DepthClipEnable | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3ProvokingVertexMode | 未检测 | 不支持 | 有变化 |
| extendedDynamicState3RasterizationSamples | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3TessellationDomainOrigin | 未检测 | 不支持 | 有变化 |
| nullDescriptor | 不支持 | 未检测 | 有变化 |
| robustImageAccess2 | 不支持 | 失败 | 有变化 |
| geometryStreams | 不支持 | 未检测 | 有变化 |
| depthBounds | 不支持 | 未检测 | 有变化 |
| depthClamp | 不支持 | 未检测 | 有变化 |
| fillModeNonSolid | 不支持 | 未检测 | 有变化 |
| pipelineStatisticsQuery | 不支持 | 未检测 | 有变化 |
| shaderClipDistance | 不支持 | 未检测 | 有变化 |
| shaderCullDistance | 不支持 | 未检测 | 有变化 |
| shaderTessellationAndGeometryPointSize | 不支持 | 未检测 | 有变化 |
| variableMultisampleRate | 不支持 | 未检测 | 有变化 |
| vertexPipelineStoresAndAtomics | 不支持 | 未检测 | 有变化 |
| push.max_combined_image_samplers | 不支持 | 崩溃 | 有变化 |
跑分测试场景(基准测试)
| 场景 | PanVK-Kbase-g615-v11-csf-v0.1.0-rc3-5a07217f-EMULATOR ms | Mesa-PanVK-Android-v26.3.1-795ca7ff ms | 差异 | 启动次数 | GPU 频率,MHz | 画面对比原厂 |
|---|---|---|---|---|---|---|
| compute_nbody | 81.47 | n/a | 仅一侧有 | 3 / 3 对比 ? | ? 对比 ? | 未检测 |
| oit_linked_lists | 67.79 | n/a | 仅一侧有 | 3 / 3 对比 ? | ? 对比 ? | 未检测 |
| pipeline_barriers | 66.90 | n/a | 仅一侧有 | 3 / 3 对比 ? | ? 对比 ? | 未检测 |
| subpasses | 127.99 | n/a | 仅一侧有 | 3 / 3 对比 ? | ? 对比 ? | 未检测 |
技术差异(Vulkan)
仅 Mesa-PanVK-Android-v26.3.1-795ca7ff 有的扩展(51)
- VK_ARM_scheduling_controls
- VK_EXT_attachment_feedback_loop_dynamic_state
- VK_EXT_attachment_feedback_loop_layout
- VK_EXT_buffer_device_address
- VK_EXT_color_write_enable
- VK_EXT_conditional_rendering
- VK_EXT_depth_bias_control
- VK_EXT_depth_clamp_control
- VK_EXT_depth_clamp_zero_one
- VK_EXT_depth_clip_control
- VK_EXT_depth_clip_enable
- VK_EXT_descriptor_indexing
- VK_EXT_graphics_pipeline_library
- VK_EXT_hdr_metadata
- VK_EXT_host_image_copy
- VK_EXT_image_view_min_lod
- VK_EXT_map_memory_placed
- VK_EXT_memory_budget
- VK_EXT_mutable_descriptor_type
- VK_EXT_non_seamless_cube_map
- VK_EXT_physical_device_drm
- VK_EXT_present_timing
- VK_EXT_robustness2
- VK_EXT_shader_atomic_float
- VK_EXT_shader_module_identifier
- VK_EXT_shader_replicated_composites
- VK_EXT_shader_stencil_export
- VK_EXT_shader_uniform_buffer_unsized_array
- VK_EXT_vertex_attribute_divisor
- VK_EXT_zero_initialize_device_memory
- VK_GOOGLE_hlsl_functionality1
- VK_KHR_internally_synchronized_queues
- VK_KHR_maintenance7
- VK_KHR_maintenance8
- VK_KHR_maintenance9
- VK_KHR_pipeline_executable_properties
- VK_KHR_pipeline_library
- VK_KHR_present_id
- VK_KHR_present_id2
- VK_KHR_present_wait
- VK_KHR_present_wait2
- VK_KHR_push_descriptor
- VK_KHR_shader_clock
- VK_KHR_shader_constant_data
- VK_KHR_shader_fma
- VK_KHR_shader_relaxed_extended_instruction
- VK_KHR_swapchain_maintenance1
- VK_KHR_swapchain_mutable_format
- VK_KHR_unified_image_layouts
- VK_KHR_workgroup_memory_explicit_layout
- VK_VALVE_mutable_descriptor_type
仅 PanVK-Kbase-g615-v11-csf-v0.1.0-rc3-5a07217f-EMULATOR 有的扩展(16)
- VK_ANDROID_external_format_resolve
- VK_ARM_rasterization_order_attachment_access
- VK_EXT_device_fault
- VK_EXT_frame_boundary
- VK_EXT_image_compression_control_swapchain
- VK_EXT_pipeline_protected_access
- VK_EXT_primitives_generated_query
- VK_EXT_rasterization_order_attachment_access
- VK_EXT_rgba10x6_formats
- VK_EXT_shader_image_atomic_int64
- VK_EXT_shader_tile_image
- VK_EXT_subpass_merge_feedback
- VK_KHR_shader_maximal_reconvergence
- VK_KHR_shader_quad_control
- VK_KHR_shader_subgroup_uniform_control_flow
- VK_KHR_shared_presentable_image
不同的核心功能(22)
| descriptorBindingPartiallyBound | 不支持 → 通过 |
| descriptorBindingSampledImageUpdateAfterBind | 不支持 → 通过 |
| descriptorBindingStorageBufferUpdateAfterBind | 不支持 → 通过 |
| descriptorBindingStorageImageUpdateAfterBind | 不支持 → 通过 |
| descriptorBindingStorageTexelBufferUpdateAfterBind | 不支持 → 通过 |
| descriptorBindingUniformBufferUpdateAfterBind | 不支持 → 通过 |
| descriptorBindingUniformTexelBufferUpdateAfterBind | 不支持 → 通过 |
| descriptorBindingUpdateUnusedWhilePending | 不支持 → 通过 |
| descriptorBindingVariableDescriptorCount | 不支持 → 通过 |
| descriptorIndexing | 不支持 → 通过 |
| runtimeDescriptorArray | 不支持 → 通过 |
| shaderFloat16 | 通过 → 不支持 |
| shaderInputAttachmentArrayDynamicIndexing | 不支持 → 通过 |
| shaderInputAttachmentArrayNonUniformIndexing | 不支持 → 通过 |
| shaderSampledImageArrayNonUniformIndexing | 不支持 → 通过 |
| shaderStorageBufferArrayNonUniformIndexing | 不支持 → 通过 |
| shaderStorageImageArrayNonUniformIndexing | 不支持 → 通过 |
| shaderStorageTexelBufferArrayDynamicIndexing | 不支持 → 通过 |
| shaderStorageTexelBufferArrayNonUniformIndexing | 不支持 → 通过 |
| shaderUniformBufferArrayNonUniformIndexing | 不支持 → 通过 |
| shaderUniformTexelBufferArrayDynamicIndexing | 不支持 → 通过 |
| shaderUniformTexelBufferArrayNonUniformIndexing | 不支持 → 通过 |
不同的限制(47)
| 限制 | PanVK-Kbase-g615-v11-csf-v0.1.0-rc3-5a07217f-EMULATOR | Mesa-PanVK-Android-v26.3.1-795ca7ff |
|---|---|---|
| maxImageDimension1D | 16384 | 65536 |
| maxImageDimension2D | 16384 | 65536 |
| maxImageDimension3D | 16384 | 65536 |
| maxImageDimensionCube | 16384 | 65536 |
| maxImageArrayLayers | 4096 | 65536 |
| maxTexelBufferElements | 268435456 | 134217728 |
| maxUniformBufferRange | 65536 | 1048576 |
| maxStorageBufferRange | 2147483648 | 4294967295 |
| maxMemoryAllocationCount | 16384 | 4294967295 |
| bufferImageGranularity | 1 | 64 |
| sparseAddressSpaceSize | 0 | 17146314752 |
| maxPerStageDescriptorUniformBuffers | 241 | 223 |
| maxPerStageDescriptorStorageBuffers | 35 | 64 |
| maxPerStageDescriptorSampledImages | 256 | 176 |
| maxPerStageDescriptorStorageImages | 21 | 64 |
| maxPerStageResources | 570 | 664 |
| maxDescriptorSetSamplers | 768 | 65535 |
| maxDescriptorSetUniformBuffers | 1446 | 223 |
| maxDescriptorSetUniformBuffersDynamic | 32 | 16 |
| maxDescriptorSetStorageBuffers | 210 | 4096 |
| maxDescriptorSetStorageBuffersDynamic | 32 | 8 |
| maxDescriptorSetSampledImages | 1536 | 65535 |
| maxDescriptorSetStorageImages | 126 | 256 |
| maxVertexInputAttributes | 32 | 16 |
| maxVertexInputBindings | 32 | 16 |
| maxVertexInputAttributeOffset | 2047 | 4294967295 |
| maxVertexInputBindingStride | 2048 | 65535 |
| maxGeometryInputComponents | 128 | 64 |
| maxGeometryTotalOutputComponents | 2048 | 1024 |
| maxFragmentDualSrcAttachments | 8 | 1 |
| maxFragmentCombinedOutputResources | 64 | 4360 |
| maxComputeWorkGroupCount | 4294967295, 4294967295, 4294967295 | 65535, 65535, 65535 |
| maxDrawIndirectCount | 1 | 65535 |
| maxSamplerLodBias | 126 | 127.996 |
| maxViewports | 1 | 16 |
| minMemoryMapAlignment | 64 | 4096 |
| minTexelBufferOffsetAlignment | 64 | 16 |
| minStorageBufferOffsetAlignment | 64 | 16 |
| maxInterpolationOffset | 0.4375 | 0.5 |
| subPixelInterpolationOffsetBits | 4 | 8 |
| framebufferNoAttachmentsSampleCounts | 29 | 5 |
| maxClipDistances | 0 | 8 |
| maxCullDistances | 0 | 8 |
| maxCombinedClipAndCullDistances | 0 | 8 |
| pointSizeRange | 1, 1024 | 0.125, 4095.94 |
| lineWidthRange | 1, 4095.94 | 0, 7.99219 |
| lineWidthGranularity | 0.0625 | 0.0078125 |
只有一个驱动支持的格式(多了 21 种,少了 12 种)
- A2R10G10B10_SNORM_PACK32
- BC1_RGBA_SRGB_BLOCK
- BC1_RGBA_UNORM_BLOCK
- BC1_RGB_SRGB_BLOCK
- BC1_RGB_UNORM_BLOCK
- BC2_SRGB_BLOCK
- BC2_UNORM_BLOCK
- BC3_SRGB_BLOCK
- BC3_UNORM_BLOCK
- BC4_SNORM_BLOCK
- BC4_UNORM_BLOCK
- BC5_SNORM_BLOCK
- BC5_UNORM_BLOCK
- BC6H_SFLOAT_BLOCK
- BC6H_UFLOAT_BLOCK
- BC7_SRGB_BLOCK
- BC7_UNORM_BLOCK
- G16_B16R16_2PLANE_420_UNORM
- G16_B16R16_2PLANE_422_UNORM
- G16_B16R16_2PLANE_444_UNORM
- G8_B8R8_2PLANE_444_UNORM
- B10X6G10X6R10X6G10X6_422_UNORM_4PACK16
- B5G5R5A1_UNORM_PACK16
- B8G8R8G8_422_UNORM
- B8G8R8_SNORM
- G10X6B10X6G10X6R10X6_422_UNORM_4PACK16
- G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
- G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
- G8B8G8R8_422_UNORM
- R4G4_UNORM_PACK8
- R5G5B5A1_UNORM_PACK16
- R64_SINT
- R64_UINT