Panvk-Mali-G57-2.0-rc1 vs Mali-G68
On Mali-G68 (Infinix ZERO 5G 2023, LENOVO TB370FU, realme 10 Pro+ 5G, realme P1 5G, Samsung Galaxy A17 5G, Samsung Galaxy A25 5G, Samsung Galaxy A54 5G). The first driver named is compared against the second, which is the baseline.
StockMali-G68
vsCustomPanvk-Mali-G57-2.0-rc1
Graphics system version (Vulkan)1.3.219 to 1.1.177
Optional features (extensions)97 to 68+0 -29
Features that pass their check (validated)29 to 378 pass only on Panvk-Mali-G57-2.0-rc1 0 pass only on Mali-G68
Speed test scenes (benchmark)none comparable
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
Not compared: 2 scenes with a paced frame rate (compute_nbody, oit_linked_lists). At least one of the two drivers was held at a fixed frame rate there, so the two times do not measure the same thing.
Mali-G68 details Panvk-Mali-G57-2.0-rc1 details
Feature checks that differ (19)
| Feature | Stock | Custom | Change |
|---|---|---|---|
| borderColorSwizzle | unsupported | pass | gained |
| extendedDynamicState | fail | pass | gained |
| extendedDynamicState3DepthClampEnable | unsupported | pass | gained |
| vertexInputDynamicState | unsupported | pass | gained |
| shaderBufferInt64Atomics | unsupported | pass | gained |
| timelineSemaphore | fail | pass | gained |
| push.max_combined_image_samplers | unsupported | pass | gained |
| push.max_uniform_buffers | unsupported | pass | gained |
| borderColorSwizzleFromImage | unsupported | untested | changed |
| extendedDynamicState3DepthClipEnable | unsupported | untested | changed |
| extendedDynamicState3LineRasterizationMode | unsupported | untested | changed |
| extendedDynamicState3ProvokingVertexMode | unsupported | untested | changed |
| extendedDynamicState3SampleMask | unsupported | untested | changed |
| extendedDynamicState3TessellationDomainOrigin | unsupported | untested | changed |
| shaderSharedInt64Atomics | unsupported | untested | changed |
| dualSrcBlend | unsupported | untested | changed |
| logicOp | unsupported | untested | changed |
| shaderInt64 | unsupported | untested | changed |
| wideLines | unsupported | untested | 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 | Stock ms | Custom ms | Difference | Starts | GPU clock, MHz | Picture vs stock |
|---|---|---|---|---|---|---|
| compute_nbody | n/a | not compared | ? vs 3 of 3 | ? vs ? | not checked | |
| hdr_2160p | n/a | 74.82 | only one side | ? vs 3 of 3 | ? vs ? | not checked |
| oit_linked_lists | n/a | not compared | ? vs 3 of 3 | ? vs ? | not checked | |
| pipeline_barriers | n/a | 16.60 | only one side | ? vs 3 of 3 | ? vs ? | not checked |
| subpasses | n/a | 45.02 | only one side | ? vs 3 of 3 | ? vs ? | not checked |
Technical differences (Vulkan)
Extensions only in Panvk-Mali-G57-2.0-rc1 (0)
- None
Extensions only in Mali-G68 (29)
- VK_ARM_rasterization_order_attachment_access
- VK_EXT_extended_dynamic_state
- VK_EXT_extended_dynamic_state2
- VK_EXT_global_priority_query
- VK_EXT_hdr_metadata
- VK_EXT_image_compression_control
- VK_EXT_load_store_op_none
- VK_EXT_multisampled_render_to_single_sampled
- VK_EXT_pipeline_creation_cache_control
- VK_EXT_pipeline_creation_feedback
- VK_EXT_primitive_topology_list_restart
- VK_EXT_primitives_generated_query
- VK_EXT_private_data
- VK_EXT_rgba10x6_formats
- VK_EXT_shader_demote_to_helper_invocation
- VK_EXT_subpass_merge_feedback
- VK_EXT_swapchain_maintenance1
- VK_EXT_texel_buffer_alignment
- VK_EXT_tooling_info
- VK_KHR_copy_commands2
- VK_KHR_dynamic_rendering
- VK_KHR_format_feature_flags2
- VK_KHR_global_priority
- VK_KHR_maintenance4
- VK_KHR_shader_integer_dot_product
- VK_KHR_shader_terminate_invocation
- VK_KHR_swapchain_mutable_format
- VK_KHR_synchronization2
- VK_KHR_zero_initialize_workgroup_memory
Core features that differ (65)
| multiview | pass to unsupported |
| protectedMemory | pass to unsupported |
| samplerYcbcrConversion | pass to unsupported |
| shaderDrawParameters | pass to unsupported |
| storageBuffer16BitAccess | pass to unsupported |
| storageInputOutput16 | pass to unsupported |
| storagePushConstant16 | pass to unsupported |
| uniformAndStorageBuffer16BitAccess | pass to unsupported |
| variablePointers | pass to unsupported |
| variablePointersStorageBuffer | pass to unsupported |
| bufferDeviceAddress | pass to unsupported |
| 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 |
| descriptorBindingVariableDescriptorCount | pass to unsupported |
| descriptorIndexing | pass to unsupported |
| hostQueryReset | pass to unsupported |
| imagelessFramebuffer | pass to unsupported |
| runtimeDescriptorArray | pass to unsupported |
| samplerMirrorClampToEdge | pass to unsupported |
| scalarBlockLayout | pass to unsupported |
| separateDepthStencilLayouts | pass to unsupported |
| shaderFloat16 | pass to unsupported |
| shaderInputAttachmentArrayDynamicIndexing | pass to unsupported |
| shaderInputAttachmentArrayNonUniformIndexing | pass to unsupported |
| shaderInt8 | pass to unsupported |
| shaderOutputViewportIndex | pass to unsupported |
| shaderSampledImageArrayNonUniformIndexing | pass to unsupported |
| shaderStorageBufferArrayNonUniformIndexing | pass to unsupported |
| shaderStorageImageArrayNonUniformIndexing | pass to unsupported |
| shaderStorageTexelBufferArrayDynamicIndexing | pass to unsupported |
| shaderStorageTexelBufferArrayNonUniformIndexing | pass to unsupported |
| shaderSubgroupExtendedTypes | pass to unsupported |
| shaderUniformBufferArrayNonUniformIndexing | pass to unsupported |
| shaderUniformTexelBufferArrayDynamicIndexing | pass to unsupported |
| shaderUniformTexelBufferArrayNonUniformIndexing | pass to unsupported |
| storageBuffer8BitAccess | pass to unsupported |
| storagePushConstant8 | pass to unsupported |
| subgroupBroadcastDynamicId | pass to unsupported |
| timelineSemaphore | pass to unsupported |
| uniformAndStorageBuffer8BitAccess | pass to unsupported |
| uniformBufferStandardLayout | pass to unsupported |
| vulkanMemoryModel | pass to unsupported |
| vulkanMemoryModelAvailabilityVisibilityChains | pass to unsupported |
| vulkanMemoryModelDeviceScope | pass to unsupported |
| computeFullSubgroups | pass to unsupported |
| descriptorBindingInlineUniformBlockUpdateAfterBind | pass to unsupported |
| dynamicRendering | pass to unsupported |
| inlineUniformBlock | pass to unsupported |
| maintenance4 | pass to unsupported |
| pipelineCreationCacheControl | pass to unsupported |
| privateData | pass to unsupported |
| robustImageAccess | pass to unsupported |
| shaderDemoteToHelperInvocation | pass to unsupported |
| shaderIntegerDotProduct | pass to unsupported |
| shaderTerminateInvocation | pass to unsupported |
| shaderZeroInitializeWorkgroupMemory | pass to unsupported |
| subgroupSizeControl | pass to unsupported |
| synchronization2 | pass to unsupported |
| textureCompressionASTC_HDR | pass to unsupported |
Limits that differ (7)
| Limit | Stock | Custom |
|---|---|---|
| maxMemoryAllocationCount | 16384 | 4294967295 |
| bufferImageGranularity | 1 | 4096 |
| maxBoundDescriptorSets | 7 | 4 |
| maxGeometryInputComponents | 128 | 64 |
| maxGeometryTotalOutputComponents | 2048 | 1024 |
| maxSamplerLodBias | 126 | 255 |
| timestampPeriod | 38.4615 | 76.9231 |
Formats supported by only one driver (0 gained, 6 lost)
- None
- A2R10G10B10_SSCALED_PACK32
- A2R10G10B10_USCALED_PACK32
- B8G8R8A8_SSCALED
- B8G8R8A8_USCALED
- B8G8R8_SSCALED
- B8G8R8_USCALED