Mali-G68 MC4 vs Mali-G68 MC4
On Mali-G68 (Infinix ZERO 5G 2023, LENOVO TB370FU, realme 10 Pro+ 5G, realme P1 5G, Samsung Galaxy A16 5G, Samsung Galaxy A16 5G, Samsung Galaxy A16 5G, Samsung Galaxy A17 5G, Samsung Galaxy A25 5G, Samsung Galaxy A26 5G, Samsung Galaxy A33 5G, Samsung Galaxy A34 5G, Samsung Galaxy A53 5G, Samsung Galaxy A54 5G, vivo V2202). The first driver named is compared against the second, which is the baseline.
StockMali-G68 MC4
vsCustomMali-G68 MC4
Graphics system version (Vulkan)1.3.278 to 1.1.177
Optional features (extensions)138 to 69+0 -69
Features that pass their check (validated)56 to 450 pass only on Mali-G68 MC4 11 pass only on Mali-G68 MC4
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-G68 MC4 details Mali-G68 MC4 details
Feature checks that differ (23)
| Feature | Stock | Mali-G68 MC4 | Change |
|---|---|---|---|
| borderColorSwizzle | pass | unsupported | lost |
| extendedDynamicState | pass | unsupported | lost |
| extendedDynamicState2 | pass | unsupported | lost |
| extendedDynamicState3DepthClampEnable | pass | unsupported | lost |
| vertexInputDynamicState | pass | unsupported | lost |
| shaderBufferInt64Atomics | pass | unsupported | lost |
| timelineSemaphore | pass | fail | lost |
| push.max_combined_image_samplers | pass | unsupported | lost |
| push.max_uniform_buffers | pass | unsupported | lost |
| stress.many_command_buffers_one_submit | pass | untested | lost |
| stress.spill_helper_lanes | pass | untested | lost |
| borderColorSwizzleFromImage | untested | unsupported | changed |
| extendedDynamicState2PatchControlPoints | untested | unsupported | changed |
| extendedDynamicState3DepthClipEnable | untested | unsupported | changed |
| extendedDynamicState3LineRasterizationMode | untested | unsupported | changed |
| extendedDynamicState3ProvokingVertexMode | untested | unsupported | changed |
| extendedDynamicState3SampleMask | untested | unsupported | changed |
| extendedDynamicState3TessellationDomainOrigin | untested | unsupported | changed |
| shaderSharedInt64Atomics | untested | unsupported | changed |
| dualSrcBlend | 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-G68 MC4 (0)
- None
Extensions only in Mali-G68 MC4 (69)
- VK_ANDROID_external_format_resolve
- VK_ARM_rasterization_order_attachment_access
- 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_device_address_binding_report
- VK_EXT_device_fault
- VK_EXT_dynamic_rendering_unused_attachments
- VK_EXT_extended_dynamic_state
- VK_EXT_extended_dynamic_state2
- VK_EXT_extended_dynamic_state3
- VK_EXT_external_memory_acquire_unmodified
- VK_EXT_frame_boundary
- VK_EXT_global_priority_query
- VK_EXT_image_2d_view_of_3d
- VK_EXT_image_compression_control
- VK_EXT_image_compression_control_swapchain
- VK_EXT_image_sliced_view_of_3d
- VK_EXT_legacy_dithering
- VK_EXT_load_store_op_none
- VK_EXT_multisampled_render_to_single_sampled
- VK_EXT_pipeline_creation_cache_control
- VK_EXT_pipeline_creation_feedback
- VK_EXT_pipeline_protected_access
- VK_EXT_pipeline_robustness
- VK_EXT_primitive_topology_list_restart
- VK_EXT_primitives_generated_query
- VK_EXT_private_data
- VK_EXT_rasterization_order_attachment_access
- VK_EXT_rgba10x6_formats
- VK_EXT_shader_demote_to_helper_invocation
- VK_EXT_shader_image_atomic_int64
- VK_EXT_shader_tile_image
- VK_EXT_subpass_merge_feedback
- VK_EXT_texel_buffer_alignment
- VK_EXT_tooling_info
- VK_EXT_vertex_input_dynamic_state
- VK_GOOGLE_decorate_string
- VK_GOOGLE_user_type
- VK_KHR_calibrated_timestamps
- VK_KHR_copy_commands2
- 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_map_memory2
- VK_KHR_push_descriptor
- VK_KHR_shader_atomic_int64
- VK_KHR_shader_expect_assume
- VK_KHR_shader_float_controls2
- VK_KHR_shader_integer_dot_product
- VK_KHR_shader_maximal_reconvergence
- VK_KHR_shader_quad_control
- VK_KHR_shader_subgroup_rotate
- VK_KHR_shader_subgroup_uniform_control_flow
- VK_KHR_shader_terminate_invocation
- VK_KHR_swapchain_mutable_format
- VK_KHR_synchronization2
- VK_KHR_vertex_attribute_divisor
- VK_KHR_zero_initialize_workgroup_memory
Core features that differ (67)
| 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 |
| 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 |
| hostQueryReset | pass to unsupported |
| imagelessFramebuffer | pass to unsupported |
| runtimeDescriptorArray | 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 |
| 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 (14)
| Limit | Stock | Mali-G68 MC4 |
|---|---|---|
| maxUniformBufferRange | 2147483648 | 65536 |
| maxStorageBufferRange | 2147483648 | 268435456 |
| maxMemoryAllocationCount | 16384 | 4294967295 |
| bufferImageGranularity | 1 | 4096 |
| maxBoundDescriptorSets | 7 | 4 |
| maxPerStageDescriptorUniformBuffers | 500000 | 36 |
| maxDescriptorSetUniformBuffers | 500000 | 216 |
| maxGeometryInputComponents | 128 | 64 |
| maxGeometryTotalOutputComponents | 2048 | 1024 |
| maxFragmentDualSrcAttachments | 8 | 0 |
| maxSamplerLodBias | 126 | 255 |
| maxInterpolationOffset | 0.4375 | 0.5 |
| lineWidthRange | 1, 4095.94 | 1, 1 |
| lineWidthGranularity | 0.0625 | 0 |
Formats supported by only one driver (0 gained, 14 lost)
- None
- A1B5G5R5_UNORM_PACK16
- A2R10G10B10_SSCALED_PACK32
- A2R10G10B10_USCALED_PACK32
- A8_UNORM
- B10X6G10X6R10X6G10X6_422_UNORM_4PACK16
- B8G8R8A8_SSCALED
- B8G8R8A8_USCALED
- B8G8R8_SSCALED
- B8G8R8_USCALED
- G10X6B10X6G10X6R10X6_422_UNORM_4PACK16
- G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
- G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
- R64_SINT
- R64_UINT