FauxVkDB
English
Home / Mali-G610 / Compare

panvk_faux123_ace_v0.36.0 vs Mali-G610 MC4

On Mali-G610 (GameForce Ace, Infinix GT 20 Pro, Nothing Phone (2a) Plus, Xiaomi 13T). The first driver named is compared against the second, which is the baseline.

StockMali-G610 MC4v1.r38p1-01eac0.ce623b7dd8f8f92ae690a9a38057e2b5
vs
Custompanvk_faux123_ace_v0.36.0PanVK-kbase beta.14 (Mesa 26.3.0-devel (git-5a07217f03))
Graphics system version (Vulkan)1.3.219 to 1.4.363
Optional features (extensions)98 to 185+92 -5
Features that pass their check (validated)32 to 5018 pass only on panvk_faux123_ace_v0.36.0 0 pass only on Mali-G610 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-G610 MC4 details panvk_faux123_ace_v0.36.0 details

Feature checks that differ (43)

FeatureStockCustomChange
borderColorSwizzle
VK_EXT_border_color_swizzle
unsupportedpassgained
colorWriteEnable
VK_EXT_color_write_enable
unsupportedpassgained
depthClipControl
VK_EXT_depth_clip_control
unsupportedpassgained
extendedDynamicState
VK_EXT_extended_dynamic_state
failpassgained
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
robustBufferAccess2
VK_EXT_robustness2
unsupportedpassgained
robustImageAccess2
VK_EXT_robustness2
unsupportedpassgained
vertexInputDynamicState
VK_EXT_vertex_input_dynamic_state
unsupportedpassgained
shaderBufferInt64Atomics
VK_KHR_shader_atomic_int64
unsupportedpassgained
multiViewport
VkPhysicalDeviceFeatures
unsupportedpassgained
textureCompressionBC
VkPhysicalDeviceFeatures
unsupportedpassgained
push.max_combined_image_samplers
core
unsupportedpassgained
push.max_uniform_buffers
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
extendedDynamicState3AlphaToOneEnable
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
nullDescriptor
VK_EXT_robustness2
unsupporteduntestedchanged
geometryStreams
VK_EXT_transform_feedback
unsupporteduntestedchanged
shaderSharedInt64Atomics
VK_KHR_shader_atomic_int64
unsupporteduntestedchanged
alphaToOne
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
depthBounds
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
dualSrcBlend
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
fillModeNonSolid
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
logicOp
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
pipelineStatisticsQuery
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
shaderClipDistance
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
shaderCullDistance
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
shaderInt64
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
shaderTessellationAndGeometryPointSize
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
variableMultisampleRate
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
vertexPipelineStoresAndAtomics
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
wideLines
VkPhysicalDeviceFeatures
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 msCustom msDifferenceStartsGPU clock, MHzPicture vs stock
compute_nbodyn/a19.00 typical 18.85only one side? vs 3 of 3? vs 883 clock unknownnot checked
hdr_2160pn/a57.63 typical 57.23only one side? vs ?? vs ? clock unknownnot checked
oit_linked_listsn/a19.72 typical 19.70only one side? vs 3 of 3? vs 1000 clock unknownnot checked
pipeline_barriersn/a10.20 typical 10.19only one side? vs 3 of 3? vs 1000 clock unknownnot checked
subpassesn/a19.31 typical 19.31only one side? vs 3 of 3? vs 900 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 panvk_faux123_ace_v0.36.0 against Mali-G610 MC4. "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 panvk_faux123_ace_v0.36.0 (92)
  • VK_ARM_scheduling_controls
  • VK_ARM_shader_core_builtins
  • VK_ARM_shader_core_properties
  • 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_color_write_enable
  • VK_EXT_conditional_rendering
  • 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_dynamic_rendering_unused_attachments
  • VK_EXT_extended_dynamic_state3
  • VK_EXT_external_memory_acquire_unmodified
  • VK_EXT_graphics_pipeline_library
  • VK_EXT_hdr_metadata
  • VK_EXT_host_image_copy
  • VK_EXT_image_2d_view_of_3d
  • VK_EXT_image_sliced_view_of_3d
  • VK_EXT_image_view_min_lod
  • VK_EXT_legacy_dithering
  • VK_EXT_map_memory_placed
  • VK_EXT_memory_budget
  • VK_EXT_memory_priority
  • VK_EXT_multi_draw
  • VK_EXT_mutable_descriptor_type
  • VK_EXT_nested_command_buffer
  • VK_EXT_non_seamless_cube_map
  • VK_EXT_pageable_device_local_memory
  • VK_EXT_physical_device_drm
  • VK_EXT_pipeline_robustness
  • VK_EXT_present_timing
  • VK_EXT_rasterization_order_attachment_access
  • VK_EXT_robustness2
  • VK_EXT_shader_atomic_float
  • VK_EXT_shader_image_atomic_int64
  • VK_EXT_shader_module_identifier
  • VK_EXT_shader_replicated_composites
  • VK_EXT_shader_stencil_export
  • VK_EXT_shader_tile_image
  • VK_EXT_shader_uniform_buffer_unsized_array
  • VK_EXT_vertex_attribute_divisor
  • VK_EXT_vertex_input_dynamic_state
  • VK_EXT_ycbcr_2plane_444_formats
  • VK_EXT_ycbcr_image_arrays
  • VK_EXT_zero_initialize_device_memory
  • VK_GOOGLE_decorate_string
  • VK_GOOGLE_hlsl_functionality1
  • VK_GOOGLE_user_type
  • VK_KHR_calibrated_timestamps
  • VK_KHR_compute_shader_derivatives
  • VK_KHR_copy_memory_indirect
  • VK_KHR_dynamic_rendering_local_read
  • VK_KHR_index_type_uint8
  • VK_KHR_internally_synchronized_queues
  • VK_KHR_line_rasterization
  • VK_KHR_load_store_op_none
  • VK_KHR_maintenance5
  • VK_KHR_maintenance6
  • VK_KHR_maintenance7
  • VK_KHR_maintenance8
  • VK_KHR_maintenance9
  • VK_KHR_map_memory2
  • VK_KHR_pipeline_executable_properties
  • VK_KHR_pipeline_library
  • VK_KHR_present_id
  • VK_KHR_present_id2
  • VK_KHR_present_wait
  • VK_KHR_present_wait2
  • VK_KHR_push_descriptor
  • VK_KHR_shader_atomic_int64
  • VK_KHR_shader_clock
  • VK_KHR_shader_constant_data
  • VK_KHR_shader_expect_assume
  • VK_KHR_shader_float_controls2
  • VK_KHR_shader_fma
  • VK_KHR_shader_maximal_reconvergence
  • VK_KHR_shader_quad_control
  • VK_KHR_shader_relaxed_extended_instruction
  • VK_KHR_shader_subgroup_rotate
  • VK_KHR_shader_subgroup_uniform_control_flow
  • VK_KHR_shader_untyped_pointers
  • VK_KHR_swapchain_maintenance1
  • VK_KHR_unified_image_layouts
  • VK_KHR_vertex_attribute_divisor
  • VK_KHR_workgroup_memory_explicit_layout
  • VK_VALVE_mutable_descriptor_type
