Panvk-Mali-G57-3.0 vs Mali-G52
Su 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, TECNO POVA 3, TECNO SPARK 20, Xiaomi 24049RN28L). Il primo driver nominato è confrontato con il secondo, che è la baseline.
- compute_nbody27% più lento
- hdr_2160p8% più veloce
- oit_linked_lists7% più lento
- pipeline_barriers51% più lento
- subpasses29% più lento
Piccole aree dell'immagine differiscono dal driver stock in 1 scena (pipeline_barriers: 1608 di 2304 celle). L'immagine nel complesso corrisponde, quindi questo è un errore di rendering locale, non una scena diversa.
Non è partito ogni volta: compute_nbody (stock 3 di 3, custom 2 di 3), hdr_2160p (stock 3 di 3, custom 0 di 3).
Dettagli di Mali-G52 Dettagli di Panvk-Mali-G57-3.0
Controlli delle funzionalità che differiscono (55)
| Funzionalità | Stock | Custom | Variazione |
|---|---|---|---|
| transformFeedback | superato | non supportata | in meno |
| geometryShader | superato | fallito | in meno |
| largePoints | superato | non testata | in meno |
| occlusionQueryPrecise | superato | fallito | in meno |
| tessellationShader | superato | non supportata | in meno |
| compat.helper_loop_terminator | superato | non testata | in meno |
| compat.nested_map | superato | non testata | in meno |
| core.blend_advertised_formats | superato | non testata | in meno |
| core.compute_big_stack | superato | non testata | in meno |
| core.host_coherent_readback | superato | non testata | in meno |
| core.mrt_partial_kill | superato | non testata | in meno |
| core.ubo_update_buffer | superato | non testata | in meno |
| core.ubo_written_after_record | superato | non testata | in meno |
| core.varying_subset | superato | non testata | in meno |
| limit.uniform_buffer_range | superato | fallito | in meno |
| mem.image_padding | superato | non testata | in meno |
| stage.geometry_max_output | superato | non testata | in meno |
| sync.first_submit_clear_then_compute | superato | non testata | in meno |
| borderColorSwizzle | non supportata | superato | in più |
| colorWriteEnable | non supportata | superato | in più |
| customBorderColors | non supportata | superato | in più |
| depthClipControl | non supportata | superato | in più |
| extendedDynamicState | non supportata | superato | in più |
| extendedDynamicState2 | non supportata | superato | in più |
| extendedDynamicState2LogicOp | non supportata | superato | in più |
| extendedDynamicState3ColorBlendEnable | non supportata | superato | in più |
| extendedDynamicState3ColorBlendEquation | non supportata | superato | in più |
| extendedDynamicState3ColorWriteMask | non supportata | superato | in più |
| extendedDynamicState3DepthClampEnable | non supportata | superato | in più |
| extendedDynamicState3LogicOpEnable | non supportata | superato | in più |
| vertexInputDynamicState | non supportata | superato | in più |
| timelineSemaphore | crash | superato | in più |
| textureCompressionBC | non supportata | superato | in più |
| push.max_combined_image_samplers | non supportata | superato | in più |
| push.max_uniform_buffers | non supportata | superato | in più |
| stress.submit_memory | inconcludente | superato | in più |
| borderColorSwizzleFromImage | non supportata | non testata | cambiato |
| depthBiasControl | non supportata | non testata | cambiato |
| depthBiasExact | non supportata | non testata | cambiato |
| extendedDynamicState3AlphaToCoverageEnable | non supportata | non testata | cambiato |
| extendedDynamicState3DepthClipEnable | non supportata | non testata | cambiato |
| extendedDynamicState3LineRasterizationMode | non supportata | non testata | cambiato |
| extendedDynamicState3RasterizationSamples | non supportata | non testata | cambiato |
| extendedDynamicState3SampleMask | non supportata | non testata | cambiato |
| descriptorBindingInlineUniformBlockUpdateAfterBind | non supportata | non testata | cambiato |
| depthClamp | non supportata | non testata | cambiato |
| dualSrcBlend | non supportata | non testata | cambiato |
| fillModeNonSolid | non supportata | non testata | cambiato |
| logicOp | non supportata | non testata | cambiato |
| multiViewport | non supportata | non testata | cambiato |
| shaderClipDistance | non supportata | non testata | cambiato |
| shaderCullDistance | non supportata | non testata | cambiato |
| shaderInt64 | non supportata | non testata | cambiato |
| wideLines | non supportata | non testata | cambiato |
| stage.geometry_point_size | non supportata | non testata | cambiato |
Scene del test di velocità (benchmark)
I due driver non sono stati misurati sullo stesso insieme di modelli di dispositivo. I frame time di dispositivi diversi non confrontano i driver, quindi leggi questi numeri tenendone conto.
| Scena | Stock ms | Custom ms | Differenza | Avvii | Clock GPU, MHz | Immagine vs stock |
|---|---|---|---|---|---|---|
| compute_nbody | 63.71 | 87.85 | 27% più lento | 3 di 3 vs 2 di 3 | ? vs ? | nessuna differenza grande nessuna differenza piccola |
| hdr_2160p | 160.91 | 149.04 | 8% più veloce | 3 di 3 vs 0 di 3 | ? vs ? | non controllato |
| oit_linked_lists | 71.56 | 77.01 | 7% più lento | 3 di 3 vs 3 di 3 | ? vs ? | nessuna differenza grande nessuna differenza piccola |
| pipeline_barriers | 44.54 | 91.08 | 51% più lento | 3 di 3 vs 3 di 3 | ? vs ? | nessuna differenza grande differisce in 1608 piccole aree |
| subpasses | 99.31 | 140.70 | 29% più lento | 3 di 3 vs 3 di 3 | ? vs ? | non controllato |
Differenze tecniche (Vulkan)
Estensioni solo in Panvk-Mali-G57-3.0 (85)
- VK_ARM_scheduling_controls
- VK_ARM_shader_core_builtins
- VK_ARM_shader_core_properties
- VK_EXT_4444_formats
- VK_EXT_attachment_feedback_loop_dynamic_state
- VK_EXT_attachment_feedback_loop_layout
- VK_EXT_border_color_swizzle
- VK_EXT_buffer_device_address
- VK_EXT_calibrated_timestamps
- VK_EXT_color_write_enable
- VK_EXT_custom_border_color
- VK_EXT_debug_marker
- 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_device_address_binding_report
- VK_EXT_device_memory_report
- VK_EXT_dynamic_rendering_unused_attachments
- VK_EXT_extended_dynamic_state
- VK_EXT_extended_dynamic_state2
- VK_EXT_extended_dynamic_state3
- VK_EXT_external_memory_acquire_unmodified
- VK_EXT_external_memory_host
- VK_EXT_global_priority_query
- VK_EXT_hdr_metadata
- VK_EXT_host_image_copy
- VK_EXT_image_2d_view_of_3d
- VK_EXT_image_sliced_view_of_3d
- VK_EXT_image_view_min_lod
- VK_EXT_legacy_dithering
- VK_EXT_load_store_op_none
- VK_EXT_memory_budget
- VK_EXT_multisampled_render_to_single_sampled
- VK_EXT_non_seamless_cube_map
- VK_EXT_physical_device_drm
- VK_EXT_pipeline_creation_cache_control
- VK_EXT_pipeline_creation_feedback
- VK_EXT_pipeline_robustness
- VK_EXT_primitive_topology_list_restart
- VK_EXT_private_data
- VK_EXT_provoking_vertex
- VK_EXT_shader_atomic_float
- VK_EXT_shader_demote_to_helper_invocation
- VK_EXT_shader_module_identifier
- VK_EXT_shader_replicated_composites
- VK_EXT_shader_stencil_export
- VK_EXT_shader_uniform_buffer_unsized_array
- VK_EXT_subgroup_size_control
- VK_EXT_swapchain_maintenance1
- VK_EXT_texel_buffer_alignment
- VK_EXT_tooling_info
- VK_EXT_vertex_attribute_divisor
- VK_EXT_vertex_input_dynamic_state
- VK_EXT_zero_initialize_device_memory
- VK_GOOGLE_decorate_string
- VK_GOOGLE_hlsl_functionality1
- VK_KHR_calibrated_timestamps
- VK_KHR_copy_commands2
- VK_KHR_dynamic_rendering
- VK_KHR_dynamic_rendering_local_read
- VK_KHR_format_feature_flags2
- VK_KHR_global_priority
- VK_KHR_index_type_uint8
- VK_KHR_line_rasterization
- VK_KHR_load_store_op_none
- VK_KHR_maintenance4
- VK_KHR_maintenance5
- VK_KHR_maintenance6
- VK_KHR_map_memory2
- VK_KHR_pipeline_executable_properties
- VK_KHR_pipeline_library
- VK_KHR_push_descriptor
- VK_KHR_shader_clock
- VK_KHR_shader_expect_assume
- VK_KHR_shader_float_controls2
- VK_KHR_shader_integer_dot_product
- VK_KHR_shader_non_semantic_info
- VK_KHR_shader_subgroup_rotate
- VK_KHR_shader_terminate_invocation
- VK_KHR_synchronization2
- VK_KHR_vertex_attribute_divisor
- VK_KHR_workgroup_memory_explicit_layout
- VK_KHR_zero_initialize_workgroup_memory
Estensioni solo in Mali-G52 (3)
- VK_EXT_astc_decode_mode
- VK_EXT_transform_feedback
- VK_KHR_shared_presentable_image
Funzionalità di base che differiscono (53)
| multiview | non supportata a superato |
| samplerYcbcrConversion | non supportata a superato |
| shaderDrawParameters | non supportata a superato |
| storageBuffer16BitAccess | non supportata a superato |
| storageInputOutput16 | non supportata a superato |
| storagePushConstant16 | non supportata a superato |
| uniformAndStorageBuffer16BitAccess | non supportata a superato |
| variablePointers | non supportata a superato |
| variablePointersStorageBuffer | non supportata a superato |
| bufferDeviceAddress | non supportata a superato |
| descriptorBindingVariableDescriptorCount | non supportata a superato |
| hostQueryReset | non supportata a superato |
| imagelessFramebuffer | non supportata a superato |
| runtimeDescriptorArray | non supportata a superato |
| samplerMirrorClampToEdge | non supportata a superato |
| scalarBlockLayout | non supportata a superato |
| separateDepthStencilLayouts | non supportata a superato |
| shaderInputAttachmentArrayDynamicIndexing | non supportata a superato |
| shaderInputAttachmentArrayNonUniformIndexing | non supportata a superato |
| shaderInt8 | non supportata a superato |
| shaderSampledImageArrayNonUniformIndexing | non supportata a superato |
| shaderStorageBufferArrayNonUniformIndexing | non supportata a superato |
| shaderStorageImageArrayNonUniformIndexing | non supportata a superato |
| shaderStorageTexelBufferArrayDynamicIndexing | non supportata a superato |
| shaderStorageTexelBufferArrayNonUniformIndexing | non supportata a superato |
| shaderSubgroupExtendedTypes | non supportata a superato |
| shaderUniformBufferArrayNonUniformIndexing | non supportata a superato |
| shaderUniformTexelBufferArrayDynamicIndexing | non supportata a superato |
| shaderUniformTexelBufferArrayNonUniformIndexing | non supportata a superato |
| storageBuffer8BitAccess | non supportata a superato |
| storagePushConstant8 | non supportata a superato |
| subgroupBroadcastDynamicId | non supportata a superato |
| timelineSemaphore | non supportata a superato |
| uniformAndStorageBuffer8BitAccess | non supportata a superato |
| uniformBufferStandardLayout | non supportata a superato |
| vulkanMemoryModel | non supportata a superato |
| vulkanMemoryModelAvailabilityVisibilityChains | non supportata a superato |
| vulkanMemoryModelDeviceScope | non supportata a superato |
| computeFullSubgroups | non supportata a superato |
| descriptorBindingInlineUniformBlockUpdateAfterBind | non supportata a superato |
| dynamicRendering | non supportata a superato |
| inlineUniformBlock | non supportata a superato |
| maintenance4 | non supportata a superato |
| pipelineCreationCacheControl | non supportata a superato |
| privateData | non supportata a superato |
| robustImageAccess | non supportata a superato |
| shaderDemoteToHelperInvocation | non supportata a superato |
| shaderIntegerDotProduct | non supportata a superato |
| shaderTerminateInvocation | non supportata a superato |
| shaderZeroInitializeWorkgroupMemory | non supportata a superato |
| subgroupSizeControl | non supportata a superato |
| synchronization2 | non supportata a superato |
| textureCompressionASTC_HDR | non supportata a superato |
Limiti che differiscono (53)
| Limite | Stock | Custom |
|---|---|---|
| maxImageDimension1D | 16384 | 65536 |
| maxImageDimension2D | 16383 | 65536 |
| maxImageDimension3D | 16383 | 65536 |
| maxImageDimensionCube | 16383 | 65536 |
| maxImageArrayLayers | 1024 | 65536 |
| maxTexelBufferElements | 65536 | 134217728 |
| maxUniformBufferRange | 65536 | 1048576 |
| maxStorageBufferRange | 268435456 | 4294967295 |
| bufferImageGranularity | 4096 | 64 |
| maxPerStageDescriptorUniformBuffers | 36 | 223 |
| maxPerStageDescriptorStorageBuffers | 35 | 64 |
| maxPerStageDescriptorStorageImages | 21 | 32 |
| maxPerStageResources | 365 | 712 |
| maxDescriptorSetSamplers | 768 | 65535 |
| maxDescriptorSetUniformBuffers | 216 | 223 |
| maxDescriptorSetUniformBuffersDynamic | 32 | 16 |
| maxDescriptorSetStorageBuffers | 210 | 4096 |
| maxDescriptorSetStorageBuffersDynamic | 32 | 8 |
| maxDescriptorSetSampledImages | 1536 | 65535 |
| maxDescriptorSetStorageImages | 126 | 256 |
| maxVertexInputAttributes | 32 | 16 |
| maxVertexInputBindings | 32 | 16 |
| maxVertexInputAttributeOffset | 2047 | 4294967295 |
| maxVertexInputBindingStride | 2048 | 65535 |
| 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 | 0 | 8 |
| maxFragmentCombinedOutputResources | 64 | 4360 |
| maxComputeWorkGroupCount | 4294967295, 4294967295, 4294967295 | 65535, 65535, 65535 |
| maxSamplerLodBias | 255 | 127.996 |
| maxViewportDimensions | 16383, 16383 | 16384, 16384 |
| viewportBoundsRange | -32766, 32765 | -32768, 32767 |
| minMemoryMapAlignment | 64 | 4096 |
| minTexelBufferOffsetAlignment | 64 | 16 |
| minStorageBufferOffsetAlignment | 64 | 16 |
| subPixelInterpolationOffsetBits | 4 | 8 |
| maxFramebufferWidth | 16383 | 16384 |
| maxFramebufferHeight | 16383 | 16384 |
| framebufferNoAttachmentsSampleCounts | 29 | 5 |
| pointSizeRange | 1, 1024 | 0.125, 4095.94 |
| lineWidthRange | 1, 1 | 0, 7.99219 |
| lineWidthGranularity | 0 | 0.0078125 |
Formati supportati da un solo driver (31 in più, 6 in meno)
- A1B5G5R5_UNORM_PACK16
- A2R10G10B10_SNORM_PACK32
- A2R10G10B10_SSCALED_PACK32
- A2R10G10B10_USCALED_PACK32
- A4B4G4R4_UNORM_PACK16
- A4R4G4B4_UNORM_PACK16
- A8_UNORM
- B8G8R8A8_SSCALED
- B8G8R8A8_USCALED
- B8G8R8_SSCALED
- B8G8R8_USCALED
- 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
- B5G5R5A1_UNORM_PACK16
- B8G8R8G8_422_UNORM
- B8G8R8_SNORM
- G8B8G8R8_422_UNORM
- R4G4_UNORM_PACK8
- R5G5B5A1_UNORM_PACK16