FauxVkDB
English
Home / Mali-G52 / Compare

mali-panvk-27.0.0-devel-r9 vs panvk-g76-kirin990-1.2.3

On Mali-G52 (CHUWI HiPad-Air, HONOR X5c, HONOR X5c, Infinix HOT 60i, Oppo A18, Oppo A38, realme RMX3710, Redmi 12, Redmi 12, Redmi 12C, Redmi 14C, Redmi 15C, Redmi A3 Pro, Samsung Galaxy A32, Samsung Galaxy Tab A8, TECNO POVA 3, TECNO SPARK 10 Pro, TECNO SPARK 20, Vivo Y03, Xiaomi 24040RN64Y, Xiaomi 24049RN28L). The first driver named is compared against the second, which is the baseline.

Stockpanvk-g76-kirin990-1.2.3PanVK-kbase G76-k990 1.2.3 (Mesa 26.3.0-devel (git-e53ed5c178))
vs
Custommali-panvk-27.0.0-devel-r9Mesa 27.0.0-devel (git-6dc24ce3e5)
Graphics system version (Vulkan)1.3.363 to 1.4.363
Optional features (extensions)165 to 160+7 -12
Features that pass their check (validated)63 to 622 pass only on mali-panvk-27.0.0-devel-r9 3 pass only on panvk-g76-kirin990-1.2.3
Speed test scenes (benchmark)2 faster 3 slower4% 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_nbody10% slower
  • hdr_2160p10% faster
  • oit_linked_lists53% faster
  • pipeline_barriers14% slower
  • subpasses4% slower

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

Picture does not match the stock driver in 1 scene (hdr_2160p). The custom driver drew something else there, so its frame time for that scene is not a fair number.

Small areas of the picture differ from the stock driver in 1 scene (pipeline_barriers: 1989 of 2304 cells). The picture matches overall, so this is a local rendering fault, not a different scene.

panvk-g76-kirin990-1.2.3 details mali-panvk-27.0.0-devel-r9 details

Feature checks that differ (12)

Featurepanvk-g76-kirin990-1.2.3mali-panvk-27.0.0-devel-r9Change
shaderBufferInt64Atomics
VK_KHR_shader_atomic_int64
passunsupportedlost
push.max_combined_image_samplers
core
passfaillost
stage.geometry_point_size
core
passunsupportedlost
perf.fb_local_barrier_large_draws
core
untestedpassgained
perf.fb_local_barrier_overdraw
core
untestedpassgained
customBorderColorWithoutFormat
VK_EXT_custom_border_color
untestedunsupportedchanged
extendedDynamicState2PatchControlPoints
VK_EXT_extended_dynamic_state2
untestedunsupportedchanged
shaderSharedInt64Atomics
VK_KHR_shader_atomic_int64
untestedunsupportedchanged
depthBounds
VkPhysicalDeviceFeatures
untestedunsupportedchanged
shaderTessellationAndGeometryPointSize
VkPhysicalDeviceFeatures
untestedunsupportedchanged
variableMultisampleRate
VkPhysicalDeviceFeatures
untestedunsupportedchanged
stress.scratch_per_batch
core
untestedunsupportedchanged

Speed test scenes (benchmark)

unverified panvk-g76-kirin990-1.2.3: 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.

Scenepanvk-g76-kirin990-1.2.3 msmali-panvk-27.0.0-devel-r9 msDifferenceStartsGPU clock, MHzPicture vs stock
compute_nbody79.10 typical 77.3488.37 typical 88.4510% slower3 of 3 vs 3 of 3? vs ? clock unknownno large difference 0.0 no small difference worst 2.0 64x36
hdr_2160p160.79 typical 156.92145.97 typical 145.9110% faster3 of 3 vs 3 of 3? vs ? clock unknowndiffers 135.1 differs in 2269 small areas worst 220.3 64x36
oit_linked_lists106.18 typical 104.2469.61 typical 67.5853% faster3 of 3 vs 3 of 3? vs ? clock unknownno large difference 0.0 no small difference worst 0.0 64x36
pipeline_barriers64.07 typical 63.4974.56 typical 75.7614% slower3 of 3 vs 3 of 3? vs ? clock unknownno large difference 18.1 differs in 1989 small areas worst 132.3 64x36
subpasses116.18 typical 116.69121.03 typical 121.434% slower3 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-r9 against panvk-g76-kirin990-1.2.3. "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-r9 (7)
  • VK_EXT_multisampled_render_to_single_sampled
  • VK_INTEL_shader_integer_functions2
  • VK_KHR_depth_clamp_zero_one
  • VK_KHR_maintenance10
  • VK_KHR_maintenance11
  • VK_KHR_pipeline_binary
  • VK_KHR_robustness2
Extensions only in panvk-g76-kirin990-1.2.3 (12)
  • VK_EXT_conditional_rendering
  • VK_EXT_descriptor_indexing
  • VK_EXT_mutable_descriptor_type
  • VK_EXT_present_timing
  • VK_KHR_present_id
  • VK_KHR_present_id2
  • VK_KHR_present_wait
  • VK_KHR_present_wait2
  • VK_KHR_shader_atomic_int64
  • VK_KHR_swapchain_maintenance1
  • VK_KHR_swapchain_mutable_format
  • VK_VALVE_mutable_descriptor_type
Core features that differ (28)
descriptorBindingPartiallyBound Vulkan 1.2pass to unsupported
descriptorBindingSampledImageUpdateAfterBind Vulkan 1.2pass to unsupported
descriptorBindingStorageBufferUpdateAfterBind Vulkan 1.2pass to unsupported
descriptorBindingStorageImageUpdateAfterBind Vulkan 1.2pass to unsupported
descriptorBindingStorageTexelBufferUpdateAfterBind Vulkan 1.2pass to unsupported
descriptorBindingUniformBufferUpdateAfterBind Vulkan 1.2pass to unsupported
descriptorBindingUniformTexelBufferUpdateAfterBind Vulkan 1.2pass to unsupported
descriptorBindingUpdateUnusedWhilePending Vulkan 1.2pass to unsupported
descriptorIndexing Vulkan 1.2pass to unsupported
shaderBufferInt64Atomics Vulkan 1.2pass to unsupported
shaderOutputViewportIndex Vulkan 1.2pass to unsupported
shaderSharedInt64Atomics Vulkan 1.2pass to unsupported
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 (8)
Limitpanvk-g76-kirin990-1.2.3mali-panvk-27.0.0-devel-r9
sparseAddressSpaceSize1714631475230064771072
maxTessellationControlPerVertexInputComponents12864
maxTessellationControlPerVertexOutputComponents12864
maxTessellationControlTotalOutputComponents40962048
maxTessellationEvaluationInputComponents12864
maxTessellationEvaluationOutputComponents12864
maxFragmentDualSrcAttachments18
maxDrawIndirectCount655354294967295
Formats supported by only one driver (8 gained, 0 lost)

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

  • 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
  • R10X6G10X6_UNORM_2PACK16
  • R10X6_UNORM_PACK16

Only in panvk-g76-kirin990-1.2.3:

  • None