mali-panvk-26.3.0-devel-r4 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.
StockMali-G52
vsCustommali-panvk-26.3.0-devel-r4
Versione del sistema grafico (Vulkan)1.1.149 a 1.3.358
Funzionalità opzionali (estensioni)58 a 154+98 -2
Funzionalità che superano il controllo (validate)39 a 44Mali-G52: inviato da un dispositivo che il sito non ha potuto confermare (non verificato)20 superati solo su mali-panvk-26.3.0-devel-r4 15 superati solo su Mali-G52
Scene del test di velocità (benchmark)nessuna scena in comune
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
Dettagli di Mali-G52 Dettagli di mali-panvk-26.3.0-devel-r4
Controlli delle funzionalità che differiscono (57)
| Funzionalità | Stock | Custom | Variazione |
|---|---|---|---|
| transformFeedback | superato | fallito | in meno |
| largePoints | superato | non testata | 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ù |
| robustBufferAccess2 | non supportata | superato | in più |
| vertexInputDynamicState | non supportata | superato | in più |
| timelineSemaphore | crash | superato | in più |
| multiDrawIndirect | non supportata | superato | in più |
| multiViewport | non supportata | superato | in più |
| push.max_uniform_buffers | non supportata | superato | in più |
| stress.multi_draw_indirect_large | 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 |
| nullDescriptor | non supportata | non testata | cambiato |
| geometryStreams | 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 |
| shaderClipDistance | non supportata | non testata | cambiato |
| shaderCullDistance | non supportata | non testata | cambiato |
| shaderInt64 | non supportata | non testata | cambiato |
| vertexPipelineStoresAndAtomics | non supportata | non testata | cambiato |
| wideLines | non supportata | non testata | cambiato |
| push.max_combined_image_samplers | non supportata | fallito | 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 | n/a | solo un lato | 3 di 3 vs 0 di 3 | ? vs ? | non controllato |
| hdr_2160p | 160.91 | n/a | solo un lato | 3 di 3 vs 0 di 3 | ? vs ? | non controllato |
| oit_linked_lists | 71.56 | n/a | solo un lato | 3 di 3 vs 0 di 3 | ? vs ? | non controllato |
| pipeline_barriers | 44.54 | n/a | solo un lato | 3 di 3 vs 0 di 3 | ? vs ? | non controllato |
| subpasses | 99.31 | n/a | solo un lato | 3 di 3 vs 0 di 3 | ? vs ? | non controllato |
Differenze tecniche (Vulkan)
Estensioni solo in mali-panvk-26.3.0-devel-r4 (98)
- 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_global_priority_query
- VK_EXT_graphics_pipeline_library
- 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_map_memory_placed
- 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_robustness2
- 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_GOOGLE_user_type
- VK_KHR_calibrated_timestamps
- VK_KHR_copy_commands2
- VK_KHR_depth_clamp_zero_one
- 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_internally_synchronized_queues
- VK_KHR_line_rasterization
- VK_KHR_load_store_op_none
- VK_KHR_maintenance4
- VK_KHR_maintenance5
- VK_KHR_maintenance6
- VK_KHR_maintenance7
- VK_KHR_maintenance8
- VK_KHR_maintenance9
- VK_KHR_map_memory2
- 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_expect_assume
- VK_KHR_shader_float_controls2
- VK_KHR_shader_fma
- VK_KHR_shader_integer_dot_product
- VK_KHR_shader_non_semantic_info
- VK_KHR_shader_relaxed_extended_instruction
- VK_KHR_shader_subgroup_rotate
- VK_KHR_shader_terminate_invocation
- VK_KHR_synchronization2
- VK_KHR_unified_image_layouts
- VK_KHR_vertex_attribute_divisor
- VK_KHR_workgroup_memory_explicit_layout
- VK_KHR_zero_initialize_workgroup_memory
Estensioni solo in Mali-G52 (2)
- VK_EXT_astc_decode_mode
- 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 (51)
| 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 |
| sparseAddressSpaceSize | 0 | 30064771072 |
| 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 |
| maxTessellationControlPerVertexInputComponents | 128 | 64 |
| maxTessellationControlPerVertexOutputComponents | 128 | 64 |
| maxTessellationControlTotalOutputComponents | 4096 | 2048 |
| maxTessellationEvaluationInputComponents | 128 | 64 |
| maxTessellationEvaluationOutputComponents | 128 | 64 |
| maxFragmentDualSrcAttachments | 0 | 8 |
| maxFragmentCombinedOutputResources | 64 | 4360 |
| maxComputeWorkGroupCount | 4294967295, 4294967295, 4294967295 | 65535, 65535, 65535 |
| maxDrawIndirectCount | 1 | 4294967295 |
| maxSamplerLodBias | 255 | 127.996 |
| maxViewports | 1 | 16 |
| 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 |
| maxClipDistances | 0 | 8 |
| maxCullDistances | 0 | 8 |
| maxCombinedClipAndCullDistances | 0 | 8 |
| pointSizeRange | 1, 1024 | 0.125, 4095.94 |
| lineWidthRange | 1, 1 | 0, 7.99219 |
| lineWidthGranularity | 0 | 0.0078125 |
Formati supportati da un solo driver (23 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
- 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