Mali-G610 对比 Mali-G610 MC6
在 Mali-G610 上 (GameForce Ace, Infinix GT 20 Pro, Nothing Phone (2a) Plus, Xiaomi 13T). 先列出的驱动与后一个对比,后一个是基准。
原厂Mali-G610 MC6
对比第三方Mali-G610
图形系统版本(Vulkan)1.1.219 → 1.3.231
可选功能(扩展)93 → 104+12 -1
通过检测的功能(已验证)32 → 353 个仅在 Mali-G610 上通过 0 个仅在 Mali-G610 MC6 上通过
跑分测试场景(基准测试)没有共同场景
各驱动能跑的游戏(根据功能列表估算):绿色基本能跑,黄色可能能跑,橙色问题较多,红色跑不了
原厂DX92002+DX102006+DX112009+DX122015+Switch
第三方DX92002+DX102006+DX112009+DX122015+Switch
结果不同的功能检测(6)
| 功能 | 原厂 | Mali-G610 | 变化 |
|---|---|---|---|
| borderColorSwizzle | 不支持 | 通过 | 新增 |
| extendedDynamicState | 失败 | 通过 | 新增 |
| shaderBufferInt64Atomics | 不支持 | 通过 | 新增 |
| borderColorSwizzleFromImage | 不支持 | 未检测 | 有变化 |
| shaderSharedInt64Atomics | 不支持 | 未检测 | 有变化 |
| shaderInt64 | 不支持 | 未检测 | 有变化 |
跑分测试场景(基准测试)
两个驱动不是在同一批设备型号上测的。不同设备的帧时间不能用来比较驱动,看这些数据时请记住这一点。
| 场景 | 原厂 ms | Mali-G610 ms | 差异 | 启动次数 | GPU 频率,MHz | 画面对比原厂 |
|---|---|---|---|---|---|---|
| compute_nbody | n/a | 17.92 | 仅一侧有 | ? 对比 3 / 3 | ? 对比 917 | 未检测 |
| hdr_2160p | n/a | 33.24 | 仅一侧有 | ? 对比 ? | ? 对比 ? | 未检测 |
| oit_linked_lists | n/a | 20.32 | 仅一侧有 | ? 对比 3 / 3 | ? 对比 1000 | 未检测 |
| pipeline_barriers | n/a | 9.37 | 仅一侧有 | ? 对比 3 / 3 | ? 对比 1000 | 未检测 |
| subpasses | n/a | 17.44 | 仅一侧有 | ? 对比 3 / 3 | ? 对比 883 | 未检测 |
技术差异(Vulkan)
仅 Mali-G610 有的扩展(12)
- VK_EXT_border_color_swizzle
- VK_EXT_depth_clamp_zero_one
- VK_EXT_image_2d_view_of_3d
- VK_EXT_legacy_dithering
- VK_EXT_pipeline_robustness
- VK_EXT_rasterization_order_attachment_access
- VK_EXT_shader_image_atomic_int64
- VK_KHR_dynamic_rendering
- VK_KHR_format_feature_flags2
- VK_KHR_global_priority
- VK_KHR_maintenance4
- VK_KHR_shader_atomic_int64
仅 Mali-G610 MC6 有的扩展(1)
- VK_EXT_swapchain_maintenance1
不同的核心功能(70)
| multiview | 不支持 → 通过 |
| samplerYcbcrConversion | 不支持 → 通过 |
| shaderDrawParameters | 不支持 → 通过 |
| storageBuffer16BitAccess | 不支持 → 通过 |
| storageInputOutput16 | 不支持 → 通过 |
| storagePushConstant16 | 不支持 → 通过 |
| uniformAndStorageBuffer16BitAccess | 不支持 → 通过 |
| variablePointers | 不支持 → 通过 |
| variablePointersStorageBuffer | 不支持 → 通过 |
| bufferDeviceAddress | 不支持 → 通过 |
| bufferDeviceAddressCaptureReplay | 不支持 → 通过 |
| descriptorBindingPartiallyBound | 不支持 → 通过 |
| descriptorBindingSampledImageUpdateAfterBind | 不支持 → 通过 |
| descriptorBindingStorageBufferUpdateAfterBind | 不支持 → 通过 |
| descriptorBindingStorageImageUpdateAfterBind | 不支持 → 通过 |
| descriptorBindingStorageTexelBufferUpdateAfterBind | 不支持 → 通过 |
| descriptorBindingUniformBufferUpdateAfterBind | 不支持 → 通过 |
| descriptorBindingUniformTexelBufferUpdateAfterBind | 不支持 → 通过 |
| descriptorBindingUpdateUnusedWhilePending | 不支持 → 通过 |
| descriptorBindingVariableDescriptorCount | 不支持 → 通过 |
| descriptorIndexing | 不支持 → 通过 |
| drawIndirectCount | 不支持 → 通过 |
| hostQueryReset | 不支持 → 通过 |
| imagelessFramebuffer | 不支持 → 通过 |
| runtimeDescriptorArray | 不支持 → 通过 |
| samplerFilterMinmax | 不支持 → 通过 |
| samplerMirrorClampToEdge | 不支持 → 通过 |
| scalarBlockLayout | 不支持 → 通过 |
| separateDepthStencilLayouts | 不支持 → 通过 |
| shaderBufferInt64Atomics | 不支持 → 通过 |
| shaderFloat16 | 不支持 → 通过 |
| shaderInputAttachmentArrayDynamicIndexing | 不支持 → 通过 |
| shaderInputAttachmentArrayNonUniformIndexing | 不支持 → 通过 |
| shaderInt8 | 不支持 → 通过 |
| shaderOutputLayer | 不支持 → 通过 |
| shaderOutputViewportIndex | 不支持 → 通过 |
| shaderSampledImageArrayNonUniformIndexing | 不支持 → 通过 |
| shaderSharedInt64Atomics | 不支持 → 通过 |
| shaderStorageBufferArrayNonUniformIndexing | 不支持 → 通过 |
| shaderStorageImageArrayNonUniformIndexing | 不支持 → 通过 |
| shaderStorageTexelBufferArrayDynamicIndexing | 不支持 → 通过 |
| shaderStorageTexelBufferArrayNonUniformIndexing | 不支持 → 通过 |
| shaderSubgroupExtendedTypes | 不支持 → 通过 |
| shaderUniformBufferArrayNonUniformIndexing | 不支持 → 通过 |
| shaderUniformTexelBufferArrayDynamicIndexing | 不支持 → 通过 |
| shaderUniformTexelBufferArrayNonUniformIndexing | 不支持 → 通过 |
| storageBuffer8BitAccess | 不支持 → 通过 |
| storagePushConstant8 | 不支持 → 通过 |
| subgroupBroadcastDynamicId | 不支持 → 通过 |
| timelineSemaphore | 不支持 → 通过 |
| uniformAndStorageBuffer8BitAccess | 不支持 → 通过 |
| uniformBufferStandardLayout | 不支持 → 通过 |
| vulkanMemoryModel | 不支持 → 通过 |
| vulkanMemoryModelAvailabilityVisibilityChains | 不支持 → 通过 |
| vulkanMemoryModelDeviceScope | 不支持 → 通过 |
| computeFullSubgroups | 不支持 → 通过 |
| descriptorBindingInlineUniformBlockUpdateAfterBind | 不支持 → 通过 |
| dynamicRendering | 不支持 → 通过 |
| inlineUniformBlock | 不支持 → 通过 |
| maintenance4 | 不支持 → 通过 |
| pipelineCreationCacheControl | 不支持 → 通过 |
| privateData | 不支持 → 通过 |
| robustImageAccess | 不支持 → 通过 |
| shaderDemoteToHelperInvocation | 不支持 → 通过 |
| shaderIntegerDotProduct | 不支持 → 通过 |
| shaderTerminateInvocation | 不支持 → 通过 |
| shaderZeroInitializeWorkgroupMemory | 不支持 → 通过 |
| subgroupSizeControl | 不支持 → 通过 |
| synchronization2 | 不支持 → 通过 |
| textureCompressionASTC_HDR | 不支持 → 通过 |
不同的限制(2)
| 限制 | 原厂 | Mali-G610 |
|---|---|---|
| maxUniformBufferRange | 65536 | 2147483648 |
| timestampPeriod | 76.9231 | 41.6667 |
只有一个驱动支持的格式(多了 2 种,少了 0 种)
- R64_SINT
- R64_UINT
- 无