Mali-G610 MC6 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 MC6
Graphics system version (Vulkan)1.3.305 to 1.1.219
Optional features (extensions)156 to 93+0 -63
Features that pass their check (validated)39 to 320 pass only on Mali-G610 MC6 7 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 MC6 details
Feature checks that differ (20)
| Feature | Stock | Mali-G610 MC6 | Change |
|---|---|---|---|
| borderColorSwizzle | pass | unsupported | lost |
| extendedDynamicState | pass | fail | lost |
| extendedDynamicState3DepthClampEnable | pass | unsupported | lost |
| vertexInputDynamicState | pass | unsupported | lost |
| shaderBufferInt64Atomics | pass | unsupported | lost |
| push.max_combined_image_samplers | pass | unsupported | lost |
| push.max_uniform_buffers | pass | unsupported | lost |
| borderColorSwizzleFromImage | untested | unsupported | changed |
| extendedDynamicState3DepthClipEnable | untested | unsupported | changed |
| extendedDynamicState3LineRasterizationMode | untested | unsupported | changed |
| extendedDynamicState3ProvokingVertexMode | untested | unsupported | changed |
| extendedDynamicState3SampleMask | untested | unsupported | changed |
| extendedDynamicState3TessellationDomainOrigin | untested | unsupported | changed |
| nullDescriptor | untested | unsupported | changed |
| shaderSharedInt64Atomics | untested | unsupported | changed |
| dualSrcBlend | untested | unsupported | changed |
| inheritedQueries | untested | unsupported | changed |
| logicOp | untested | unsupported | changed |
| shaderInt64 | untested | unsupported | changed |
| wideLines | untested | unsupported | changed |
Speed test scenes (benchmark)
Neither driver has a valid speed test (benchmark report) yet.
Technical differences (Vulkan)
Extensions only in Mali-G610 MC6 (0)
- None
Extensions only in Mali-G610 MC6 (63)
- VK_ANDROID_external_format_resolve
- VK_ARM_scheduling_controls
- VK_ARM_shader_core_builtins
- VK_ARM_shader_core_properties
- VK_EXT_border_color_swizzle
- VK_EXT_debug_marker
- VK_EXT_depth_clamp_zero_one
- VK_EXT_depth_clip_enable
- VK_EXT_descriptor_buffer
- VK_EXT_device_address_binding_report
- VK_EXT_device_fault
- VK_EXT_dynamic_rendering_unused_attachments
- VK_EXT_extended_dynamic_state3
- VK_EXT_external_memory_acquire_unmodified
- VK_EXT_external_memory_host
- VK_EXT_frame_boundary
- VK_EXT_graphics_pipeline_library
- VK_EXT_host_image_copy
- VK_EXT_image_2d_view_of_3d
- VK_EXT_image_compression_control_swapchain
- VK_EXT_image_sliced_view_of_3d
- VK_EXT_image_view_min_lod
- VK_EXT_legacy_dithering
- VK_EXT_mutable_descriptor_type
- VK_EXT_non_seamless_cube_map
- VK_EXT_pipeline_protected_access
- VK_EXT_pipeline_robustness
- VK_EXT_rasterization_order_attachment_access
- VK_EXT_robustness2
- VK_EXT_shader_image_atomic_int64
- VK_EXT_shader_replicated_composites
- VK_EXT_shader_tile_image
- VK_EXT_vertex_input_dynamic_state
- VK_GOOGLE_decorate_string
- VK_GOOGLE_user_type
- VK_KHR_calibrated_timestamps
- VK_KHR_compute_shader_derivatives
- VK_KHR_deferred_host_operations
- VK_KHR_dynamic_rendering
- VK_KHR_dynamic_rendering_local_read
- VK_KHR_format_feature_flags2
- VK_KHR_global_priority
- VK_KHR_index_type_uint8
- VK_KHR_line_rasterization
- VK_KHR_load_store_op_none
- VK_KHR_maintenance4
- VK_KHR_maintenance5
- VK_KHR_maintenance6
- VK_KHR_maintenance7
- VK_KHR_map_memory2
- VK_KHR_pipeline_binary
- VK_KHR_pipeline_executable_properties
- VK_KHR_pipeline_library
- VK_KHR_push_descriptor
- VK_KHR_shader_atomic_int64
- VK_KHR_shader_expect_assume
- VK_KHR_shader_float_controls2
- VK_KHR_shader_maximal_reconvergence
- VK_KHR_shader_quad_control
- VK_KHR_shader_subgroup_rotate
- VK_KHR_shader_subgroup_uniform_control_flow
- VK_KHR_swapchain_mutable_format
- VK_KHR_vertex_attribute_divisor
Core features that differ (71)
| multiview | pass to unsupported |
| protectedMemory | pass to unsupported |
| samplerYcbcrConversion | pass to unsupported |
| shaderDrawParameters | pass to unsupported |
| storageBuffer16BitAccess | pass to unsupported |
| storageInputOutput16 | pass to unsupported |
| storagePushConstant16 | pass to unsupported |
| uniformAndStorageBuffer16BitAccess | pass to unsupported |
| variablePointers | pass to unsupported |
| variablePointersStorageBuffer | pass to unsupported |
| bufferDeviceAddress | pass to unsupported |
| bufferDeviceAddressCaptureReplay | pass to unsupported |
| descriptorBindingPartiallyBound | pass to unsupported |
| descriptorBindingSampledImageUpdateAfterBind | pass to unsupported |
| descriptorBindingStorageBufferUpdateAfterBind | pass to unsupported |
| descriptorBindingStorageImageUpdateAfterBind | pass to unsupported |
| descriptorBindingStorageTexelBufferUpdateAfterBind | pass to unsupported |
| descriptorBindingUniformBufferUpdateAfterBind | pass to unsupported |
| descriptorBindingUniformTexelBufferUpdateAfterBind | pass to unsupported |
| descriptorBindingUpdateUnusedWhilePending | pass to unsupported |
| descriptorBindingVariableDescriptorCount | pass to unsupported |
| descriptorIndexing | pass to unsupported |
| drawIndirectCount | pass to unsupported |
| hostQueryReset | pass to unsupported |
| imagelessFramebuffer | pass to unsupported |
| runtimeDescriptorArray | pass to unsupported |
| samplerFilterMinmax | pass to unsupported |
| samplerMirrorClampToEdge | pass to unsupported |
| scalarBlockLayout | pass to unsupported |
| separateDepthStencilLayouts | pass to unsupported |
| shaderBufferInt64Atomics | pass to unsupported |
| shaderFloat16 | pass to unsupported |
| shaderInputAttachmentArrayDynamicIndexing | pass to unsupported |
| shaderInputAttachmentArrayNonUniformIndexing | pass to unsupported |
| shaderInt8 | pass to unsupported |
| shaderOutputLayer | pass to unsupported |
| shaderOutputViewportIndex | pass to unsupported |
| shaderSampledImageArrayNonUniformIndexing | pass to unsupported |
| shaderSharedInt64Atomics | pass to unsupported |
| shaderStorageBufferArrayNonUniformIndexing | pass to unsupported |
| shaderStorageImageArrayNonUniformIndexing | pass to unsupported |
| shaderStorageTexelBufferArrayDynamicIndexing | pass to unsupported |
| shaderStorageTexelBufferArrayNonUniformIndexing | pass to unsupported |
| shaderSubgroupExtendedTypes | pass to unsupported |
| shaderUniformBufferArrayNonUniformIndexing | pass to unsupported |
| shaderUniformTexelBufferArrayDynamicIndexing | pass to unsupported |
| shaderUniformTexelBufferArrayNonUniformIndexing | pass to unsupported |
| storageBuffer8BitAccess | pass to unsupported |
| storagePushConstant8 | pass to unsupported |
| subgroupBroadcastDynamicId | pass to unsupported |
| timelineSemaphore | pass to unsupported |
| uniformAndStorageBuffer8BitAccess | pass to unsupported |
| uniformBufferStandardLayout | pass to unsupported |
| vulkanMemoryModel | pass to unsupported |
| vulkanMemoryModelAvailabilityVisibilityChains | pass to unsupported |
| vulkanMemoryModelDeviceScope | pass to unsupported |
| computeFullSubgroups | pass to unsupported |
| descriptorBindingInlineUniformBlockUpdateAfterBind | pass to unsupported |
| dynamicRendering | pass to unsupported |
| inlineUniformBlock | pass to unsupported |
| maintenance4 | pass to unsupported |
| pipelineCreationCacheControl | pass to unsupported |
| privateData | pass to unsupported |
| robustImageAccess | pass to unsupported |
| shaderDemoteToHelperInvocation | pass to unsupported |
| shaderIntegerDotProduct | pass to unsupported |
| shaderTerminateInvocation | pass to unsupported |
| shaderZeroInitializeWorkgroupMemory | pass to unsupported |
| subgroupSizeControl | pass to unsupported |
| synchronization2 | pass to unsupported |
| textureCompressionASTC_HDR | pass to unsupported |
Limits that differ (27)
| Limit | Stock | Mali-G610 MC6 |
|---|---|---|
| maxImageDimension1D | 16384 | 32768 |
| maxImageDimension2D | 16384 | 32768 |
| maxImageDimension3D | 16384 | 32768 |
| maxImageDimensionCube | 16384 | 32768 |
| maxUniformBufferRange | 2147483648 | 65536 |
| maxStorageBufferRange | 2147483648 | 268435456 |
| maxPerStageDescriptorSamplers | 8388608 | 500000 |
| maxPerStageDescriptorUniformBuffers | 8388608 | 36 |
| maxPerStageDescriptorStorageBuffers | 8388608 | 500000 |
| maxPerStageDescriptorSampledImages | 8388608 | 500000 |
| maxPerStageDescriptorStorageImages | 8388608 | 500000 |
| maxPerStageResources | 8388608 | 500000 |
| maxDescriptorSetSamplers | 8388608 | 500000 |
| maxDescriptorSetUniformBuffers | 8388608 | 216 |
| maxDescriptorSetStorageBuffers | 8388608 | 500000 |
| maxDescriptorSetSampledImages | 8388608 | 500000 |
| maxDescriptorSetStorageImages | 8388608 | 500000 |
| maxFragmentDualSrcAttachments | 8 | 0 |
| maxFragmentCombinedOutputResources | 16777224 | 1000008 |
| maxSamplerLodBias | 126 | 255 |
| maxViewportDimensions | 16384, 16384 | 32768, 32768 |
| viewportBoundsRange | -32768, 32767 | -65536, 65535 |
| maxInterpolationOffset | 0.4375 | 0.5 |
| maxFramebufferWidth | 16384 | 32768 |
| maxFramebufferHeight | 16384 | 32768 |
| lineWidthRange | 1, 4095.94 | 1, 1 |
| lineWidthGranularity | 0.0625 | 0 |
Formats supported by only one driver (0 gained, 8 lost)
- None
- A1B5G5R5_UNORM_PACK16
- A8_UNORM
- B10X6G10X6R10X6G10X6_422_UNORM_4PACK16
- G10X6B10X6G10X6R10X6_422_UNORM_4PACK16
- G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
- G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
- R64_SINT
- R64_UINT