PanVK-FristOneRR-V.3.6.0 vs Mesa-PanVK-Android-v26.3.1-795ca7ff
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, 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.
StockMesa-PanVK-Android-v26.3.1-795ca7ff
vsCustomPanVK-FristOneRR-V.3.6.0
Graphics system version (Vulkan)1.3.363 to 1.3.354
Optional features (extensions)166 to 142+2 -26
Features that pass their check (validated)47 to 55PanVK-FristOneRR-V.3.6.0: sent from a device this site could not confirm (unverified)17 pass only on PanVK-FristOneRR-V.3.6.0 9 pass only on Mesa-PanVK-Android-v26.3.1-795ca7ff
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
Mesa-PanVK-Android-v26.3.1-795ca7ff details PanVK-FristOneRR-V.3.6.0 details
Feature checks that differ (41)
| Feature | Mesa-PanVK-Android-v26.3.1-795ca7ff | PanVK-FristOneRR-V.3.6.0 | Change |
|---|---|---|---|
| transformFeedback | pass | unsupported | lost |
| shaderBufferInt64Atomics | pass | unsupported | lost |
| geometryShader | pass | unsupported | lost |
| multiDrawIndirect | pass | unsupported | lost |
| multiViewport | pass | unsupported | lost |
| occlusionQueryPrecise | pass | fail | lost |
| tessellationShader | pass | unsupported | lost |
| textureCompressionBC | pass | unsupported | lost |
| stress.multi_draw_indirect_large | pass | unsupported | lost |
| depthClamp | untested | pass | gained |
| largePoints | untested | pass | gained |
| compat.helper_loop_terminator | untested | pass | gained |
| compat.nested_map | untested | pass | gained |
| core.blend_advertised_formats | untested | pass | gained |
| core.compute_big_stack | untested | pass | gained |
| core.host_coherent_readback | untested | pass | gained |
| core.mrt_partial_kill | untested | pass | gained |
| core.ubo_update_buffer | untested | pass | gained |
| core.ubo_written_after_record | untested | pass | gained |
| core.varying_subset | untested | pass | gained |
| mem.image_padding | untested | pass | gained |
| perf.fb_local_barrier_large_draws | untested | pass | gained |
| perf.fb_local_barrier_overdraw | untested | pass | gained |
| push.max_combined_image_samplers | crash | pass | gained |
| stress.scratch_per_batch | untested | pass | gained |
| sync.first_submit_clear_then_compute | untested | pass | gained |
| customBorderColorWithoutFormat | untested | unsupported | changed |
| extendedDynamicState2PatchControlPoints | untested | unsupported | changed |
| robustImageAccess2 | fail | unsupported | changed |
| geometryStreams | untested | unsupported | changed |
| shaderSharedInt64Atomics | untested | unsupported | changed |
| depthBounds | untested | unsupported | changed |
| fillModeNonSolid | untested | unsupported | changed |
| pipelineStatisticsQuery | untested | unsupported | changed |
| shaderClipDistance | untested | unsupported | changed |
| shaderCullDistance | untested | unsupported | changed |
| shaderTessellationAndGeometryPointSize | untested | unsupported | changed |
| variableMultisampleRate | untested | unsupported | changed |
| vertexPipelineStoresAndAtomics | untested | unsupported | changed |
| stage.geometry_max_output | untested | unsupported | changed |
| stage.geometry_point_size | untested | unsupported | changed |
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.
| Scene | Mesa-PanVK-Android-v26.3.1-795ca7ff ms | PanVK-FristOneRR-V.3.6.0 ms | Difference | Starts | GPU clock, MHz | Picture vs stock |
|---|---|---|---|---|---|---|
| compute_nbody | n/a | 75.15 | only one side | ? vs 3 of 3 | ? vs ? | not checked |
| hdr_2160p | n/a | 167.46 | only one side | ? vs 3 of 3 | ? vs ? | not checked |
| oit_linked_lists | n/a | 88.56 | only one side | ? vs 3 of 3 | ? vs ? | not checked |
| pipeline_barriers | n/a | 74.84 | only one side | ? vs 3 of 3 | ? vs ? | not checked |
| subpasses | n/a | 8.26 | only one side | ? vs 3 of 3 | ? vs ? | not checked |
Technical differences (Vulkan)
Extensions only in PanVK-FristOneRR-V.3.6.0 (2)
- VK_EXT_external_memory_host
- VK_EXT_vertex_attribute_robustness
Extensions only in Mesa-PanVK-Android-v26.3.1-795ca7ff (26)
- VK_EXT_astc_decode_mode
- VK_EXT_conditional_rendering
- VK_EXT_descriptor_indexing
- VK_EXT_image_compression_control
- VK_EXT_map_memory_placed
- VK_EXT_mutable_descriptor_type
- VK_EXT_present_timing
- VK_EXT_swapchain_maintenance1
- VK_EXT_transform_feedback
- VK_GOOGLE_user_type
- VK_KHR_internally_synchronized_queues
- VK_KHR_maintenance7
- VK_KHR_maintenance8
- VK_KHR_maintenance9
- VK_KHR_present_id
- VK_KHR_present_id2
- VK_KHR_present_wait
- VK_KHR_present_wait2
- VK_KHR_shader_atomic_int64
- VK_KHR_shader_constant_data
- VK_KHR_shader_fma
- VK_KHR_shader_relaxed_extended_instruction
- VK_KHR_swapchain_maintenance1
- VK_KHR_swapchain_mutable_format
- VK_KHR_unified_image_layouts
- VK_VALVE_mutable_descriptor_type
Core features that differ (13)
| descriptorBindingPartiallyBound | pass to unsupported |
| descriptorBindingSampledImageUpdateAfterBind | pass to unsupported |
| descriptorBindingStorageBufferUpdateAfterBind | pass to unsupported |
| descriptorBindingStorageImageUpdateAfterBind | pass to unsupported |
| descriptorBindingStorageTexelBufferUpdateAfterBind | pass to unsupported |
| descriptorBindingUniformBufferUpdateAfterBind | pass to unsupported |
| descriptorBindingUniformTexelBufferUpdateAfterBind | pass to unsupported |
| descriptorBindingUpdateUnusedWhilePending | pass to unsupported |
| descriptorIndexing | pass to unsupported |
| shaderBufferInt64Atomics | pass to unsupported |
| shaderFloat16 | unsupported to pass |
| shaderOutputViewportIndex | pass to unsupported |
| shaderSharedInt64Atomics | pass to unsupported |
Limits that differ (27)
| Limit | Mesa-PanVK-Android-v26.3.1-795ca7ff | PanVK-FristOneRR-V.3.6.0 |
|---|---|---|
| sparseAddressSpaceSize | 17146314752 | 0 |
| maxBoundDescriptorSets | 7 | 4 |
| maxPerStageDescriptorSampledImages | 176 | 256 |
| maxPerStageDescriptorStorageImages | 64 | 32 |
| maxPerStageResources | 664 | 712 |
| maxTessellationGenerationLevel | 64 | 0 |
| maxTessellationPatchSize | 32 | 0 |
| maxTessellationControlPerVertexInputComponents | 128 | 0 |
| maxTessellationControlPerVertexOutputComponents | 128 | 0 |
| maxTessellationControlPerPatchOutputComponents | 120 | 0 |
| maxTessellationControlTotalOutputComponents | 4096 | 0 |
| maxTessellationEvaluationInputComponents | 128 | 0 |
| maxTessellationEvaluationOutputComponents | 128 | 0 |
| maxGeometryShaderInvocations | 32 | 0 |
| maxGeometryInputComponents | 64 | 0 |
| maxGeometryOutputComponents | 128 | 0 |
| maxGeometryOutputVertices | 256 | 0 |
| maxGeometryTotalOutputComponents | 1024 | 0 |
| maxFragmentDualSrcAttachments | 1 | 8 |
| maxDrawIndirectCount | 65535 | 1 |
| maxViewports | 16 | 1 |
| viewportSubPixelBits | 0 | 8 |
| timestampComputeAndGraphics | 1 | 0 |
| timestampPeriod | 76.9231 | 0 |
| maxClipDistances | 8 | 0 |
| maxCullDistances | 8 | 0 |
| maxCombinedClipAndCullDistances | 8 | 0 |
Formats supported by only one driver (0 gained, 0 lost)
- None
- None