FauxVkDB
English
Home / Mali-G52 / Compare

panvk-g76-armsx2-v9 vs mali-panvk-27.0.0-devel-r8

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, Samsung Galaxy A32, TECNO POVA 3, TECNO SPARK 10 Pro, TECNO SPARK 20, Vivo Y03, Xiaomi 24049RN28L). The first driver named is compared against the second, which is the baseline.

Stockmali-panvk-27.0.0-devel-r8Mesa 27.0.0-devel (git-d896b0a9c1)
vs
Custompanvk-g76-armsx2-v9Mesa 26.3.0-devel (git-d097871eb9)
Graphics system version (Vulkan)1.3.363 to 1.3.354
Optional features (extensions)160 to 160+9 -9
Features that pass their check (validated)45 to 390 pass only on panvk-g76-armsx2-v9 6 pass only on mali-panvk-27.0.0-devel-r8
Speed test scenes (benchmark)0 faster 2 slower 1 even8% 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_nbody1% slower
  • pipeline_barriers13% slower
  • subpasses8% 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: 1327 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 0 of 3).

mali-panvk-27.0.0-devel-r8 details panvk-g76-armsx2-v9 details

Feature checks that differ (14)

Featuremali-panvk-27.0.0-devel-r8panvk-g76-armsx2-v9Change
robustBufferAccess2
VK_EXT_robustness2
passunsupportedlost
geometryShader
VkPhysicalDeviceFeatures
passcrashlost
multiDrawIndirect
VkPhysicalDeviceFeatures
passfaillost
occlusionQueryPrecise
VkPhysicalDeviceFeatures
passfaillost
tessellationShader
VkPhysicalDeviceFeatures
passfaillost
textureCompressionBC
VkPhysicalDeviceFeatures
passunsupportedlost
nullDescriptor
VK_EXT_robustness2
untestedunsupportedchanged
geometryStreams
VK_EXT_transform_feedback
untestedunsupportedchanged
transformFeedback
VK_EXT_transform_feedback
failunsupportedchanged
shaderTessellationAndGeometryPointSize
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
vertexPipelineStoresAndAtomics
VkPhysicalDeviceFeatures
untestedunsupportedchanged
compat.helper_loop_terminator
core
failuntestedchanged
compat.nested_map
core
failuntestedchanged
push.max_combined_image_samplers
core
failcrashchanged

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.

Scenemali-panvk-27.0.0-devel-r8 mspanvk-g76-armsx2-v9 msDifferenceStartsGPU clock, MHzPicture vs stock
compute_nbody103.56 typical 103.10104.48 typical 104.281% slower3 of 3 vs 3 of 3? vs ? clock unknownno large difference 0.0 no small difference worst 0.0 64x36
hdr_2160p148.09 typical 147.38n/aonly one side0 of 3 vs 0 of 3? vs ? clock unknownnot checked
oit_linked_lists80.24n/aonly one side3 of 3 vs 3 of 3? vs ? clock unknownno large difference 0.0 no small difference worst 0.0 64x36
pipeline_barriers88.24 typical 90.54101.82 typical 101.5413% slower3 of 3 vs 3 of 3? vs ? clock unknownno large difference 9.3 differs in 1327 small areas worst 77.3 64x36
subpasses151.35 typical 152.48165.26 typical 164.228% 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 panvk-g76-armsx2-v9 against mali-panvk-27.0.0-devel-r8. "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-g76-armsx2-v9 (9)
  • VK_ARM_rasterization_order_attachment_access
  • VK_EXT_present_timing
  • VK_EXT_rasterization_order_attachment_access
  • VK_KHR_present_id
  • VK_KHR_present_id2
  • VK_KHR_present_wait
  • VK_KHR_present_wait2
  • VK_KHR_swapchain_maintenance1
  • VK_KHR_swapchain_mutable_format
Extensions only in mali-panvk-27.0.0-devel-r8 (9)
  • VK_EXT_astc_decode_mode
  • VK_EXT_image_compression_control
  • VK_EXT_robustness2
  • VK_EXT_transform_feedback
  • VK_INTEL_shader_integer_functions2
  • VK_KHR_maintenance10
  • VK_KHR_maintenance11
  • VK_KHR_robustness2
  • VK_KHR_shader_constant_data
Core features that differ (9)
descriptorBindingPartiallyBound Vulkan 1.2unsupported to pass
descriptorBindingSampledImageUpdateAfterBind Vulkan 1.2unsupported to pass
descriptorBindingStorageBufferUpdateAfterBind Vulkan 1.2unsupported to pass
descriptorBindingStorageImageUpdateAfterBind Vulkan 1.2unsupported to pass
descriptorBindingStorageTexelBufferUpdateAfterBind Vulkan 1.2unsupported to pass
descriptorBindingUniformBufferUpdateAfterBind Vulkan 1.2unsupported to pass
descriptorBindingUniformTexelBufferUpdateAfterBind Vulkan 1.2unsupported to pass
descriptorBindingUpdateUnusedWhilePending Vulkan 1.2unsupported to pass
descriptorIndexing Vulkan 1.2unsupported to pass
Limits that differ (11)
Limitmali-panvk-27.0.0-devel-r8panvk-g76-armsx2-v9
sparseAddressSpaceSize300647710720
maxBoundDescriptorSets74
maxTessellationControlPerVertexInputComponents64128
maxTessellationControlPerVertexOutputComponents64128
maxTessellationControlTotalOutputComponents20484096
maxTessellationEvaluationInputComponents64128
maxTessellationEvaluationOutputComponents64128
maxGeometryOutputComponents12864
maxClipDistances80
maxCullDistances80
maxCombinedClipAndCullDistances80
Formats supported by only one driver (0 gained, 16 lost)

Only in panvk-g76-armsx2-v9:

  • None

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

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