FauxVkDB
English
Home / Mali-G52 / Compare

malisx2-0.2.3-b85d5f7f36 vs Mali-G52

On Mali-G52 (CHUWI HiPad-Air, HONOR X5c, HONOR X5c, Infinix HOT 60i, Oppo A18, Oppo A38, realme RMX3710, Redmi 12, Redmi 12C, Redmi 14C, Redmi 15C, TECNO POVA 3, TECNO SPARK 20, Xiaomi 24049RN28L). The first driver named is compared against the second, which is the baseline.

StockMali-G52v1.r27p0-01eac0.560a3910a3367e0bb739a6eb4e910d0f
vs
Custommalisx2-0.2.3-b85d5f7f36v1.r44p1-malisx2.0.2.3.s22f19f5370b1
Graphics system version (Vulkan)1.1.149 to 1.1.363
Optional features (extensions)58 to 15+8 -51
Features that pass their check (validated)39 to 22Mali-G52: sent from a device this site could not confirm (unverified)3 pass only on malisx2-0.2.3-b85d5f7f36 20 pass only on Mali-G52
Speed test scenes (benchmark)0 faster 3 slower32% 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_nbody38% slower
  • oit_linked_lists3% slower
  • pipeline_barriers49% slower

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: 1744 of 2304 cells). The picture matches overall, so this is a local rendering fault, not a different scene.

Did not start every time: hdr_2160p (stock 3 of 3, custom 0 of 3), subpasses (stock 3 of 3, custom 0 of 3).

Mali-G52 details malisx2-0.2.3-b85d5f7f36 details

Feature checks that differ (28)

Unverified Mali-G52: The results below were sent from a device this site could not confirm. A result the site counts replaces them.

FeatureStockCustomChange
inlineUniformBlock
VK_EXT_inline_uniform_block
passunsupportedlost
transformFeedback
VK_EXT_transform_feedback
passunsupportedlost
drawIndirectFirstInstance
VkPhysicalDeviceFeatures
passunsupportedlost
geometryShader
VkPhysicalDeviceFeatures
passunsupportedlost
largePoints
VkPhysicalDeviceFeatures
passuntestedlost
occlusionQueryPrecise
VkPhysicalDeviceFeatures
passfaillost
tessellationShader
VkPhysicalDeviceFeatures
passunsupportedlost
compat.helper_loop_terminator
core
passuntestedlost
compat.nested_map
core
passuntestedlost
core.blend_advertised_formats
core
passuntestedlost
core.compute_big_stack
core
passuntestedlost
core.host_coherent_readback
core
passuntestedlost
core.mrt_partial_kill
core
passuntestedlost
core.msaa_resolve
core
passfaillost
core.ubo_update_buffer
core
passuntestedlost
core.ubo_written_after_record
core
passuntestedlost
core.varying_subset
core
passuntestedlost
mem.image_padding
core
passuntestedlost
stage.geometry_max_output
core
passuntestedlost
sync.first_submit_clear_then_compute
core
passuntestedlost
push.max_combined_image_samplers
core
unsupportedpassgained
push.max_uniform_buffers
core
unsupportedpassgained
stress.submit_memory
core
inconclusivepassgained
timelineSemaphore
VK_KHR_timeline_semaphore
crashunsupportedchanged
depthClamp
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
dualSrcBlend
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
shaderClipDistance
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
stage.geometry_point_size
core
unsupporteduntestedchanged

Speed test scenes (benchmark)

