FauxVkDB
English
Home / Mali-G52 / Compare

mali-panvk-27.0.0-devel-r8 vs malisx2-0.2.2-18ad24d9a2

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.

Stockmalisx2-0.2.2-18ad24d9a2v1.r44p1-malisx2.0.2.2.s3a9ea6ba5513
vs
Custommali-panvk-27.0.0-devel-r8Mesa 27.0.0-devel (git-d896b0a9c1)
Graphics system version (Vulkan)1.1.363 to 1.3.363
Optional features (extensions)15 to 160+148 -3
Features that pass their check (validated)22 to 4525 pass only on mali-panvk-27.0.0-devel-r8 2 pass only on malisx2-0.2.2-18ad24d9a2
Speed test scenes (benchmark)2 faster 1 slower11% faster 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_nbody18% faster
  • oit_linked_lists3% slower
  • pipeline_barriers17% 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 2 scenes (compute_nbody: 5 of 2304 cells, pipeline_barriers: 1239 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 0 of 3, custom 3 of 3), subpasses (stock 0 of 3, custom 3 of 3).

malisx2-0.2.2-18ad24d9a2 details mali-panvk-27.0.0-devel-r8 details

Feature checks that differ (47)

Featuremalisx2-0.2.2-18ad24d9a2mali-panvk-27.0.0-devel-r8Change
limit.uniform_buffer_range
core
passfaillost
push.max_combined_image_samplers
core
passfaillost
borderColorSwizzle
VK_EXT_border_color_swizzle
unsupportedpassgained
colorWriteEnable
VK_EXT_color_write_enable
unsupportedpassgained
customBorderColors
VK_EXT_custom_border_color
unsupportedpassgained
depthClipControl
VK_EXT_depth_clip_control
unsupportedpassgained
extendedDynamicState
VK_EXT_extended_dynamic_state
unsupportedpassgained
extendedDynamicState2
VK_EXT_extended_dynamic_state2
unsupportedpassgained
extendedDynamicState2LogicOp
VK_EXT_extended_dynamic_state2
unsupportedpassgained
extendedDynamicState3ColorBlendEnable
VK_EXT_extended_dynamic_state3
unsupportedpassgained
extendedDynamicState3ColorBlendEquation
VK_EXT_extended_dynamic_state3
unsupportedpassgained
extendedDynamicState3ColorWriteMask
VK_EXT_extended_dynamic_state3
unsupportedpassgained
extendedDynamicState3DepthClampEnable
VK_EXT_extended_dynamic_state3
unsupportedpassgained
extendedDynamicState3LogicOpEnable
VK_EXT_extended_dynamic_state3
unsupportedpassgained
inlineUniformBlock
VK_EXT_inline_uniform_block
unsupportedpassgained
robustBufferAccess2
VK_EXT_robustness2
unsupportedpassgained
vertexInputDynamicState
VK_EXT_vertex_input_dynamic_state
unsupportedpassgained
timelineSemaphore
VK_KHR_timeline_semaphore
unsupportedpassgained
drawIndirectFirstInstance
VkPhysicalDeviceFeatures
unsupportedpassgained
geometryShader
VkPhysicalDeviceFeatures
unsupportedpassgained
multiDrawIndirect
VkPhysicalDeviceFeatures
unsupportedpassgained
multiViewport
VkPhysicalDeviceFeatures
unsupportedpassgained
occlusionQueryPrecise
VkPhysicalDeviceFeatures
failpassgained
tessellationShader
VkPhysicalDeviceFeatures
unsupportedpassgained
textureCompressionBC
VkPhysicalDeviceFeatures
unsupportedpassgained
core.msaa_resolve
core
failpassgained
stress.multi_draw_indirect_large
core
unsupportedpassgained
borderColorSwizzleFromImage
VK_EXT_border_color_swizzle
unsupporteduntestedchanged
depthBiasControl
VK_EXT_depth_bias_control
unsupporteduntestedchanged
depthBiasExact
VK_EXT_depth_bias_control
unsupporteduntestedchanged
extendedDynamicState3AlphaToCoverageEnable
VK_EXT_extended_dynamic_state3
unsupporteduntestedchanged
extendedDynamicState3DepthClipEnable
VK_EXT_extended_dynamic_state3
unsupporteduntestedchanged
extendedDynamicState3LineRasterizationMode
VK_EXT_extended_dynamic_state3
unsupporteduntestedchanged
extendedDynamicState3RasterizationSamples
VK_EXT_extended_dynamic_state3
unsupporteduntestedchanged
extendedDynamicState3SampleMask
VK_EXT_extended_dynamic_state3
unsupporteduntestedchanged
descriptorBindingInlineUniformBlockUpdateAfterBind
VK_EXT_inline_uniform_block
unsupporteduntestedchanged
nullDescriptor
VK_EXT_robustness2
unsupporteduntestedchanged
geometryStreams
VK_EXT_transform_feedback
unsupporteduntestedchanged
transformFeedback
VK_EXT_transform_feedback
unsupportedfailchanged
fillModeNonSolid
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
logicOp
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
shaderCullDistance
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
shaderInt64
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
vertexPipelineStoresAndAtomics
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
wideLines
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
compat.helper_loop_terminator
core
untestedfailchanged
compat.nested_map
core
untestedfailchanged

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.

