Mali-G610 MC6 vs Mali-G610 MC4
En la Mali-G610 (GameForce Ace, Infinix GT 20 Pro, Infinix NOTE Edge, Nothing Phone (2a) Plus, realme 真我 GT NEO 3 150W, Vivo V27, Xiaomi 13T). El primer driver que se nombra se compara con el segundo, que es la referencia (baseline).
De fábricaMali-G610 MC4
vsPersonalizadoMali-G610 MC6
Versión del sistema gráfico (Vulkan)1.3.345 a 1.1.177
Funciones opcionales (extensiones)147 a 71+0 -76
Funciones que pasan su comprobación (validadas)39 a 310 pasan solo en Mali-G610 MC6 8 pasan solo en Mali-G610 MC4
Escenas de la prueba de velocidad (benchmark)sin escenas compartidas
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
Detalles de Mali-G610 MC4 Detalles de Mali-G610 MC6
Comprobaciones de funciones que difieren (26)
| Función | De fábrica | Mali-G610 MC6 | Cambio |
|---|---|---|---|
| borderColorSwizzle | pasa | no admitida | perdido |
| extendedDynamicState | pasa | no admitida | perdido |
| extendedDynamicState2 | pasa | no admitida | perdido |
| extendedDynamicState3DepthClampEnable | pasa | no admitida | perdido |
| vertexInputDynamicState | pasa | no admitida | perdido |
| shaderBufferInt64Atomics | pasa | no admitida | perdido |
| push.max_combined_image_samplers | pasa | no admitida | perdido |
| push.max_uniform_buffers | pasa | no admitida | perdido |
| borderColorSwizzleFromImage | sin probar | no admitida | cambió |
| extendedDynamicState2PatchControlPoints | sin probar | no admitida | cambió |
| extendedDynamicState3AlphaToCoverageEnable | sin probar | no admitida | cambió |
| extendedDynamicState3DepthClipEnable | sin probar | no admitida | cambió |
| extendedDynamicState3LineRasterizationMode | sin probar | no admitida | cambió |
| extendedDynamicState3LineStippleEnable | sin probar | no admitida | cambió |
| extendedDynamicState3ProvokingVertexMode | sin probar | no admitida | cambió |
| extendedDynamicState3RasterizationStream | sin probar | no admitida | cambió |
| extendedDynamicState3SampleMask | sin probar | no admitida | cambió |
| extendedDynamicState3TessellationDomainOrigin | sin probar | no admitida | cambió |
| nullDescriptor | sin probar | no admitida | cambió |
| geometryStreams | sin probar | no admitida | cambió |
| shaderSharedInt64Atomics | sin probar | no admitida | cambió |
| dualSrcBlend | sin probar | no admitida | cambió |
| inheritedQueries | sin probar | no admitida | cambió |
| logicOp | sin probar | no admitida | cambió |
| shaderInt64 | sin probar | no admitida | cambió |
| wideLines | sin probar | no admitida | 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-G610 MC6 ms | Diferencia | Arranques | Reloj de la GPU, MHz | Imagen vs de fábrica |
|---|---|---|---|---|---|---|
| compute_nbody | n/a | 17.69 | solo un lado | ? vs 3 de 3 | ? vs ? | sin comprobar |
| hdr_2160p | n/a | 27.32 | solo un lado | ? vs 3 de 3 | ? vs ? | sin comprobar |
| oit_linked_lists | n/a | 21.38 | solo un lado | ? vs 3 de 3 | ? vs ? | sin comprobar |
| pipeline_barriers | n/a | 8.42 | solo un lado | ? vs 3 de 3 | ? vs ? | sin comprobar |
| subpasses | n/a | 16.43 | solo un lado | ? vs 3 de 3 | ? vs ? | sin comprobar |
Diferencias técnicas (Vulkan)
Extensiones solo en Mali-G610 MC6 (0)
- Ninguno
Extensiones solo en Mali-G610 MC4 (76)
- VK_ARM_rasterization_order_attachment_access
- VK_ARM_scheduling_controls
- VK_ARM_shader_core_builtins
- VK_ARM_shader_core_properties
- VK_ARM_shader_instrumentation
- VK_EXT_border_color_swizzle
- VK_EXT_debug_marker
- VK_EXT_depth_clip_enable
- VK_EXT_descriptor_buffer
- VK_EXT_device_address_binding_report
- VK_EXT_device_fault
- 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_frame_boundary
- 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_compression_control
- VK_EXT_image_compression_control_swapchain
- 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_multisampled_render_to_single_sampled
- VK_EXT_mutable_descriptor_type
- VK_EXT_non_seamless_cube_map
- VK_EXT_pipeline_creation_cache_control
- VK_EXT_pipeline_creation_feedback
- VK_EXT_pipeline_protected_access
- VK_EXT_pipeline_robustness
- VK_EXT_present_mode_fifo_latest_ready
- VK_EXT_primitive_topology_list_restart
- VK_EXT_primitives_generated_query
- VK_EXT_private_data
- VK_EXT_rasterization_order_attachment_access
- VK_EXT_robustness2
- VK_EXT_shader_demote_to_helper_invocation
- VK_EXT_shader_image_atomic_int64
- VK_EXT_shader_module_identifier
- VK_EXT_shader_replicated_composites
- VK_EXT_shader_tile_image
- VK_EXT_subpass_merge_feedback
- VK_EXT_texel_buffer_alignment
- VK_EXT_texture_compression_astc_3d
- VK_EXT_tooling_info
- VK_EXT_vertex_attribute_robustness
- VK_EXT_vertex_input_dynamic_state
- VK_GOOGLE_decorate_string
- VK_KHR_copy_commands2
- VK_KHR_deferred_host_operations
- VK_KHR_dynamic_rendering
- VK_KHR_format_feature_flags2
- VK_KHR_global_priority
- VK_KHR_maintenance4
- VK_KHR_pipeline_executable_properties
- VK_KHR_pipeline_library
- VK_KHR_present_id
- VK_KHR_present_id2
- VK_KHR_present_wait2
- VK_KHR_push_descriptor
- VK_KHR_shader_atomic_int64
- VK_KHR_shader_clock
- VK_KHR_shader_integer_dot_product
- VK_KHR_shader_subgroup_uniform_control_flow
- VK_KHR_shader_terminate_invocation
- VK_KHR_swapchain_maintenance1
- VK_KHR_swapchain_mutable_format
- VK_KHR_synchronization2
- VK_KHR_workgroup_memory_explicit_layout
- VK_KHR_zero_initialize_workgroup_memory
Funciones básicas que difieren (71)
| multiview | pasa a no admitida |
| protectedMemory | pasa a no admitida |
| samplerYcbcrConversion | pasa a no admitida |
| shaderDrawParameters | pasa a no admitida |
| storageBuffer16BitAccess | pasa a no admitida |
| storageInputOutput16 | pasa a no admitida |
| storagePushConstant16 | pasa a no admitida |
| uniformAndStorageBuffer16BitAccess | pasa a no admitida |
| variablePointers | pasa a no admitida |
| variablePointersStorageBuffer | pasa a no admitida |
| bufferDeviceAddress | pasa a no admitida |
| bufferDeviceAddressCaptureReplay | pasa a no admitida |
| descriptorBindingPartiallyBound | pasa a no admitida |
| descriptorBindingSampledImageUpdateAfterBind | pasa a no admitida |
| descriptorBindingStorageBufferUpdateAfterBind | pasa a no admitida |
| descriptorBindingStorageImageUpdateAfterBind | pasa a no admitida |
| descriptorBindingStorageTexelBufferUpdateAfterBind | pasa a no admitida |
| descriptorBindingUniformBufferUpdateAfterBind | pasa a no admitida |
| descriptorBindingUniformTexelBufferUpdateAfterBind | pasa a no admitida |
| descriptorBindingUpdateUnusedWhilePending | pasa a no admitida |
| descriptorBindingVariableDescriptorCount | pasa a no admitida |
| descriptorIndexing | pasa a no admitida |
| drawIndirectCount | pasa a no admitida |
| hostQueryReset | pasa a no admitida |
| imagelessFramebuffer | pasa a no admitida |
| runtimeDescriptorArray | pasa a no admitida |
| samplerFilterMinmax | pasa a no admitida |
| samplerMirrorClampToEdge | pasa a no admitida |
| scalarBlockLayout | pasa a no admitida |
| separateDepthStencilLayouts | pasa a no admitida |
| shaderBufferInt64Atomics | pasa a no admitida |
| shaderFloat16 | pasa a no admitida |
| shaderInputAttachmentArrayDynamicIndexing | pasa a no admitida |
| shaderInputAttachmentArrayNonUniformIndexing | pasa a no admitida |
| shaderInt8 | pasa a no admitida |
| shaderOutputLayer | pasa a no admitida |
| shaderOutputViewportIndex | pasa a no admitida |
| shaderSampledImageArrayNonUniformIndexing | pasa a no admitida |
| shaderSharedInt64Atomics | pasa a no admitida |
| shaderStorageBufferArrayNonUniformIndexing | pasa a no admitida |
| shaderStorageImageArrayNonUniformIndexing | pasa a no admitida |
| shaderStorageTexelBufferArrayDynamicIndexing | pasa a no admitida |
| shaderStorageTexelBufferArrayNonUniformIndexing | pasa a no admitida |
| shaderSubgroupExtendedTypes | pasa a no admitida |
| shaderUniformBufferArrayNonUniformIndexing | pasa a no admitida |
| shaderUniformTexelBufferArrayDynamicIndexing | pasa a no admitida |
| shaderUniformTexelBufferArrayNonUniformIndexing | pasa a no admitida |
| storageBuffer8BitAccess | pasa a no admitida |
| storagePushConstant8 | pasa a no admitida |
| subgroupBroadcastDynamicId | pasa a no admitida |
| timelineSemaphore | pasa a no admitida |
| uniformAndStorageBuffer8BitAccess | pasa a no admitida |
| uniformBufferStandardLayout | pasa a no admitida |
| vulkanMemoryModel | pasa a no admitida |
| vulkanMemoryModelAvailabilityVisibilityChains | pasa a no admitida |
| vulkanMemoryModelDeviceScope | pasa a no admitida |
| computeFullSubgroups | pasa a no admitida |
| descriptorBindingInlineUniformBlockUpdateAfterBind | pasa a no admitida |
| dynamicRendering | pasa a no admitida |
| inlineUniformBlock | pasa a no admitida |
| maintenance4 | pasa a no admitida |
| pipelineCreationCacheControl | pasa a no admitida |
| privateData | pasa a no admitida |
| robustImageAccess | pasa a no admitida |
| shaderDemoteToHelperInvocation | pasa a no admitida |
| shaderIntegerDotProduct | pasa a no admitida |
| shaderTerminateInvocation | pasa a no admitida |
| shaderZeroInitializeWorkgroupMemory | pasa a no admitida |
| subgroupSizeControl | pasa a no admitida |
| synchronization2 | pasa a no admitida |
| textureCompressionASTC_HDR | pasa a no admitida |
Límites que difieren (34)
| Límite | De fábrica | Mali-G610 MC6 |
|---|---|---|
| maxImageDimension1D | 16384 | 32768 |
| maxImageDimension2D | 16384 | 32768 |
| maxImageDimension3D | 16384 | 32768 |
| maxImageDimensionCube | 16384 | 32768 |
| maxUniformBufferRange | 2147483648 | 65536 |
| maxStorageBufferRange | 2147483648 | 268435456 |
| maxMemoryAllocationCount | 16384 | 4294967295 |
| bufferImageGranularity | 1 | 4096 |
| maxBoundDescriptorSets | 7 | 4 |
| maxPerStageDescriptorSamplers | 8388608 | 500000 |
| maxPerStageDescriptorUniformBuffers | 8388608 | 36 |
| maxPerStageDescriptorStorageBuffers | 8388608 | 500000 |
| maxPerStageDescriptorSampledImages | 8388608 | 500000 |
| maxPerStageDescriptorStorageImages | 8388608 | 500000 |
| maxPerStageResources | 8388608 | 500000 |
| maxDescriptorSetSamplers | 8388608 | 500000 |
| maxDescriptorSetUniformBuffers | 8388608 | 216 |
| maxDescriptorSetStorageBuffers | 8388608 | 500000 |
| maxDescriptorSetSampledImages | 8388608 | 500000 |
| maxDescriptorSetStorageImages | 8388608 | 500000 |
| maxGeometryInputComponents | 128 | 64 |
| maxGeometryTotalOutputComponents | 2048 | 1024 |
| maxFragmentDualSrcAttachments | 8 | 0 |
| maxFragmentCombinedOutputResources | 16777224 | 1000008 |
| maxSamplerLodBias | 126 | 255 |
| maxViewportDimensions | 16384, 16384 | 32768, 32768 |
| viewportBoundsRange | -32768, 32767 | -65536, 65535 |
| minUniformBufferOffsetAlignment | 8 | 16 |
| maxInterpolationOffset | 0.4375 | 0.5 |
| maxFramebufferWidth | 16384 | 32768 |
| maxFramebufferHeight | 16384 | 32768 |
| discreteQueuePriorities | 4 | 2 |
| lineWidthRange | 1, 4095.94 | 1, 1 |
| lineWidthGranularity | 0.0625 | 0 |
Formatos admitidos por un solo driver (0 ganados, 13 perdidos)
- Ninguno
- A2R10G10B10_SNORM_PACK32
- A2R10G10B10_SSCALED_PACK32
- A2R10G10B10_USCALED_PACK32
- 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