unverified Mali-G52: The times below were sent from a device this site could not confirm. A result the site counts replaces them.

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 msCustom msDifferenceStartsGPU clock, MHzPicture vs stock
compute_nbody63.71 typical 62.83103.07 typical 103.0738% slower3 of 3 vs 3 of 3? vs ? clock unknownno large difference 0.0 no small difference worst 0.0 64x36
hdr_2160p160.91 typical 157.70n/aonly one side3 of 3 vs 0 of 3? vs ? clock unknownnot checked
oit_linked_lists71.56 typical 71.0373.68 typical 73.073% slower3 of 3 vs 3 of 3? vs ? clock unknownno large difference 0.0 no small difference worst 0.0 64x36
pipeline_barriers44.54 typical 3.4286.77 typical 88.9949% slower3 of 3 vs 3 of 3? vs ? clock unknownno large difference 10.0 differs in 1744 small areas worst 80.7 64x36
subpasses99.31 typical 3.84n/aonly one side3 of 3 vs 0 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 malisx2-0.2.3-b85d5f7f36 against Mali-G52. "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 malisx2-0.2.3-b85d5f7f36 (8)
  • VK_ARM_rasterization_order_attachment_access
  • VK_EXT_device_fault
  • VK_EXT_memory_budget
  • VK_EXT_provoking_vertex
  • VK_EXT_rasterization_order_attachment_access
  • VK_EXT_swapchain_maintenance1
  • VK_KHR_line_rasterization
  • VK_KHR_push_descriptor
Extensions only in Mali-G52 (51)
  • VK_ANDROID_external_memory_android_hardware_buffer
  • VK_EXT_astc_decode_mode
  • VK_EXT_external_memory_dma_buf
  • VK_EXT_global_priority
  • VK_EXT_host_query_reset
  • VK_EXT_image_drm_format_modifier
  • VK_EXT_image_robustness
  • VK_EXT_index_type_uint8
  • VK_EXT_inline_uniform_block
  • VK_EXT_queue_family_foreign
  • VK_EXT_scalar_block_layout
  • VK_EXT_separate_stencil_usage
  • VK_EXT_shader_subgroup_ballot
  • VK_EXT_shader_subgroup_vote
  • VK_EXT_texture_compression_astc_hdr
  • VK_EXT_transform_feedback
  • VK_KHR_16bit_storage
  • VK_KHR_8bit_storage
  • VK_KHR_bind_memory2
  • VK_KHR_buffer_device_address
  • VK_KHR_create_renderpass2
  • VK_KHR_dedicated_allocation
  • VK_KHR_depth_stencil_resolve
  • VK_KHR_descriptor_update_template
  • VK_KHR_device_group
  • VK_KHR_external_fence
  • VK_KHR_external_memory
  • VK_KHR_external_memory_fd
  • VK_KHR_external_semaphore
  • VK_KHR_get_memory_requirements2
  • VK_KHR_image_format_list
  • VK_KHR_imageless_framebuffer
  • VK_KHR_maintenance1
  • VK_KHR_maintenance2
  • VK_KHR_maintenance3
  • VK_KHR_multiview
  • VK_KHR_relaxed_block_layout
  • VK_KHR_sampler_mirror_clamp_to_edge
  • VK_KHR_sampler_ycbcr_conversion
  • VK_KHR_separate_depth_stencil_layouts
  • VK_KHR_shader_draw_parameters
  • VK_KHR_shader_float16_int8
  • VK_KHR_shader_float_controls
  • VK_KHR_shader_subgroup_extended_types
  • VK_KHR_shared_presentable_image
  • VK_KHR_spirv_1_4
  • VK_KHR_storage_buffer_storage_class
  • VK_KHR_timeline_semaphore
  • VK_KHR_uniform_buffer_standard_layout
  • VK_KHR_variable_pointers
  • VK_KHR_vulkan_memory_model