Scenemalisx2-0.2.2-18ad24d9a2 msmali-panvk-27.0.0-devel-r8 msDifferenceStartsGPU clock, MHzPicture vs stock
compute_nbody103.19 typical 102.9487.12 typical 87.0218% faster3 of 3 vs 3 of 3? vs ? clock unknownno large difference 0.1 differs in 5 small areas worst 5.3 64x36
hdr_2160pn/a148.09 typical 147.38only one side0 of 3 vs 3 of 3? vs ? clock unknownnot checked
oit_linked_lists73.28 typical 72.9375.37 typical 73.793% slower3 of 3 vs 3 of 3? vs ? clock unknownno large difference 0.0 no small difference worst 0.0 64x36
pipeline_barriers87.05 typical 89.2874.16 typical 75.5317% faster3 of 3 vs 3 of 3? vs ? clock unknownno large difference 6.2 differs in 1239 small areas worst 45.7 64x36
subpassesn/a126.86 typical 127.21only one side0 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-panvk-27.0.0-devel-r8 against malisx2-0.2.2-18ad24d9a2. "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-panvk-27.0.0-devel-r8 (148)
  • VK_ANDROID_external_memory_android_hardware_buffer
  • VK_ARM_scheduling_controls
  • VK_ARM_shader_core_builtins
  • VK_ARM_shader_core_properties
  • VK_EXT_4444_formats
  • VK_EXT_astc_decode_mode
  • VK_EXT_attachment_feedback_loop_dynamic_state
  • VK_EXT_attachment_feedback_loop_layout
  • VK_EXT_border_color_swizzle
  • VK_EXT_buffer_device_address
  • VK_EXT_calibrated_timestamps
  • VK_EXT_color_write_enable
  • VK_EXT_custom_border_color
  • VK_EXT_debug_marker
  • VK_EXT_depth_bias_control
  • VK_EXT_depth_clamp_control
  • VK_EXT_depth_clamp_zero_one
  • VK_EXT_depth_clip_control
  • VK_EXT_depth_clip_enable
  • VK_EXT_device_address_binding_report
  • VK_EXT_device_memory_report
  • 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_external_memory_dma_buf
  • VK_EXT_global_priority
  • VK_EXT_global_priority_query
  • VK_EXT_graphics_pipeline_library
  • VK_EXT_hdr_metadata
  • VK_EXT_host_image_copy
  • VK_EXT_host_query_reset
  • VK_EXT_image_2d_view_of_3d
  • VK_EXT_image_compression_control
  • VK_EXT_image_drm_format_modifier
  • VK_EXT_image_robustness
  • VK_EXT_image_sliced_view_of_3d
  • VK_EXT_image_view_min_lod
  • VK_EXT_index_type_uint8
  • VK_EXT_inline_uniform_block
  • VK_EXT_legacy_dithering
  • VK_EXT_load_store_op_none
  • VK_EXT_map_memory_placed
  • VK_EXT_multisampled_render_to_single_sampled
  • VK_EXT_non_seamless_cube_map
  • VK_EXT_physical_device_drm
  • VK_EXT_pipeline_creation_cache_control
  • VK_EXT_pipeline_creation_feedback
  • VK_EXT_pipeline_robustness
  • VK_EXT_primitive_topology_list_restart
  • VK_EXT_private_data
  • VK_EXT_queue_family_foreign
  • VK_EXT_robustness2
  • VK_EXT_scalar_block_layout
  • VK_EXT_separate_stencil_usage
  • VK_EXT_shader_atomic_float
  • VK_EXT_shader_demote_to_helper_invocation
  • VK_EXT_shader_module_identifier
  • VK_EXT_shader_replicated_composites
  • VK_EXT_shader_stencil_export
  • VK_EXT_shader_subgroup_ballot
  • VK_EXT_shader_subgroup_vote
  • VK_EXT_shader_uniform_buffer_unsized_array
  • VK_EXT_subgroup_size_control
  • VK_EXT_texel_buffer_alignment
  • VK_EXT_texture_compression_astc_hdr
  • VK_EXT_tooling_info
  • VK_EXT_transform_feedback
  • VK_EXT_vertex_attribute_divisor
  • VK_EXT_vertex_input_dynamic_state
  • VK_EXT_zero_initialize_device_memory
  • VK_GOOGLE_decorate_string
  • VK_GOOGLE_hlsl_functionality1
  • VK_GOOGLE_user_type
  • VK_INTEL_shader_integer_functions2
  • VK_KHR_16bit_storage
  • VK_KHR_8bit_storage
  • VK_KHR_bind_memory2
  • VK_KHR_buffer_device_address
  • VK_KHR_calibrated_timestamps
  • VK_KHR_copy_commands2
  • VK_KHR_create_renderpass2
  • VK_KHR_dedicated_allocation
  • VK_KHR_depth_clamp_zero_one
  • VK_KHR_depth_stencil_resolve
  • VK_KHR_descriptor_update_template
  • VK_KHR_device_group
  • VK_KHR_dynamic_rendering
  • VK_KHR_dynamic_rendering_local_read
  • VK_KHR_external_fence
  • VK_KHR_external_memory
  • VK_KHR_external_memory_fd
  • VK_KHR_external_semaphore
  • VK_KHR_format_feature_flags2
  • VK_KHR_get_memory_requirements2
  • VK_KHR_global_priority
  • VK_KHR_image_format_list
  • VK_KHR_imageless_framebuffer
  • VK_KHR_index_type_uint8
  • VK_KHR_internally_synchronized_queues
  • VK_KHR_load_store_op_none
  • VK_KHR_maintenance1
  • VK_KHR_maintenance10
  • VK_KHR_maintenance11
  • VK_KHR_maintenance2
  • VK_KHR_maintenance3
  • VK_KHR_maintenance4
  • VK_KHR_maintenance5
  • VK_KHR_maintenance6
  • VK_KHR_maintenance7
  • VK_KHR_maintenance8
  • VK_KHR_maintenance9
  • VK_KHR_map_memory2
  • VK_KHR_multiview
  • VK_KHR_pipeline_binary
  • VK_KHR_pipeline_executable_properties
  • VK_KHR_pipeline_library
  • VK_KHR_relaxed_block_layout
  • VK_KHR_robustness2
  • VK_KHR_sampler_mirror_clamp_to_edge
  • VK_KHR_sampler_ycbcr_conversion
  • VK_KHR_separate_depth_stencil_layouts
  • VK_KHR_shader_clock
  • VK_KHR_shader_constant_data
  • VK_KHR_shader_draw_parameters
  • VK_KHR_shader_expect_assume
  • VK_KHR_shader_float16_int8
  • VK_KHR_shader_float_controls
  • VK_KHR_shader_float_controls2
  • VK_KHR_shader_fma
  • VK_KHR_shader_integer_dot_product
  • VK_KHR_shader_non_semantic_info
  • VK_KHR_shader_relaxed_extended_instruction
  • VK_KHR_shader_subgroup_extended_types
  • VK_KHR_shader_subgroup_rotate
  • VK_KHR_shader_terminate_invocation
  • VK_KHR_spirv_1_4
  • VK_KHR_storage_buffer_storage_class
  • VK_KHR_synchronization2
  • VK_KHR_timeline_semaphore
  • VK_KHR_unified_image_layouts
  • VK_KHR_uniform_buffer_standard_layout
  • VK_KHR_variable_pointers
  • VK_KHR_vertex_attribute_divisor
  • VK_KHR_vulkan_memory_model
  • VK_KHR_workgroup_memory_explicit_layout
  • VK_KHR_zero_initialize_workgroup_memory
