FauxVkDB
English
Home / Mali-G57 / Compare

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-G57v1.r49p1-04eac0.1a8f966a209e5d83e4361469c96196b3
vs
CustomMali-G57v1.r40p0-01eac0.b0251c048237dcd59e6be15fba11a31a
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

Custom driver against stock, per scene. Bars to the right are faster, to the left slower.

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)

FeatureStockMali-G57Change
extendedDynamicState
VK_EXT_extended_dynamic_state
passfaillost
extendedDynamicState3DepthClampEnable
VK_EXT_extended_dynamic_state3
passunsupportedlost
vertexInputDynamicState
VK_EXT_vertex_input_dynamic_state
passunsupportedlost
shaderBufferInt64Atomics
VK_KHR_shader_atomic_int64
passunsupportedlost
timelineSemaphore
VK_KHR_timeline_semaphore
passfaillost
depthClamp
VkPhysicalDeviceFeatures
passuntestedlost
largePoints
VkPhysicalDeviceFeatures
passuntestedlost
compat.helper_loop_terminator
core
passfaillost
push.max_combined_image_samplers
core
passunsupportedlost
push.max_uniform_buffers
core
passunsupportedlost
stress.submit_memory
core
passinconclusivelost
extendedDynamicState3DepthClipEnable
VK_EXT_extended_dynamic_state3
untestedunsupportedchanged
extendedDynamicState3LineRasterizationMode
VK_EXT_extended_dynamic_state3
untestedunsupportedchanged
extendedDynamicState3ProvokingVertexMode
VK_EXT_extended_dynamic_state3
untestedunsupportedchanged
extendedDynamicState3SampleMask
VK_EXT_extended_dynamic_state3
untestedunsupportedchanged
extendedDynamicState3TessellationDomainOrigin
VK_EXT_extended_dynamic_state3
untestedunsupportedchanged
shaderSharedInt64Atomics
VK_KHR_shader_atomic_int64
untestedunsupportedchanged
dualSrcBlend
VkPhysicalDeviceFeatures
untestedunsupportedchanged
logicOp
VkPhysicalDeviceFeatures
untestedunsupportedchanged
wideLines
VkPhysicalDeviceFeatures
untestedunsupportedchanged
stress.scratch_per_batch
core
unsupporteduntestedchanged

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.

SceneStock msMali-G57 msDifferenceStartsGPU clock, MHzPicture vs stock
compute_nbody37.01 typical 36.3628.52 typical 28.1930% faster3 of 3 vs 3 of 3? vs ? clock unknownno large difference 0.0 no small difference worst 0.0 64x36
hdr_2160p107.99 typical 107.40230.27 typical 225.4153% slower3 of 3 vs ?? vs ? clock unknownnot checked
oit_linked_lists42.86 typical 42.80145.73 typical 143.1771% slower3 of 3 vs 3 of 3? vs ? clock unknownno large difference 0.0 no small difference worst 0.0 64x36
pipeline_barriers22.44 typical 3.4131.05 typical 9.0128% slower3 of 3 vs 3 of 3? vs ? clock unknownno large difference 8.6 differs in 1466 small areas worst 81.0 64x36
subpasses62.67 typical 4.3449.14 typical 75.9828% faster3 of 3 vs 3 of 3? vs ? clock unknownnot checked

Time to draw one frame, per scene: the average (mean) frame time of the scene's best round, which is how many frames the driver delivered; lower is faster. "Typical" beside it is the median frame, which can sit well under the average when a driver's frames come in two speeds. A pair of reports made before per-round averages were recorded is compared on the median. A scene whose rounds disagree by more than 15% is left out. A scene marked "paced" was held at that mean frame time by the driver or the display queue, together with at least one other scene of the same run; its time says how the frames were spaced, not how fast the driver rendered, so it is not compared. A scene marked "too light" took under 8 ms at the standard size (1920 by 1080) on both drivers, where the screen's frame queue spaces the frames more than the chip does; its heavier run is the one compared: the row ending in _2160p is the scene drawn at 3840 by 2160, and compute_nbody_2x is that scene with twice the particles. "Faster" and "slower" describe Mali-G57 against Mali-G57. "Picture vs stock" compares one fixed frame per scene as a coarse colour grid (0 is identical, above 40 is a different picture); it finds a scene that was not drawn. Where both reports carry the finer 64x36 grid, the second figure is how many of its 2,304 cells differ by more than 4 of 255, and "worst" is the largest single cell; this is what finds a small rendering error in a picture that otherwise matches. A row marked 16x9 comes from a report made before the finer grid existed. "Starts" is how many of a scene's process starts reached a measured round. A GPU clock marked "not comparable" differed by more than 5% of the device's maximum between the two timings.

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 Vulkan 1.2pass to unsupported
shaderSharedInt64Atomics Vulkan 1.2pass to unsupported
Limits that differ (9)
LimitStockMali-G57
maxUniformBufferRange214748364865536
maxStorageBufferRange2147483648268435456
maxPerStageDescriptorUniformBuffers50000036
maxDescriptorSetUniformBuffers500000216
maxFragmentDualSrcAttachments80
maxSamplerLodBias126255
maxInterpolationOffset0.43750.5
lineWidthRange1, 4095.941, 1
lineWidthGranularity0.06250
Formats supported by only one driver (0 gained, 6 lost)

Only in Mali-G57:

  • None

Only in Mali-G57:

  • B10X6G10X6R10X6G10X6_422_UNORM_4PACK16
  • G10X6B10X6G10X6R10X6_422_UNORM_4PACK16
  • G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
  • G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
  • R64_SINT
  • R64_UINT