mali-panvk-27.0.0-devel-r8 vs Mali-G52 MC2
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.
StockMali-G52 MC2
vsCustommali-panvk-27.0.0-devel-r8
Versione del sistema grafico (Vulkan)1.3.278 a 1.3.363
Funzionalità opzionali (estensioni)131 a 160+46 -17
Funzionalità che superano il controllo (validate)34 a 4514 superati solo su mali-panvk-27.0.0-devel-r8 3 superati solo su Mali-G52 MC2
Scene del test di velocità (benchmark)0 più veloci 4 più lente 1 alla pari14% più lento in totale (media geometrica)
Giochi che ogni driver potrebbe far girare (una stima dalla sua lista di funzionalità): verde probabile, giallo forse, arancione limitato, rosso no
StockDX92002+DX102006+DX112009+DX122015+Switch
CustomDX92002+DX102006+DX112009+DX122015+Switch
- compute_nbody20% più lento
- hdr_2160p2% più veloce
- oit_linked_lists13% più lento
- pipeline_barriers23% più lento
- subpasses13% più lento
Piccole aree dell'immagine differiscono dal driver stock in 1 scena (pipeline_barriers: 1422 di 2304 celle). L'immagine nel complesso corrisponde, quindi questo è un errore di rendering locale, non una scena diversa.
Dettagli di Mali-G52 MC2 Dettagli di mali-panvk-27.0.0-devel-r8
Controlli delle funzionalità che differiscono (37)
| Funzionalità | Stock | Custom | Variazione |
|---|---|---|---|
| transformFeedback | superato | fallito | in meno |
| shaderBufferInt64Atomics | superato | non supportata | in meno |
| limit.uniform_buffer_range | superato | fallito | in meno |
| colorWriteEnable | non supportata | superato | in più |
| depthClipControl | 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ù |
| robustBufferAccess2 | non supportata | superato | in più |
| multiDrawIndirect | non supportata | superato | in più |
| multiViewport | non supportata | superato | in più |
| textureCompressionBC | non supportata | superato | in più |
| push.max_uniform_buffers | non supportata | superato | in più |
| stress.multi_draw_indirect_large | non supportata | superato | in più |
| customBorderColorWithoutFormat | non testata | non supportata | cambiato |
| depthBiasControl | non supportata | non testata | cambiato |
| depthBiasExact | non supportata | non testata | cambiato |
| extendedDynamicState2PatchControlPoints | non testata | non supportata | cambiato |
| extendedDynamicState3AlphaToCoverageEnable | non supportata | non testata | cambiato |
| extendedDynamicState3DepthClipEnable | non supportata | non testata | cambiato |
| extendedDynamicState3ProvokingVertexMode | non testata | non supportata | cambiato |
| extendedDynamicState3RasterizationSamples | non supportata | non testata | cambiato |
| extendedDynamicState3TessellationDomainOrigin | non testata | non supportata | cambiato |
| nullDescriptor | non supportata | non testata | cambiato |
| geometryStreams | non supportata | non testata | cambiato |
| shaderSharedInt64Atomics | non testata | non supportata | cambiato |
| depthClamp | non supportata | non testata | cambiato |
| fillModeNonSolid | non supportata | non testata | cambiato |
| shaderClipDistance | non supportata | non testata | cambiato |
| shaderCullDistance | non supportata | non testata | cambiato |
| vertexPipelineStoresAndAtomics | non supportata | non testata | cambiato |
| compat.helper_loop_terminator | non testata | fallito | cambiato |
| compat.nested_map | non testata | fallito | cambiato |
| push.max_combined_image_samplers | non supportata | fallito | 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 | 70.13 | 87.12 | 20% più lento | 3 di 3 vs 3 di 3 | ? vs ? | nessuna differenza grande nessuna differenza piccola |
| hdr_2160p | 150.63 | 148.09 | 2% più veloce | 3 di 3 vs 3 di 3 | ? vs ? | nessuna differenza grande nessuna differenza piccola |
| oit_linked_lists | 65.71 | 75.37 | 13% più lento | 3 di 3 vs 3 di 3 | ? vs ? | nessuna differenza grande nessuna differenza piccola |
| pipeline_barriers | 56.80 | 74.16 | 23% più lento | 3 di 3 vs 3 di 3 | ? vs ? | nessuna differenza grande differisce in 1422 piccole aree |
| subpasses | 110.56 | 126.86 | 13% più lento | 3 di 3 vs 3 di 3 | ? vs ? | non controllato |
Differenze tecniche (Vulkan)
Estensioni solo in mali-panvk-27.0.0-devel-r8 (46)
- 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_graphics_pipeline_library
- VK_EXT_hdr_metadata
- VK_EXT_host_image_copy
- VK_EXT_image_view_min_lod
- VK_EXT_map_memory_placed
- VK_EXT_memory_budget
- VK_EXT_non_seamless_cube_map
- VK_EXT_physical_device_drm
- VK_EXT_robustness2
- 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_INTEL_shader_integer_functions2
- VK_KHR_depth_clamp_zero_one
- VK_KHR_internally_synchronized_queues
- VK_KHR_maintenance10
- VK_KHR_maintenance11
- VK_KHR_maintenance7
- VK_KHR_maintenance8
- VK_KHR_maintenance9
- VK_KHR_pipeline_binary
- VK_KHR_pipeline_executable_properties
- VK_KHR_pipeline_library
- VK_KHR_push_descriptor
- VK_KHR_robustness2
- VK_KHR_shader_clock
- VK_KHR_shader_constant_data
- VK_KHR_shader_fma
- VK_KHR_shader_relaxed_extended_instruction
- VK_KHR_unified_image_layouts
- VK_KHR_workgroup_memory_explicit_layout
Estensioni solo in Mali-G52 MC2 (17)
- VK_ANDROID_external_format_resolve
- VK_ARM_rasterization_order_attachment_access
- VK_EXT_device_fault
- VK_EXT_frame_boundary
- 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_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
Funzionalità di base che differiscono (16)
| descriptorBindingVariableDescriptorCount | non supportata a superato |
| runtimeDescriptorArray | non supportata a superato |
| shaderBufferInt64Atomics | superato a non supportata |
| shaderFloat16 | superato a non supportata |
| shaderInputAttachmentArrayDynamicIndexing | non supportata a superato |
| shaderInputAttachmentArrayNonUniformIndexing | non supportata a superato |
| shaderOutputViewportIndex | superato a non supportata |
| shaderSampledImageArrayNonUniformIndexing | non supportata a superato |
| shaderSharedInt64Atomics | superato a non supportata |
| shaderStorageBufferArrayNonUniformIndexing | non supportata a superato |
| shaderStorageImageArrayNonUniformIndexing | non supportata a superato |
| shaderStorageTexelBufferArrayDynamicIndexing | non supportata a superato |
| shaderStorageTexelBufferArrayNonUniformIndexing | non supportata a superato |
| shaderUniformBufferArrayNonUniformIndexing | non supportata a superato |
| shaderUniformTexelBufferArrayDynamicIndexing | non supportata a superato |
| shaderUniformTexelBufferArrayNonUniformIndexing | non supportata a superato |
Limiti che differiscono (52)
| Limite | Stock | Custom |
|---|---|---|
| maxImageDimension1D | 16384 | 65536 |
| maxImageDimension2D | 16384 | 65536 |
| maxImageDimension3D | 16384 | 65536 |
| maxImageDimensionCube | 16384 | 65536 |
| maxImageArrayLayers | 4096 | 65536 |
| maxTexelBufferElements | 268435456 | 134217728 |
| maxUniformBufferRange | 65536 | 1048576 |
| maxStorageBufferRange | 2147483648 | 4294967295 |
| maxMemoryAllocationCount | 16384 | 4294967295 |
| bufferImageGranularity | 1 | 64 |
| sparseAddressSpaceSize | 0 | 30064771072 |
| maxPerStageDescriptorUniformBuffers | 241 | 223 |
| maxPerStageDescriptorStorageBuffers | 35 | 64 |
| maxPerStageDescriptorStorageImages | 21 | 32 |
| maxPerStageResources | 570 | 712 |
| maxDescriptorSetSamplers | 768 | 65535 |
| maxDescriptorSetUniformBuffers | 1446 | 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 |
| maxTessellationControlPerVertexInputComponents | 128 | 64 |
| maxTessellationControlPerVertexOutputComponents | 128 | 64 |
| maxTessellationControlTotalOutputComponents | 4096 | 2048 |
| maxTessellationEvaluationInputComponents | 128 | 64 |
| maxTessellationEvaluationOutputComponents | 128 | 64 |
| maxGeometryInputComponents | 128 | 64 |
| maxGeometryTotalOutputComponents | 2048 | 1024 |
| maxFragmentCombinedOutputResources | 64 | 4360 |
| maxComputeWorkGroupCount | 4294967295, 4294967295, 4294967295 | 65535, 65535, 65535 |
| maxDrawIndirectCount | 1 | 4294967295 |
| maxSamplerLodBias | 126 | 127.996 |
| maxViewports | 1 | 16 |
| minMemoryMapAlignment | 64 | 4096 |
| minTexelBufferOffsetAlignment | 64 | 16 |
| minStorageBufferOffsetAlignment | 64 | 16 |
| maxInterpolationOffset | 0.4375 | 0.5 |
| subPixelInterpolationOffsetBits | 4 | 8 |
| framebufferNoAttachmentsSampleCounts | 29 | 5 |
| timestampComputeAndGraphics | 1 | 0 |
| timestampPeriod | 76.9231 | 0 |
| maxClipDistances | 0 | 8 |
| maxCullDistances | 0 | 8 |
| maxCombinedClipAndCullDistances | 0 | 8 |
| pointSizeRange | 1, 1024 | 0.125, 4095.94 |
| lineWidthRange | 1, 4095.94 | 0, 7.99219 |
| lineWidthGranularity | 0.0625 | 0.0078125 |
Formati supportati da un solo driver (27 in più, 10 in meno)
- 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
- 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
- G16_B16R16_2PLANE_420_UNORM
- G16_B16R16_2PLANE_422_UNORM
- G16_B16R16_2PLANE_444_UNORM
- G8_B8R8_2PLANE_444_UNORM
- R10X6G10X6_UNORM_2PACK16
- R10X6_UNORM_PACK16
- B10X6G10X6R10X6G10X6_422_UNORM_4PACK16
- B5G5R5A1_UNORM_PACK16
- B8G8R8G8_422_UNORM
- B8G8R8_SNORM
- G10X6B10X6G10X6R10X6_422_UNORM_4PACK16
- G8B8G8R8_422_UNORM
- R4G4_UNORM_PACK8
- R5G5B5A1_UNORM_PACK16
- R64_SINT
- R64_UINT