Mali-G57 vs Mali-G57
On Mali-G57 (Anbernic RG556, Motorola moto g35 5G, Redmi A5, TECNO KL4). The first driver named is compared against the second, which is the baseline.
StockMali-G57
vsCustomMali-G57
Graphics system version (Vulkan)1.3.278 to 1.3.225
Optional features (extensions)121 to 97+0 -24
Features that pass their check (validated)53 to 420 pass only on Mali-G57 11 pass only on Mali-G57
Speed test scenes (benchmark)2 faster 3 slower30% slower overall (geometric mean)
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
- compute_nbody30% faster
- hdr_2160p53% slower
- oit_linked_lists71% slower
- pipeline_barriers28% slower
- subpasses28% faster
Small areas of the picture differ from the stock driver in 1 scene (pipeline_barriers: 1466 of 2304 cells). The picture matches overall, so this is a local rendering fault, not a different scene.
Mali-G57 details Mali-G57 details
Feature checks that differ (21)
| Feature | Stock | Mali-G57 | Change |
|---|---|---|---|
| extendedDynamicState | pass | fail | lost |
| extendedDynamicState3DepthClampEnable | pass | unsupported | lost |
| vertexInputDynamicState | pass | unsupported | lost |
| shaderBufferInt64Atomics | pass | unsupported | lost |
| timelineSemaphore | pass | fail | lost |
| depthClamp | pass | untested | lost |
| largePoints | pass | untested | lost |
| compat.helper_loop_terminator | pass | fail | lost |
| push.max_combined_image_samplers | pass | unsupported | lost |
| push.max_uniform_buffers | pass | unsupported | lost |
| stress.submit_memory | pass | inconclusive | lost |
| 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 |
| wideLines | untested | unsupported | changed |
| stress.scratch_per_batch | 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-G57 ms | Difference | Starts | GPU clock, MHz | Picture vs stock |
|---|---|---|---|---|---|---|
| compute_nbody | 37.01 | 28.52 | 30% faster | 3 of 3 vs 3 of 3 | ? vs ? | no large difference no small difference |
| hdr_2160p | 107.99 | 230.27 | 53% slower | 3 of 3 vs ? | ? vs ? | not checked |
| oit_linked_lists | 42.86 | 145.73 | 71% slower | 3 of 3 vs 3 of 3 | ? vs ? | no large difference no small difference |
| pipeline_barriers | 22.44 | 31.05 | 28% slower | 3 of 3 vs 3 of 3 | ? vs ? | no large difference differs in 1466 small areas |
| subpasses | 62.67 | 49.14 | 28% faster | 3 of 3 vs 3 of 3 | ? vs ? | not checked |
Technical differences (Vulkan)
Extensions only in Mali-G57 (0)
- None
Extensions only in Mali-G57 (24)
- VK_ARM_shader_core_builtins
- VK_ARM_shader_core_properties
- 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_state3
- VK_EXT_external_memory_acquire_unmodified
- VK_EXT_frame_boundary
- VK_EXT_image_2d_view_of_3d
- VK_EXT_image_sliced_view_of_3d
- VK_EXT_legacy_dithering
- VK_EXT_pipeline_protected_access
- VK_EXT_pipeline_robustness
- VK_EXT_shader_image_atomic_int64
- VK_EXT_shader_tile_image
- VK_EXT_swapchain_maintenance1
- VK_EXT_vertex_input_dynamic_state
- VK_GOOGLE_decorate_string
- VK_KHR_push_descriptor
- VK_KHR_shader_atomic_int64
- VK_KHR_shader_subgroup_uniform_control_flow
Core features that differ (2)
| shaderBufferInt64Atomics | pass to unsupported |
| shaderSharedInt64Atomics | pass to unsupported |
Limits that differ (9)
| Limit | Stock | Mali-G57 |
|---|---|---|
| maxUniformBufferRange | 2147483648 | 65536 |
| maxStorageBufferRange | 2147483648 | 268435456 |
| maxPerStageDescriptorUniformBuffers | 500000 | 36 |
| maxDescriptorSetUniformBuffers | 500000 | 216 |
| 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, 6 lost)
- None
- B10X6G10X6R10X6G10X6_422_UNORM_4PACK16
- G10X6B10X6G10X6R10X6_422_UNORM_4PACK16
- G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
- G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
- R64_SINT
- R64_UINT