Mali-G52 MC2 vs Mali-G52
En la 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). El primer driver que se nombra se compara con el segundo, que es la referencia (baseline).
De fábricaMali-G52
vsPersonalizadoMali-G52 MC2
Versión del sistema gráfico (Vulkan)1.1.149 a 1.3.278
Funciones opcionales (extensiones)58 a 131+73 -0
Funciones que pasan su comprobación (validadas)39 a 34Mali-G52: enviado desde un dispositivo que este sitio no pudo confirmar (sin verificar)8 pasan solo en Mali-G52 MC2 13 pasan solo en Mali-G52
Escenas de la prueba de velocidad (benchmark)2 más rápidas 3 más lentas6% más lento en general (media geométrica)
Juegos que podría mover cada driver (una estimación a partir de su lista de funciones): verde probable, amarillo quizá, naranja limitado, rojo no
De fábricaDX92002+DX102006+DX112009+DX122015+Switch
PersonalizadoDX92002+DX102006+DX112009+DX122015+Switch
- compute_nbody9% más lento
- hdr_2160p7% más rápido
- oit_linked_lists9% más rápido
- pipeline_barriers22% más lento
- subpasses10% más lento
Pequeñas zonas de la imagen difieren del driver de fábrica en 1 escena (pipeline_barriers: 1710 de 2304 celdas). La imagen coincide en general, así que es un fallo de renderizado local, no una escena distinta.
Detalles de Mali-G52 Detalles de Mali-G52 MC2
Comprobaciones de funciones que difieren (35)
| Función | De fábrica | Mali-G52 MC2 | Cambio |
|---|---|---|---|
| largePoints | pasa | sin probar | perdido |
| compat.helper_loop_terminator | pasa | sin probar | perdido |
| compat.nested_map | pasa | sin probar | perdido |
| core.blend_advertised_formats | pasa | sin probar | perdido |
| core.compute_big_stack | pasa | sin probar | perdido |
| core.host_coherent_readback | pasa | sin probar | perdido |
| core.mrt_partial_kill | pasa | sin probar | perdido |
| core.ubo_update_buffer | pasa | sin probar | perdido |
| core.ubo_written_after_record | pasa | sin probar | perdido |
| core.varying_subset | pasa | sin probar | perdido |
| mem.image_padding | pasa | sin probar | perdido |
| stage.geometry_max_output | pasa | sin probar | perdido |
| sync.first_submit_clear_then_compute | pasa | sin probar | perdido |
| borderColorSwizzle | no admitida | pasa | ganado |
| customBorderColors | no admitida | pasa | ganado |
| extendedDynamicState | no admitida | pasa | ganado |
| extendedDynamicState2 | no admitida | pasa | ganado |
| vertexInputDynamicState | no admitida | pasa | ganado |
| shaderBufferInt64Atomics | no admitida | pasa | ganado |
| timelineSemaphore | crash | pasa | ganado |
| stress.submit_memory | no concluyente | pasa | ganado |
| borderColorSwizzleFromImage | no admitida | sin probar | cambió |
| customBorderColorWithoutFormat | no admitida | sin probar | cambió |
| extendedDynamicState2PatchControlPoints | no admitida | sin probar | cambió |
| extendedDynamicState3LineRasterizationMode | no admitida | sin probar | cambió |
| extendedDynamicState3ProvokingVertexMode | no admitida | sin probar | cambió |
| extendedDynamicState3SampleMask | no admitida | sin probar | cambió |
| extendedDynamicState3TessellationDomainOrigin | no admitida | sin probar | cambió |
| descriptorBindingInlineUniformBlockUpdateAfterBind | no admitida | sin probar | cambió |
| shaderSharedInt64Atomics | no admitida | sin probar | cambió |
| dualSrcBlend | no admitida | sin probar | cambió |
| logicOp | no admitida | sin probar | cambió |
| shaderInt64 | no admitida | sin probar | cambió |
| wideLines | no admitida | sin probar | cambió |
| stage.geometry_point_size | no admitida | sin probar | cambió |
Escenas de la prueba de velocidad (benchmark)
Los dos drivers no se midieron en los mismos modelos de dispositivo. Los tiempos por fotograma de dispositivos distintos no sirven para comparar drivers, así que lee estas cifras con eso en mente.
| Escena | De fábrica ms | Mali-G52 MC2 ms | Diferencia | Arranques | Reloj de la GPU, MHz | Imagen vs de fábrica |
|---|---|---|---|---|---|---|
| compute_nbody | 63.71 | 70.13 | 9% más lento | 3 de 3 vs 3 de 3 | ? vs ? | sin gran diferencia sin diferencia pequeña |
| hdr_2160p | 160.91 | 150.63 | 7% más rápido | 3 de 3 vs 3 de 3 | ? vs ? | sin gran diferencia sin diferencia pequeña |
| oit_linked_lists | 71.56 | 65.71 | 9% más rápido | 3 de 3 vs 3 de 3 | ? vs ? | sin gran diferencia sin diferencia pequeña |
| pipeline_barriers | 44.54 | 56.80 | 22% más lento | 3 de 3 vs 3 de 3 | ? vs ? | sin gran diferencia difiere en 1710 zonas pequeñas |
| subpasses | 99.31 | 110.56 | 10% más lento | 3 de 3 vs 3 de 3 | ? vs ? | sin comprobar |
Diferencias técnicas (Vulkan)
Extensiones solo en Mali-G52 MC2 (73)
- VK_ANDROID_external_format_resolve
- VK_ARM_rasterization_order_attachment_access
- VK_ARM_shader_core_builtins
- VK_ARM_shader_core_properties
- VK_EXT_4444_formats
- VK_EXT_border_color_swizzle
- VK_EXT_calibrated_timestamps
- VK_EXT_custom_border_color
- VK_EXT_debug_marker
- VK_EXT_device_address_binding_report
- VK_EXT_device_fault
- 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_frame_boundary
- VK_EXT_global_priority_query
- VK_EXT_image_2d_view_of_3d
- VK_EXT_image_compression_control
- VK_EXT_image_compression_control_swapchain
- VK_EXT_image_sliced_view_of_3d
- VK_EXT_legacy_dithering
- 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_pipeline_protected_access
- VK_EXT_pipeline_robustness
- VK_EXT_primitive_topology_list_restart
- VK_EXT_primitives_generated_query
- VK_EXT_private_data
- VK_EXT_provoking_vertex
- VK_EXT_rasterization_order_attachment_access
- VK_EXT_rgba10x6_formats
- VK_EXT_shader_demote_to_helper_invocation
- VK_EXT_shader_image_atomic_int64
- VK_EXT_shader_tile_image
- VK_EXT_subgroup_size_control
- VK_EXT_subpass_merge_feedback
- VK_EXT_swapchain_maintenance1
- VK_EXT_texel_buffer_alignment
- VK_EXT_tooling_info
- VK_EXT_vertex_input_dynamic_state
- VK_GOOGLE_decorate_string
- VK_GOOGLE_user_type
- 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_shader_atomic_int64
- VK_KHR_shader_expect_assume
- VK_KHR_shader_float_controls2
- VK_KHR_shader_integer_dot_product
- VK_KHR_shader_maximal_reconvergence
- VK_KHR_shader_non_semantic_info
- VK_KHR_shader_quad_control
- VK_KHR_shader_subgroup_rotate
- VK_KHR_shader_subgroup_uniform_control_flow
- VK_KHR_shader_terminate_invocation
- VK_KHR_synchronization2
- VK_KHR_vertex_attribute_divisor
- VK_KHR_zero_initialize_workgroup_memory
Extensiones solo en Mali-G52 (0)
- Ninguno
Funciones básicas que difieren (45)
| multiview | no admitida a pasa |
| samplerYcbcrConversion | no admitida a pasa |
| shaderDrawParameters | no admitida a pasa |
| storageBuffer16BitAccess | no admitida a pasa |
| storageInputOutput16 | no admitida a pasa |
| storagePushConstant16 | no admitida a pasa |
| uniformAndStorageBuffer16BitAccess | no admitida a pasa |
| variablePointers | no admitida a pasa |
| variablePointersStorageBuffer | no admitida a pasa |
| bufferDeviceAddress | no admitida a pasa |
| hostQueryReset | no admitida a pasa |
| imagelessFramebuffer | no admitida a pasa |
| samplerMirrorClampToEdge | no admitida a pasa |
| scalarBlockLayout | no admitida a pasa |
| separateDepthStencilLayouts | no admitida a pasa |
| shaderBufferInt64Atomics | no admitida a pasa |
| shaderFloat16 | no admitida a pasa |
| shaderInt8 | no admitida a pasa |
| shaderOutputViewportIndex | no admitida a pasa |
| shaderSharedInt64Atomics | no admitida a pasa |
| shaderSubgroupExtendedTypes | no admitida a pasa |
| storageBuffer8BitAccess | no admitida a pasa |
| storagePushConstant8 | no admitida a pasa |
| subgroupBroadcastDynamicId | no admitida a pasa |
| timelineSemaphore | no admitida a pasa |
| uniformAndStorageBuffer8BitAccess | no admitida a pasa |
| uniformBufferStandardLayout | no admitida a pasa |
| vulkanMemoryModel | no admitida a pasa |
| vulkanMemoryModelAvailabilityVisibilityChains | no admitida a pasa |
| vulkanMemoryModelDeviceScope | no admitida a pasa |
| computeFullSubgroups | no admitida a pasa |
| descriptorBindingInlineUniformBlockUpdateAfterBind | no admitida a pasa |
| dynamicRendering | no admitida a pasa |
| inlineUniformBlock | no admitida a pasa |
| maintenance4 | no admitida a pasa |
| pipelineCreationCacheControl | no admitida a pasa |
| privateData | no admitida a pasa |
| robustImageAccess | no admitida a pasa |
| shaderDemoteToHelperInvocation | no admitida a pasa |
| shaderIntegerDotProduct | no admitida a pasa |
| shaderTerminateInvocation | no admitida a pasa |
| shaderZeroInitializeWorkgroupMemory | no admitida a pasa |
| subgroupSizeControl | no admitida a pasa |
| synchronization2 | no admitida a pasa |
| textureCompressionASTC_HDR | no admitida a pasa |
Límites que difieren (25)
| Límite | De fábrica | Mali-G52 MC2 |
|---|---|---|
| maxImageDimension2D | 16383 | 16384 |
| maxImageDimension3D | 16383 | 16384 |
| maxImageDimensionCube | 16383 | 16384 |
| maxImageArrayLayers | 1024 | 4096 |
| maxTexelBufferElements | 65536 | 268435456 |
| maxStorageBufferRange | 268435456 | 2147483648 |
| maxMemoryAllocationCount | 4294967295 | 16384 |
| bufferImageGranularity | 4096 | 1 |
| maxBoundDescriptorSets | 4 | 7 |
| maxPerStageDescriptorUniformBuffers | 36 | 241 |
| maxPerStageResources | 365 | 570 |
| maxDescriptorSetUniformBuffers | 216 | 1446 |
| maxGeometryInputComponents | 64 | 128 |
| maxGeometryTotalOutputComponents | 1024 | 2048 |
| maxFragmentDualSrcAttachments | 0 | 8 |
| maxSamplerLodBias | 255 | 126 |
| maxViewportDimensions | 16383, 16383 | 16384, 16384 |
| viewportBoundsRange | -32766, 32765 | -32768, 32767 |
| maxInterpolationOffset | 0.5 | 0.4375 |
| maxFramebufferWidth | 16383 | 16384 |
| maxFramebufferHeight | 16383 | 16384 |
| timestampComputeAndGraphics | 0 | 1 |
| timestampPeriod | 0 | 76.9231 |
| lineWidthRange | 1, 1 | 1, 4095.94 |
| lineWidthGranularity | 0 | 0.0625 |
Formatos admitidos por un solo driver (16 ganados, 0 perdidos)
- A1B5G5R5_UNORM_PACK16
- A2R10G10B10_SSCALED_PACK32
- A2R10G10B10_USCALED_PACK32
- A4B4G4R4_UNORM_PACK16
- A4R4G4B4_UNORM_PACK16
- A8_UNORM
- B10X6G10X6R10X6G10X6_422_UNORM_4PACK16
- B8G8R8A8_SSCALED
- B8G8R8A8_USCALED
- B8G8R8_SSCALED
- B8G8R8_USCALED
- G10X6B10X6G10X6R10X6_422_UNORM_4PACK16
- G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
- G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
- R64_SINT
- R64_UINT
- Ninguno