panvk_faux123_ace_v0.36.0 对比 Mali-G610 MC6
在 Mali-G610 上 (GameForce Ace, Infinix GT 20 Pro, Nothing Phone (2a) Plus, Xiaomi 13T). 先列出的驱动与后一个对比,后一个是基准。
原厂Mali-G610 MC6
对比第三方panvk_faux123_ace_v0.36.0
图形系统版本(Vulkan)1.3.305 → 1.4.363
可选功能(扩展)156 → 185+43 -14
通过检测的功能(已验证)39 → 5011 个仅在 panvk_faux123_ace_v0.36.0 上通过 0 个仅在 Mali-G610 MC6 上通过
跑分测试场景(基准测试)没有共同场景
各驱动能跑的游戏(根据功能列表估算):绿色基本能跑,黄色可能能跑,橙色问题较多,红色跑不了
原厂DX92002+DX102006+DX112009+DX122015+Switch
第三方DX92002+DX102006+DX112009+DX122015+Switch
Mali-G610 MC6 详情 panvk_faux123_ace_v0.36.0 详情
结果不同的功能检测(29)
| 功能 | 原厂 | 第三方 | 变化 |
|---|---|---|---|
| colorWriteEnable | 不支持 | 通过 | 新增 |
| depthClipControl | 不支持 | 通过 | 新增 |
| extendedDynamicState2LogicOp | 不支持 | 通过 | 新增 |
| extendedDynamicState3ColorBlendEnable | 不支持 | 通过 | 新增 |
| extendedDynamicState3ColorBlendEquation | 不支持 | 通过 | 新增 |
| extendedDynamicState3ColorWriteMask | 不支持 | 通过 | 新增 |
| extendedDynamicState3LogicOpEnable | 不支持 | 通过 | 新增 |
| robustBufferAccess2 | 不支持 | 通过 | 新增 |
| robustImageAccess2 | 不支持 | 通过 | 新增 |
| multiViewport | 不支持 | 通过 | 新增 |
| textureCompressionBC | 不支持 | 通过 | 新增 |
| depthBiasControl | 不支持 | 未检测 | 有变化 |
| depthBiasExact | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3AlphaToCoverageEnable | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3AlphaToOneEnable | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3ProvokingVertexMode | 未检测 | 不支持 | 有变化 |
| extendedDynamicState3RasterizationSamples | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3TessellationDomainOrigin | 未检测 | 不支持 | 有变化 |
| geometryStreams | 不支持 | 未检测 | 有变化 |
| alphaToOne | 不支持 | 未检测 | 有变化 |
| depthBounds | 不支持 | 未检测 | 有变化 |
| fillModeNonSolid | 不支持 | 未检测 | 有变化 |
| inheritedQueries | 未检测 | 不支持 | 有变化 |
| pipelineStatisticsQuery | 不支持 | 未检测 | 有变化 |
| shaderClipDistance | 不支持 | 未检测 | 有变化 |
| shaderCullDistance | 不支持 | 未检测 | 有变化 |
| shaderTessellationAndGeometryPointSize | 不支持 | 未检测 | 有变化 |
| variableMultisampleRate | 不支持 | 未检测 | 有变化 |
| vertexPipelineStoresAndAtomics | 不支持 | 未检测 | 有变化 |
跑分测试场景(基准测试)
两个驱动不是在同一批设备型号上测的。不同设备的帧时间不能用来比较驱动,看这些数据时请记住这一点。
| 场景 | 原厂 ms | 第三方 ms | 差异 | 启动次数 | GPU 频率,MHz | 画面对比原厂 |
|---|---|---|---|---|---|---|
| compute_nbody | n/a | 19.00 | 仅一侧有 | ? 对比 3 / 3 | ? 对比 883 | 未检测 |
| hdr_2160p | n/a | 57.63 | 仅一侧有 | ? 对比 ? | ? 对比 ? | 未检测 |
| oit_linked_lists | n/a | 19.72 | 仅一侧有 | ? 对比 3 / 3 | ? 对比 1000 | 未检测 |
| pipeline_barriers | n/a | 10.20 | 仅一侧有 | ? 对比 3 / 3 | ? 对比 1000 | 未检测 |
| subpasses | n/a | 19.31 | 仅一侧有 | ? 对比 3 / 3 | ? 对比 900 | 未检测 |
技术差异(Vulkan)
仅 panvk_faux123_ace_v0.36.0 有的扩展(43)
- 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_clip_control
- VK_EXT_hdr_metadata
- VK_EXT_map_memory_placed
- VK_EXT_memory_budget
- VK_EXT_memory_priority
- VK_EXT_multi_draw
- VK_EXT_nested_command_buffer
- VK_EXT_pageable_device_local_memory
- VK_EXT_physical_device_drm
- VK_EXT_present_timing
- VK_EXT_shader_atomic_float
- VK_EXT_shader_module_identifier
- VK_EXT_shader_stencil_export
- VK_EXT_shader_uniform_buffer_unsized_array
- VK_EXT_vertex_attribute_divisor
- VK_EXT_ycbcr_2plane_444_formats
- VK_EXT_ycbcr_image_arrays
- VK_EXT_zero_initialize_device_memory
- VK_GOOGLE_hlsl_functionality1
- VK_KHR_copy_memory_indirect
- VK_KHR_internally_synchronized_queues
- VK_KHR_maintenance8
- VK_KHR_maintenance9
- VK_KHR_present_id
- VK_KHR_present_id2
- VK_KHR_present_wait
- VK_KHR_present_wait2
- VK_KHR_shader_clock
- VK_KHR_shader_constant_data
- VK_KHR_shader_fma
- VK_KHR_shader_relaxed_extended_instruction
- VK_KHR_shader_untyped_pointers
- VK_KHR_swapchain_maintenance1
- VK_KHR_unified_image_layouts
- VK_KHR_workgroup_memory_explicit_layout
- VK_VALVE_mutable_descriptor_type
仅 Mali-G610 MC6 有的扩展(14)
- VK_ANDROID_external_format_resolve
- VK_EXT_descriptor_buffer
- VK_EXT_device_fault
- VK_EXT_external_memory_host
- VK_EXT_fragment_density_map
- VK_EXT_fragment_density_map2
- VK_EXT_frame_boundary
- VK_EXT_image_compression_control_swapchain
- VK_EXT_pipeline_protected_access
- VK_EXT_rgba10x6_formats
- VK_EXT_subpass_merge_feedback
- VK_KHR_deferred_host_operations
- VK_KHR_pipeline_binary
- VK_KHR_shared_presentable_image
不同的核心功能(17)
| protectedMemory | 通过 → 不支持 |
| bresenhamLines | 不支持 → 通过 |
| dynamicRenderingLocalRead | 不支持 → 通过 |
| globalPriorityQuery | 不支持 → 通过 |
| hostImageCopy | 不支持 → 通过 |
| indexTypeUint8 | 不支持 → 通过 |
| maintenance5 | 不支持 → 通过 |
| maintenance6 | 不支持 → 通过 |
| pipelineRobustness | 不支持 → 通过 |
| pushDescriptor | 不支持 → 通过 |
| rectangularLines | 不支持 → 通过 |
| shaderExpectAssume | 不支持 → 通过 |
| shaderFloatControls2 | 不支持 → 通过 |
| shaderSubgroupRotate | 不支持 → 通过 |
| shaderSubgroupRotateClustered | 不支持 → 通过 |
| vertexAttributeInstanceRateDivisor | 不支持 → 通过 |
| vertexAttributeInstanceRateZeroDivisor | 不支持 → 通过 |
不同的限制(51)
| 限制 | 原厂 | 第三方 |
|---|---|---|
| maxImageDimension1D | 16384 | 65536 |
| maxImageDimension2D | 16384 | 65536 |
| maxImageDimension3D | 16384 | 65536 |
| maxImageDimensionCube | 16384 | 65536 |
| maxImageArrayLayers | 4096 | 65536 |
| maxTexelBufferElements | 268435456 | 134217728 |
| maxUniformBufferRange | 2147483648 | 1048576 |
| maxStorageBufferRange | 2147483648 | 4294967295 |
| maxMemoryAllocationCount | 16384 | 4294967295 |
| bufferImageGranularity | 1 | 64 |
| sparseAddressSpaceSize | 0 | 140737454800896 |
| maxPerStageDescriptorSamplers | 8388608 | 1048576 |
| maxPerStageDescriptorUniformBuffers | 8388608 | 1048576 |
| maxPerStageDescriptorStorageBuffers | 8388608 | 1048576 |
| maxPerStageDescriptorSampledImages | 8388608 | 1048576 |
| maxPerStageDescriptorStorageImages | 8388608 | 1048576 |
| maxPerStageResources | 8388608 | 5242889 |
| maxDescriptorSetSamplers | 8388608 | 1048576 |
| maxDescriptorSetUniformBuffers | 8388608 | 1048576 |
| maxDescriptorSetUniformBuffersDynamic | 32 | 16 |
| maxDescriptorSetStorageBuffers | 8388608 | 1048576 |
| maxDescriptorSetStorageBuffersDynamic | 32 | 8 |
| maxDescriptorSetSampledImages | 8388608 | 1048576 |
| maxDescriptorSetStorageImages | 8388608 | 1048576 |
| maxVertexInputAttributes | 32 | 16 |
| maxVertexInputBindings | 32 | 16 |
| maxVertexInputAttributeOffset | 2047 | 4294967295 |
| maxVertexInputBindingStride | 2048 | 65535 |
| maxGeometryShaderInvocations | 32 | 64 |
| maxGeometryInputComponents | 128 | 64 |
| maxGeometryTotalOutputComponents | 2048 | 1024 |
| maxFragmentCombinedOutputResources | 16777224 | 4360 |
| maxComputeWorkGroupCount | 4294967295, 4294967295, 4294967295 | 65535, 65535, 65535 |
| maxSamplerLodBias | 126 | 127.996 |
| maxViewports | 1 | 16 |
| maxViewportDimensions | 16384, 16384 | 32768, 32768 |
| viewportBoundsRange | -32768, 32767 | -65536, 65535 |
| minMemoryMapAlignment | 64 | 4096 |
| minTexelBufferOffsetAlignment | 64 | 16 |
| minStorageBufferOffsetAlignment | 64 | 4 |
| maxInterpolationOffset | 0.4375 | 0.5 |
| subPixelInterpolationOffsetBits | 4 | 8 |
| maxFramebufferWidth | 16384 | 32768 |
| maxFramebufferHeight | 16384 | 32768 |
| timestampPeriod | 76.9231 | 41.6667 |
| 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 种,少了 10 种)
- 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