Extensions only in malisx2-0.2.2-18ad24d9a2 (3)
  • VK_ARM_rasterization_order_attachment_access
  • VK_EXT_device_fault
  • VK_EXT_rasterization_order_attachment_access
Core features that differ (53)
multiview Vulkan 1.1unsupported to pass
samplerYcbcrConversion Vulkan 1.1unsupported to pass
shaderDrawParameters Vulkan 1.1unsupported to pass
storageBuffer16BitAccess Vulkan 1.1unsupported to pass
storageInputOutput16 Vulkan 1.1unsupported to pass
storagePushConstant16 Vulkan 1.1unsupported to pass
uniformAndStorageBuffer16BitAccess Vulkan 1.1unsupported to pass
variablePointers Vulkan 1.1unsupported to pass
variablePointersStorageBuffer Vulkan 1.1unsupported to pass
bufferDeviceAddress Vulkan 1.2unsupported to pass
descriptorBindingVariableDescriptorCount Vulkan 1.2unsupported to pass
hostQueryReset Vulkan 1.2unsupported to pass
imagelessFramebuffer Vulkan 1.2unsupported to pass
runtimeDescriptorArray Vulkan 1.2unsupported to pass
samplerMirrorClampToEdge Vulkan 1.2unsupported to pass
scalarBlockLayout Vulkan 1.2unsupported to pass
separateDepthStencilLayouts Vulkan 1.2unsupported to pass
shaderInputAttachmentArrayDynamicIndexing Vulkan 1.2unsupported to pass
shaderInputAttachmentArrayNonUniformIndexing Vulkan 1.2unsupported to pass
shaderInt8 Vulkan 1.2unsupported to pass
shaderSampledImageArrayNonUniformIndexing Vulkan 1.2unsupported to pass
shaderStorageBufferArrayNonUniformIndexing Vulkan 1.2unsupported to pass
shaderStorageImageArrayNonUniformIndexing Vulkan 1.2unsupported to pass
shaderStorageTexelBufferArrayDynamicIndexing Vulkan 1.2unsupported to pass
shaderStorageTexelBufferArrayNonUniformIndexing Vulkan 1.2unsupported to pass
shaderSubgroupExtendedTypes Vulkan 1.2unsupported to pass
shaderUniformBufferArrayNonUniformIndexing Vulkan 1.2unsupported to pass
shaderUniformTexelBufferArrayDynamicIndexing Vulkan 1.2unsupported to pass
shaderUniformTexelBufferArrayNonUniformIndexing Vulkan 1.2unsupported to pass
storageBuffer8BitAccess Vulkan 1.2unsupported to pass
storagePushConstant8 Vulkan 1.2unsupported to pass
subgroupBroadcastDynamicId Vulkan 1.2unsupported to pass
timelineSemaphore Vulkan 1.2unsupported to pass
uniformAndStorageBuffer8BitAccess Vulkan 1.2unsupported to pass
uniformBufferStandardLayout Vulkan 1.2unsupported to pass
vulkanMemoryModel Vulkan 1.2unsupported to pass
vulkanMemoryModelAvailabilityVisibilityChains Vulkan 1.2unsupported to pass
vulkanMemoryModelDeviceScope Vulkan 1.2unsupported to pass
computeFullSubgroups Vulkan 1.3unsupported to pass
descriptorBindingInlineUniformBlockUpdateAfterBind Vulkan 1.3unsupported to pass
dynamicRendering Vulkan 1.3unsupported to pass
inlineUniformBlock Vulkan 1.3unsupported to pass
maintenance4 Vulkan 1.3unsupported to pass
pipelineCreationCacheControl Vulkan 1.3unsupported to pass
privateData Vulkan 1.3unsupported to pass
robustImageAccess Vulkan 1.3unsupported to pass
shaderDemoteToHelperInvocation Vulkan 1.3unsupported to pass
shaderIntegerDotProduct Vulkan 1.3unsupported to pass
shaderTerminateInvocation Vulkan 1.3unsupported to pass
shaderZeroInitializeWorkgroupMemory Vulkan 1.3unsupported to pass
subgroupSizeControl Vulkan 1.3unsupported to pass
synchronization2 Vulkan 1.3unsupported to pass
textureCompressionASTC_HDR Vulkan 1.3unsupported to pass
Limits that differ (49)
Limitmalisx2-0.2.2-18ad24d9a2mali-panvk-27.0.0-devel-r8
maxImageDimension1D1638465536
maxImageDimension2D1638465536
maxImageDimension3D1638465536
maxImageDimensionCube1638465536
maxImageArrayLayers409665536
maxTexelBufferElements268435456134217728
maxUniformBufferRange655361048576
maxStorageBufferRange21474836484294967295
maxMemoryAllocationCount163844294967295
maxSamplerAllocationCount40004294967295
bufferImageGranularity164
sparseAddressSpaceSize030064771072
maxPerStageDescriptorSampledImages208256
maxPerStageResources664712
maxTessellationGenerationLevel064
maxTessellationPatchSize032
maxTessellationControlPerVertexInputComponents064
maxTessellationControlPerVertexOutputComponents064
maxTessellationControlPerPatchOutputComponents0120
maxTessellationControlTotalOutputComponents02048
maxTessellationEvaluationInputComponents064
maxTessellationEvaluationOutputComponents064
maxGeometryShaderInvocations032
maxGeometryInputComponents064
maxGeometryOutputComponents0128
maxGeometryOutputVertices0256
maxGeometryTotalOutputComponents01024
maxFragmentDualSrcAttachments18
maxDrawIndirectCount14294967295
maxSamplerLodBias126127.996
maxViewports116
minMemoryMapAlignment644096
minTexelBufferOffsetAlignment6416
minStorageBufferOffsetAlignment6416
subPixelInterpolationOffsetBits48
framebufferColorSampleCounts295
framebufferDepthSampleCounts295
framebufferStencilSampleCounts295
framebufferNoAttachmentsSampleCounts295
sampledImageColorSampleCounts295
sampledImageIntegerSampleCounts295
sampledImageDepthSampleCounts295
sampledImageStencilSampleCounts295
timestampComputeAndGraphics10
timestampPeriod76.92310
maxCullDistances08
pointSizeRange1, 10240.125, 4095.94
lineWidthRange1, 10, 7.99219
lineWidthGranularity00.0078125
Formats supported by only one driver (40 gained, 0 lost)

Only in mali-panvk-27.0.0-devel-r8:

  • A1B5G5R5_UNORM_PACK16
  • A4B4G4R4_UNORM_PACK16
  • A4R4G4B4_UNORM_PACK16
  • A8_UNORM
  • 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
  • BC4_SNORM_BLOCK
  • BC4_UNORM_BLOCK
  • BC5_SNORM_BLOCK
  • BC5_UNORM_BLOCK
  • BC6H_SFLOAT_BLOCK
  • BC6H_UFLOAT_BLOCK
  • BC7_SRGB_BLOCK
  • BC7_UNORM_BLOCK
  • G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
  • G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
  • G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16
  • G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16
  • G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16
  • G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16
  • G16_B16R16_2PLANE_420_UNORM
  • G16_B16R16_2PLANE_422_UNORM
  • G16_B16R16_2PLANE_444_UNORM
  • G8_B8R8_2PLANE_420_UNORM
  • G8_B8R8_2PLANE_422_UNORM
  • G8_B8R8_2PLANE_444_UNORM
  • G8_B8_R8_3PLANE_420_UNORM
  • G8_B8_R8_3PLANE_422_UNORM

Only in malisx2-0.2.2-18ad24d9a2:

  • None