Extensions only in Mali-G610 MC4 (5)
  • VK_EXT_fragment_density_map
  • VK_EXT_fragment_density_map2
  • VK_EXT_rgba10x6_formats
  • VK_EXT_subpass_merge_feedback
  • VK_KHR_shared_presentable_image
Core features that differ (18)
shaderBufferInt64Atomics Vulkan 1.2unsupported to pass
shaderSharedInt64Atomics Vulkan 1.2unsupported to pass
bresenhamLines Vulkan 1.4unsupported to pass
dynamicRenderingLocalRead Vulkan 1.4unsupported to pass
globalPriorityQuery Vulkan 1.4unsupported to pass
hostImageCopy Vulkan 1.4unsupported to pass
indexTypeUint8 Vulkan 1.4unsupported to pass
maintenance5 Vulkan 1.4unsupported to pass
maintenance6 Vulkan 1.4unsupported to pass
pipelineRobustness Vulkan 1.4unsupported to pass
pushDescriptor Vulkan 1.4unsupported to pass
rectangularLines Vulkan 1.4unsupported to pass
shaderExpectAssume Vulkan 1.4unsupported to pass
shaderFloatControls2 Vulkan 1.4unsupported to pass
shaderSubgroupRotate Vulkan 1.4unsupported to pass
shaderSubgroupRotateClustered Vulkan 1.4unsupported to pass
vertexAttributeInstanceRateDivisor Vulkan 1.4unsupported to pass
vertexAttributeInstanceRateZeroDivisor Vulkan 1.4unsupported to pass
Limits that differ (47)
LimitStockCustom
maxImageDimension1D3276865536
maxImageDimension2D3276865536
maxImageDimension3D3276865536
maxImageDimensionCube3276865536
maxImageArrayLayers409665536
maxTexelBufferElements268435456134217728
maxUniformBufferRange655361048576
maxStorageBufferRange2684354564294967295
maxMemoryAllocationCount163844294967295
bufferImageGranularity164
sparseAddressSpaceSize0140737454800896
maxPerStageDescriptorSamplers5000001048576
maxPerStageDescriptorUniformBuffers361048576
maxPerStageDescriptorStorageBuffers5000001048576
maxPerStageDescriptorSampledImages5000001048576
maxPerStageDescriptorStorageImages5000001048576
maxPerStageResources5000005242889
maxDescriptorSetSamplers5000001048576
maxDescriptorSetUniformBuffers2161048576
maxDescriptorSetUniformBuffersDynamic3216
maxDescriptorSetStorageBuffers5000001048576
maxDescriptorSetStorageBuffersDynamic328
maxDescriptorSetSampledImages5000001048576
maxDescriptorSetStorageImages5000001048576
maxVertexInputAttributes3216
maxVertexInputBindings3216
maxVertexInputAttributeOffset20474294967295
maxVertexInputBindingStride204865535
maxGeometryShaderInvocations3264
maxGeometryInputComponents12864
maxGeometryTotalOutputComponents20481024
maxFragmentDualSrcAttachments08
maxFragmentCombinedOutputResources10000084360
maxComputeWorkGroupCount4294967295, 4294967295, 429496729565535, 65535, 65535
maxSamplerLodBias126127.996
maxViewports116
minMemoryMapAlignment644096
minTexelBufferOffsetAlignment6416
minStorageBufferOffsetAlignment644
subPixelInterpolationOffsetBits48
timestampPeriod76.923141.6667
maxClipDistances08
maxCullDistances08
maxCombinedClipAndCullDistances08
pointSizeRange1, 10240.125, 4095.94
lineWidthRange1, 10, 7.99219
lineWidthGranularity00.0078125
Formats supported by only one driver (25 gained, 6 lost)

Only in panvk_faux123_ace_v0.36.0:

  • A1B5G5R5_UNORM_PACK16
  • A2R10G10B10_SNORM_PACK32
  • A8_UNORM
  • 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
  • BC4_SNORM_BLOCK
  • BC4_UNORM_BLOCK
  • BC5_SNORM_BLOCK
  • BC5_UNORM_BLOCK
  • BC6H_SFLOAT_BLOCK
  • BC6H_UFLOAT_BLOCK
  • BC7_SRGB_BLOCK
  • BC7_UNORM_BLOCK
  • G16_B16R16_2PLANE_420_UNORM
  • G16_B16R16_2PLANE_422_UNORM
  • G16_B16R16_2PLANE_444_UNORM
  • G8_B8R8_2PLANE_444_UNORM
  • R64_SINT
  • R64_UINT

Only in Mali-G610 MC4:

  • B5G5R5A1_UNORM_PACK16
  • B8G8R8G8_422_UNORM
  • B8G8R8_SNORM
  • G8B8G8R8_422_UNORM
  • R4G4_UNORM_PACK8
  • R5G5B5A1_UNORM_PACK16