Mali-G77 MC9 vs Mali-G77 MC9
En la Mali-G77 (Infinix GT 10 Pro, motorola edge 40, Redmi K40 Gaming, Redmi Note 10 Pro, Retroid Pocket 4 Pro, Samsung Galaxy Note20 Ultra, Samsung Galaxy S20 Ultra 5G). El primer driver que se nombra se compara con el segundo, que es la referencia (baseline).
De fábricaMali-G77 MC9
vsPersonalizadoMali-G77 MC9
Versión del sistema gráfico (Vulkan)1.3.278 a 1.1.177
Funciones opcionales (extensiones)136 a 68+1 -69
Funciones que pasan su comprobación (validadas)37 a 280 pasan solo en Mali-G77 MC9 9 pasan solo en Mali-G77 MC9
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-G77 MC9 Detalles de Mali-G77 MC9
Comprobaciones de funciones que difieren (21)
| Función | De fábrica | Mali-G77 MC9 | 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 |
| timelineSemaphore | pasa | falla | 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ó |
| extendedDynamicState3DepthClipEnable | sin probar | no admitida | cambió |
| extendedDynamicState3LineRasterizationMode | sin probar | no admitida | cambió |
| extendedDynamicState3ProvokingVertexMode | sin probar | no admitida | cambió |
| extendedDynamicState3SampleMask | sin probar | no admitida | cambió |
| extendedDynamicState3TessellationDomainOrigin | sin probar | no admitida | cambió |
| shaderSharedInt64Atomics | sin probar | no admitida | cambió |
| dualSrcBlend | 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)
Ninguno de los dos drivers tiene aún una prueba de velocidad válida (informe de benchmark).
Diferencias técnicas (Vulkan)
Extensiones solo en Mali-G77 MC9 (1)
- VK_EXT_calibrated_timestamps
Extensiones solo en Mali-G77 MC9 (69)
- VK_ANDROID_external_format_resolve
- VK_ARM_rasterization_order_attachment_access
- VK_ARM_shader_core_builtins
- VK_ARM_shader_core_properties
- VK_EXT_border_color_swizzle
- VK_EXT_debug_marker
- VK_EXT_depth_clamp_zero_one
- VK_EXT_depth_clip_enable
- 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_frame_boundary
- VK_EXT_global_priority_query
- VK_EXT_hdr_metadata
- 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_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_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_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_push_descriptor
- 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_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
Funciones básicas que difieren (67)
| 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 |
| 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 |
| hostQueryReset | pasa a no admitida |
| imagelessFramebuffer | pasa a no admitida |
| runtimeDescriptorArray | 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 |
| 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 (16)
| Límite | De fábrica | Mali-G77 MC9 |
|---|---|---|
| maxUniformBufferRange | 2147483648 | 65536 |
| maxStorageBufferRange | 2147483648 | 268435456 |
| maxMemoryAllocationCount | 16384 | 4294967295 |
| bufferImageGranularity | 1 | 4096 |
| maxBoundDescriptorSets | 7 | 4 |
| maxPerStageDescriptorUniformBuffers | 500000 | 36 |
| maxDescriptorSetUniformBuffers | 500000 | 216 |
| maxGeometryInputComponents | 128 | 64 |
| maxGeometryTotalOutputComponents | 2048 | 1024 |
| maxFragmentDualSrcAttachments | 8 | 0 |
| maxSamplerLodBias | 126 | 255 |
| maxInterpolationOffset | 0.4375 | 0.5 |
| timestampComputeAndGraphics | 0 | 1 |
| timestampPeriod | 0 | 76.9231 |
| lineWidthRange | 1, 4095.94 | 1, 1 |
| lineWidthGranularity | 0.0625 | 0 |
Formatos admitidos por un solo driver (0 ganados, 14 perdidos)
- Ninguno
- A1B5G5R5_UNORM_PACK16
- A2R10G10B10_SSCALED_PACK32
- A2R10G10B10_USCALED_PACK32
- 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