FauxVkDB
English
Home / Mali-G52 MC2 / Compare

Panvk-Mali-G57-3.0 vs PanVK-Kbase-g615-v11-csf-v0.1.0-rc3-5a07217f-EMULATOR

On Mali-G52 MC2 (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.

StockPanVK-Kbase-g615-v11-csf-v0.1.0-rc3-5a07217f-EMULATORv1.r49p1-03bet0.19498e0ae1d5dac223383c39a2e58f04
vs
CustomPanvk-Mali-G57-3.0FristOneRR 3.0 (Mesa 26.3.0-devel)
Graphics system version (Vulkan)1.3.278 to 1.3.354
Optional features (extensions)131 to 140+30 -21
Features that pass their check (validated)34 to 3911 pass only on Panvk-Mali-G57-3.0 6 pass only on PanVK-Kbase-g615-v11-csf-v0.1.0-rc3-5a07217f-EMULATOR
Speed test scenes (benchmark)0 faster 4 slower14% 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_nbody7% slower
  • oit_linked_lists12% slower
  • pipeline_barriers27% slower
  • subpasses9% 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 2 scenes (compute_nbody: 15 of 2304 cells, pipeline_barriers: 1165 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).

PanVK-Kbase-g615-v11-csf-v0.1.0-rc3-5a07217f-EMULATOR details Panvk-Mali-G57-3.0 details

Feature checks that differ (32)

FeaturePanVK-Kbase-g615-v11-csf-v0.1.0-rc3-5a07217f-EMULATORPanvk-Mali-G57-3.0Change
transformFeedback
VK_EXT_transform_feedback
passunsupportedlost
shaderBufferInt64Atomics
VK_KHR_shader_atomic_int64
passunsupportedlost
geometryShader
VkPhysicalDeviceFeatures
passfaillost
occlusionQueryPrecise
VkPhysicalDeviceFeatures
passfaillost
tessellationShader
VkPhysicalDeviceFeatures
passunsupportedlost
limit.uniform_buffer_range
core
passfaillost
colorWriteEnable
VK_EXT_color_write_enable
unsupportedpassgained
depthClipControl
VK_EXT_depth_clip_control
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
textureCompressionBC
VkPhysicalDeviceFeatures
unsupportedpassgained
push.max_combined_image_samplers
core
unsupportedpassgained
push.max_uniform_buffers
core
unsupportedpassgained
customBorderColorWithoutFormat
VK_EXT_custom_border_color
untestedunsupportedchanged
depthBiasControl
VK_EXT_depth_bias_control
unsupporteduntestedchanged
depthBiasExact
VK_EXT_depth_bias_control
unsupporteduntestedchanged
extendedDynamicState2PatchControlPoints
VK_EXT_extended_dynamic_state2
untestedunsupportedchanged
extendedDynamicState3AlphaToCoverageEnable
VK_EXT_extended_dynamic_state3
unsupporteduntestedchanged
extendedDynamicState3DepthClipEnable
VK_EXT_extended_dynamic_state3
unsupporteduntestedchanged
extendedDynamicState3ProvokingVertexMode
VK_EXT_extended_dynamic_state3
untestedunsupportedchanged
extendedDynamicState3RasterizationSamples
VK_EXT_extended_dynamic_state3
unsupporteduntestedchanged
extendedDynamicState3TessellationDomainOrigin
VK_EXT_extended_dynamic_state3
untestedunsupportedchanged
shaderSharedInt64Atomics
VK_KHR_shader_atomic_int64
untestedunsupportedchanged
depthClamp
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
fillModeNonSolid
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
multiViewport
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
shaderClipDistance
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
shaderCullDistance
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.

ScenePanVK-Kbase-g615-v11-csf-v0.1.0-rc3-5a07217f-EMULATOR msPanvk-Mali-G57-3.0 msDifferenceStartsGPU clock, MHzPicture vs stock
compute_nbody81.47 typical 81.8587.85 typical 86.947% slower3 of 3 vs 3 of 3? vs ? clock unknownno large difference 0.1 differs in 15 small areas worst 6.3 64x36
hdr_2160pn/a149.04 typical 148.57only one side0 of 3 vs 3 of 3? vs ? clock unknownnot checked
oit_linked_lists67.79 typical 67.6377.01 typical 78.5612% slower3 of 3 vs 3 of 3? vs ? clock unknownno large difference 0.0 no small difference worst 0.0 64x36
pipeline_barriers66.90 typical 67.9691.08 typical 92.1027% slower3 of 3 vs 3 of 3? vs ? clock unknownno large difference 6.6 differs in 1165 small areas worst 90.3 64x36
subpasses127.99 typical 128.74140.70 typical 139.359% 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-Mali-G57-3.0 against PanVK-Kbase-g615-v11-csf-v0.1.0-rc3-5a07217f-EMULATOR. "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-Mali-G57-3.0 (30)
  • VK_ARM_scheduling_controls
  • VK_EXT_attachment_feedback_loop_dynamic_state
  • VK_EXT_attachment_feedback_loop_layout
  • VK_EXT_buffer_device_address
  • VK_EXT_color_write_enable
  • 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_external_memory_host
  • VK_EXT_hdr_metadata
  • VK_EXT_host_image_copy
  • VK_EXT_image_view_min_lod
  • VK_EXT_memory_budget
  • VK_EXT_non_seamless_cube_map
  • VK_EXT_physical_device_drm
  • VK_EXT_shader_atomic_float
  • VK_EXT_shader_module_identifier
  • VK_EXT_shader_replicated_composites
  • VK_EXT_shader_stencil_export
  • VK_EXT_shader_uniform_buffer_unsized_array
  • VK_EXT_vertex_attribute_divisor
  • VK_EXT_zero_initialize_device_memory
  • VK_GOOGLE_hlsl_functionality1
  • VK_KHR_pipeline_executable_properties
  • VK_KHR_pipeline_library
  • VK_KHR_push_descriptor
  • VK_KHR_shader_clock
  • VK_KHR_workgroup_memory_explicit_layout
Extensions only in PanVK-Kbase-g615-v11-csf-v0.1.0-rc3-5a07217f-EMULATOR (21)
  • VK_ANDROID_external_format_resolve
  • VK_ARM_rasterization_order_attachment_access
  • VK_EXT_astc_decode_mode
  • VK_EXT_device_fault
  • VK_EXT_frame_boundary
  • VK_EXT_image_compression_control
  • VK_EXT_image_compression_control_swapchain
  • VK_EXT_pipeline_protected_access
  • VK_EXT_primitives_generated_query
  • VK_EXT_rasterization_order_attachment_access
  • VK_EXT_rgba10x6_formats
  • VK_EXT_shader_image_atomic_int64
  • VK_EXT_shader_tile_image
  • VK_EXT_subpass_merge_feedback
  • VK_EXT_transform_feedback
  • VK_GOOGLE_user_type
  • VK_KHR_shader_atomic_int64
  • VK_KHR_shader_maximal_reconvergence
  • VK_KHR_shader_quad_control
  • VK_KHR_shader_subgroup_uniform_control_flow
  • VK_KHR_shared_presentable_image
Core features that differ (16)
descriptorBindingVariableDescriptorCount Vulkan 1.2unsupported to pass
runtimeDescriptorArray Vulkan 1.2unsupported to pass
shaderBufferInt64Atomics Vulkan 1.2pass to unsupported
shaderFloat16 Vulkan 1.2pass to unsupported
shaderInputAttachmentArrayDynamicIndexing Vulkan 1.2unsupported to pass
shaderInputAttachmentArrayNonUniformIndexing Vulkan 1.2unsupported to pass
shaderOutputViewportIndex Vulkan 1.2pass to unsupported
shaderSampledImageArrayNonUniformIndexing Vulkan 1.2unsupported to pass
shaderSharedInt64Atomics Vulkan 1.2pass to unsupported
shaderStorageBufferArrayNonUniformIndexing Vulkan 1.2unsupported to pass
shaderStorageImageArrayNonUniformIndexing Vulkan 1.2unsupported to pass
shaderStorageTexelBufferArrayDynamicIndexing Vulkan 1.2unsupported to pass
shaderStorageTexelBufferArrayNonUniformIndexing Vulkan 1.2unsupported to pass
shaderUniformBufferArrayNonUniformIndexing Vulkan 1.2unsupported to pass
shaderUniformTexelBufferArrayDynamicIndexing Vulkan 1.2unsupported to pass
shaderUniformTexelBufferArrayNonUniformIndexing Vulkan 1.2unsupported to pass
Limits that differ (53)
LimitPanVK-Kbase-g615-v11-csf-v0.1.0-rc3-5a07217f-EMULATORPanvk-Mali-G57-3.0
maxImageDimension1D1638465536
maxImageDimension2D1638465536
maxImageDimension3D1638465536
maxImageDimensionCube1638465536
maxImageArrayLayers409665536
maxTexelBufferElements268435456134217728
maxUniformBufferRange655361048576
maxStorageBufferRange21474836484294967295
maxMemoryAllocationCount163844294967295
bufferImageGranularity164
maxBoundDescriptorSets74
maxPerStageDescriptorUniformBuffers241223
maxPerStageDescriptorStorageBuffers3564
maxPerStageDescriptorStorageImages2132
maxPerStageResources570712
maxDescriptorSetSamplers76865535
maxDescriptorSetUniformBuffers1446223
maxDescriptorSetUniformBuffersDynamic3216
maxDescriptorSetStorageBuffers2104096
maxDescriptorSetStorageBuffersDynamic328
maxDescriptorSetSampledImages153665535
maxDescriptorSetStorageImages126256
maxVertexInputAttributes3216
maxVertexInputBindings3216
maxVertexInputAttributeOffset20474294967295
maxVertexInputBindingStride204865535
maxTessellationGenerationLevel640
maxTessellationPatchSize320
maxTessellationControlPerVertexInputComponents1280
maxTessellationControlPerVertexOutputComponents1280
maxTessellationControlPerPatchOutputComponents1200
maxTessellationControlTotalOutputComponents40960
maxTessellationEvaluationInputComponents1280
maxTessellationEvaluationOutputComponents1280
maxGeometryShaderInvocations320
maxGeometryInputComponents1280
maxGeometryOutputComponents1280
maxGeometryOutputVertices2560
maxGeometryTotalOutputComponents20480
maxFragmentCombinedOutputResources644360
maxComputeWorkGroupCount4294967295, 4294967295, 429496729565535, 65535, 65535
maxSamplerLodBias126127.996
minMemoryMapAlignment644096
minTexelBufferOffsetAlignment6416
minStorageBufferOffsetAlignment6416
maxInterpolationOffset0.43750.5
subPixelInterpolationOffsetBits48
framebufferNoAttachmentsSampleCounts295
timestampComputeAndGraphics10
timestampPeriod76.92310
pointSizeRange1, 10240.125, 4095.94
lineWidthRange1, 4095.940, 7.99219
lineWidthGranularity0.06250.0078125
Formats supported by only one driver (21 gained, 12 lost)

Only in Panvk-Mali-G57-3.0:

  • A2R10G10B10_SNORM_PACK32
  • 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

Only in PanVK-Kbase-g615-v11-csf-v0.1.0-rc3-5a07217f-EMULATOR:

  • B10X6G10X6R10X6G10X6_422_UNORM_4PACK16
  • B5G5R5A1_UNORM_PACK16
  • B8G8R8G8_422_UNORM
  • B8G8R8_SNORM
  • G10X6B10X6G10X6R10X6_422_UNORM_4PACK16
  • G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
  • G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
  • G8B8G8R8_422_UNORM
  • R4G4_UNORM_PACK8
  • R5G5B5A1_UNORM_PACK16
  • R64_SINT
  • R64_UINT