Mali-G610 vs Mali-G610 MC6
On Mali-G610 (GameForce Ace, Infinix GT 20 Pro, Nothing Phone (2a) Plus, Xiaomi 13T). The first driver named is compared against the second, which is the baseline.
StockMali-G610 MC6
vsCustomMali-G610
Graphics system version (Vulkan)1.1.219 to 1.3.231
Optional features (extensions)93 to 104+12 -1
Features that pass their check (validated)32 to 353 pass only on Mali-G610 0 pass only on Mali-G610 MC6
Speed test scenes (benchmark)no shared scenes
Games each driver could run (an estimate from its feature list): green likely, yellow maybe, orange limited, red no
StockDX92002+DX102006+DX112009+DX122015+Switch
CustomDX92002+DX102006+DX112009+DX122015+Switch
Mali-G610 MC6 details Mali-G610 details
Feature checks that differ (6)
| Feature | Stock | Mali-G610 | Change |
|---|---|---|---|
| borderColorSwizzle | unsupported | pass | gained |
| extendedDynamicState | fail | pass | gained |
| shaderBufferInt64Atomics | unsupported | pass | gained |
| borderColorSwizzleFromImage | unsupported | untested | changed |
| shaderSharedInt64Atomics | unsupported | untested | changed |
| shaderInt64 | unsupported | untested | changed |
Speed test scenes (benchmark)
The two drivers were not measured on the same set of device models. Frame times from different devices do not compare drivers, so read these numbers with that in mind.
| Scene | Stock ms | Mali-G610 ms | Difference | Starts | GPU clock, MHz | Picture vs stock |
|---|---|---|---|---|---|---|
| compute_nbody | n/a | 17.92 | only one side | ? vs 3 of 3 | ? vs 917 | not checked |
| hdr_2160p | n/a | 33.24 | only one side | ? vs ? | ? vs ? | not checked |
| oit_linked_lists | n/a | 20.32 | only one side | ? vs 3 of 3 | ? vs 1000 | not checked |
| pipeline_barriers | n/a | 9.37 | only one side | ? vs 3 of 3 | ? vs 1000 | not checked |
| subpasses | n/a | 17.44 | only one side | ? vs 3 of 3 | ? vs 883 | not checked |
Technical differences (Vulkan)
Extensions only in 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
Extensions only in Mali-G610 MC6 (1)
- VK_EXT_swapchain_maintenance1
Core features that differ (70)
| multiview | unsupported to pass |
| samplerYcbcrConversion | unsupported to pass |
| shaderDrawParameters | unsupported to pass |
| storageBuffer16BitAccess | unsupported to pass |
| storageInputOutput16 | unsupported to pass |
| storagePushConstant16 | unsupported to pass |
| uniformAndStorageBuffer16BitAccess | unsupported to pass |
| variablePointers | unsupported to pass |
| variablePointersStorageBuffer | unsupported to pass |
| bufferDeviceAddress | unsupported to pass |
| bufferDeviceAddressCaptureReplay | unsupported to pass |
| descriptorBindingPartiallyBound | unsupported to pass |
| descriptorBindingSampledImageUpdateAfterBind | unsupported to pass |
| descriptorBindingStorageBufferUpdateAfterBind | unsupported to pass |
| descriptorBindingStorageImageUpdateAfterBind | unsupported to pass |
| descriptorBindingStorageTexelBufferUpdateAfterBind | unsupported to pass |
| descriptorBindingUniformBufferUpdateAfterBind | unsupported to pass |
| descriptorBindingUniformTexelBufferUpdateAfterBind | unsupported to pass |
| descriptorBindingUpdateUnusedWhilePending | unsupported to pass |
| descriptorBindingVariableDescriptorCount | unsupported to pass |
| descriptorIndexing | unsupported to pass |
| drawIndirectCount | unsupported to pass |
| hostQueryReset | unsupported to pass |
| imagelessFramebuffer | unsupported to pass |
| runtimeDescriptorArray | unsupported to pass |
| samplerFilterMinmax | unsupported to pass |
| samplerMirrorClampToEdge | unsupported to pass |
| scalarBlockLayout | unsupported to pass |
| separateDepthStencilLayouts | unsupported to pass |
| shaderBufferInt64Atomics | unsupported to pass |
| shaderFloat16 | unsupported to pass |
| shaderInputAttachmentArrayDynamicIndexing | unsupported to pass |
| shaderInputAttachmentArrayNonUniformIndexing | unsupported to pass |
| shaderInt8 | unsupported to pass |
| shaderOutputLayer | unsupported to pass |
| shaderOutputViewportIndex | unsupported to pass |
| shaderSampledImageArrayNonUniformIndexing | unsupported to pass |
| shaderSharedInt64Atomics | unsupported to pass |
| shaderStorageBufferArrayNonUniformIndexing | unsupported to pass |
| shaderStorageImageArrayNonUniformIndexing | unsupported to pass |
| shaderStorageTexelBufferArrayDynamicIndexing | unsupported to pass |
| shaderStorageTexelBufferArrayNonUniformIndexing | unsupported to pass |
| shaderSubgroupExtendedTypes | unsupported to pass |
| shaderUniformBufferArrayNonUniformIndexing | unsupported to pass |
| shaderUniformTexelBufferArrayDynamicIndexing | unsupported to pass |
| shaderUniformTexelBufferArrayNonUniformIndexing | unsupported to pass |
| storageBuffer8BitAccess | unsupported to pass |
| storagePushConstant8 | unsupported to pass |
| subgroupBroadcastDynamicId | unsupported to pass |
| timelineSemaphore | unsupported to pass |
| uniformAndStorageBuffer8BitAccess | unsupported to pass |
| uniformBufferStandardLayout | unsupported to pass |
| vulkanMemoryModel | unsupported to pass |
| vulkanMemoryModelAvailabilityVisibilityChains | unsupported to pass |
| vulkanMemoryModelDeviceScope | unsupported to pass |
| computeFullSubgroups | unsupported to pass |
| descriptorBindingInlineUniformBlockUpdateAfterBind | unsupported to pass |
| dynamicRendering | unsupported to pass |
| inlineUniformBlock | unsupported to pass |
| maintenance4 | unsupported to pass |
| pipelineCreationCacheControl | unsupported to pass |
| privateData | unsupported to pass |
| robustImageAccess | unsupported to pass |
| shaderDemoteToHelperInvocation | unsupported to pass |
| shaderIntegerDotProduct | unsupported to pass |
| shaderTerminateInvocation | unsupported to pass |
| shaderZeroInitializeWorkgroupMemory | unsupported to pass |
| subgroupSizeControl | unsupported to pass |
| synchronization2 | unsupported to pass |
| textureCompressionASTC_HDR | unsupported to pass |
Limits that differ (2)
| Limit | Stock | Mali-G610 |
|---|---|---|
| maxUniformBufferRange | 65536 | 2147483648 |
| timestampPeriod | 76.9231 | 41.6667 |
Formats supported by only one driver (2 gained, 0 lost)
- R64_SINT
- R64_UINT
- None