Core features that differ (0)
None
Limits that differ (58)
LimitStockCustom
maxImageDimension2D1638316384
maxImageDimension3D1638316384
maxImageDimensionCube1638316384
maxImageArrayLayers10244096
maxTexelBufferElements65536268435456
maxStorageBufferRange2684354562147483648
maxMemoryAllocationCount429496729516384
maxSamplerAllocationCount42949672954000
bufferImageGranularity40961
maxBoundDescriptorSets47
maxPerStageDescriptorUniformBuffers36223
maxPerStageDescriptorStorageBuffers3564
maxPerStageDescriptorSampledImages256208
maxPerStageDescriptorStorageImages2132
maxPerStageResources365664
maxDescriptorSetSamplers76865535
maxDescriptorSetUniformBuffers216223
maxDescriptorSetUniformBuffersDynamic3216
maxDescriptorSetStorageBuffers2104096
maxDescriptorSetStorageBuffersDynamic328
maxDescriptorSetSampledImages153665535
maxDescriptorSetStorageImages126256
maxVertexInputAttributes3216
maxVertexInputBindings3216
maxVertexInputAttributeOffset20474294967295
maxVertexInputBindingStride204865535
maxTessellationGenerationLevel640
maxTessellationPatchSize320
maxTessellationControlPerVertexInputComponents1280
maxTessellationControlPerVertexOutputComponents1280
maxTessellationControlPerPatchOutputComponents1200
maxTessellationControlTotalOutputComponents40960
maxTessellationEvaluationInputComponents1280
maxTessellationEvaluationOutputComponents1280
maxGeometryShaderInvocations320
maxGeometryInputComponents640
maxGeometryOutputComponents1280
maxGeometryOutputVertices2560
maxGeometryTotalOutputComponents10240
maxFragmentDualSrcAttachments01
maxFragmentCombinedOutputResources644360
maxComputeWorkGroupCount4294967295, 4294967295, 429496729565535, 65535, 65535
maxSamplerLodBias255126
maxViewportDimensions16383, 1638316384, 16384
viewportBoundsRange-32766, 32765-32768, 32767
maxFramebufferWidth1638316384
maxFramebufferHeight1638316384
framebufferColorSampleCounts529
framebufferDepthSampleCounts529
framebufferStencilSampleCounts529
sampledImageColorSampleCounts529
sampledImageIntegerSampleCounts529
sampledImageDepthSampleCounts529
sampledImageStencilSampleCounts529
timestampComputeAndGraphics01
timestampPeriod076.9231
maxClipDistances08
maxCombinedClipAndCullDistances08
Formats supported by only one driver (17 gained, 24 lost)

Only in malisx2-0.2.3-b85d5f7f36:

  • A2R10G10B10_SNORM_PACK32
  • A2R10G10B10_SSCALED_PACK32
  • A2R10G10B10_USCALED_PACK32
  • B8G8R8A8_SSCALED
  • B8G8R8A8_USCALED
  • B8G8R8_SSCALED
  • B8G8R8_USCALED
  • BC1_RGBA_SRGB_BLOCK
  • BC1_RGBA_UNORM_BLOCK
  • BC1_RGB_SRGB_BLOCK
  • BC1_RGB_UNORM_BLOCK
  • BC2_SRGB_BLOCK
  • BC2_UNORM_BLOCK
  • BC3_SRGB_BLOCK
  • BC3_UNORM_BLOCK
  • R10X6G10X6_UNORM_2PACK16
  • R10X6_UNORM_PACK16

Only in Mali-G52:

  • ASTC_10x10_SFLOAT_BLOCK
  • ASTC_10x5_SFLOAT_BLOCK
  • ASTC_10x6_SFLOAT_BLOCK
  • ASTC_10x8_SFLOAT_BLOCK
  • ASTC_12x10_SFLOAT_BLOCK
  • ASTC_12x12_SFLOAT_BLOCK
  • ASTC_4x4_SFLOAT_BLOCK
  • ASTC_5x4_SFLOAT_BLOCK
  • ASTC_5x5_SFLOAT_BLOCK
  • ASTC_6x5_SFLOAT_BLOCK
  • ASTC_6x6_SFLOAT_BLOCK
  • ASTC_8x5_SFLOAT_BLOCK
  • ASTC_8x6_SFLOAT_BLOCK
  • ASTC_8x8_SFLOAT_BLOCK
  • B5G5R5A1_UNORM_PACK16
  • B8G8R8G8_422_UNORM
  • B8G8R8_SNORM
  • G8B8G8R8_422_UNORM
  • G8_B8R8_2PLANE_420_UNORM
  • G8_B8R8_2PLANE_422_UNORM
  • G8_B8_R8_3PLANE_420_UNORM
  • G8_B8_R8_3PLANE_422_UNORM
  • R4G4_UNORM_PACK8
  • R5G5B5A1_UNORM_PACK16