malisx2-0.3.1-8cdb0f68cd contre Mali-G52 MC2
Sur 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, Samsung Galaxy A32, TECNO POVA 3, TECNO SPARK 10 Pro, TECNO SPARK 20, Vivo Y03, Xiaomi 24040RN64Y, Xiaomi 24049RN28L). Le premier pilote cité est comparé au second, qui sert de référence.
SystèmeMali-G52 MC2
contrePersonnalisémalisx2-0.3.1-8cdb0f68cd
Version du système graphique (Vulkan)1.3.278 à 1.1.366
Fonctionnalités optionnelles (extensions)131 à 19+2 -114
Fonctionnalités qui réussissent leur vérification (validées)34 à 242 réussies uniquement sur malisx2-0.3.1-8cdb0f68cd 12 réussies uniquement sur Mali-G52 MC2
Scènes du benchmarkaucune scène commune
Jeux que chaque pilote pourrait faire tourner (estimation d'après sa liste de fonctionnalités) : vert probable, jaune peut-être, orange limité, rouge non
SystèmeDX92002+DX102006+DX112009+DX122015+Switch
PersonnaliséDX92002+DX102006+DX112009+DX122015+Switch
Détails de Mali-G52 MC2 Détails de malisx2-0.3.1-8cdb0f68cd
Vérifications des fonctionnalités qui diffèrent (28)
| Fonctionnalité | Système | Personnalisé | Variation |
|---|---|---|---|
| borderColorSwizzle | réussi | non pris en charge | perdu |
| customBorderColors | réussi | non pris en charge | perdu |
| extendedDynamicState | réussi | non pris en charge | perdu |
| extendedDynamicState2 | réussi | non pris en charge | perdu |
| inlineUniformBlock | réussi | non pris en charge | perdu |
| transformFeedback | réussi | non pris en charge | perdu |
| vertexInputDynamicState | réussi | non pris en charge | perdu |
| shaderBufferInt64Atomics | réussi | non pris en charge | perdu |
| drawIndirectFirstInstance | réussi | non pris en charge | perdu |
| geometryShader | réussi | non pris en charge | perdu |
| tessellationShader | réussi | non pris en charge | perdu |
| core.msaa_resolve | réussi | non pris en charge | perdu |
| push.max_combined_image_samplers | non pris en charge | réussi | gagné |
| push.max_uniform_buffers | non pris en charge | réussi | gagné |
| borderColorSwizzleFromImage | non testé | non pris en charge | modifié |
| customBorderColorWithoutFormat | non testé | non pris en charge | modifié |
| extendedDynamicState2PatchControlPoints | non testé | non pris en charge | modifié |
| extendedDynamicState3LineRasterizationMode | non testé | non pris en charge | modifié |
| extendedDynamicState3ProvokingVertexMode | non testé | non pris en charge | modifié |
| extendedDynamicState3SampleMask | non testé | non pris en charge | modifié |
| extendedDynamicState3TessellationDomainOrigin | non testé | non pris en charge | modifié |
| descriptorBindingInlineUniformBlockUpdateAfterBind | non testé | non pris en charge | modifié |
| shaderSharedInt64Atomics | non testé | non pris en charge | modifié |
| depthClamp | non pris en charge | non testé | modifié |
| logicOp | non testé | non pris en charge | modifié |
| shaderClipDistance | non pris en charge | non testé | modifié |
| shaderInt64 | non testé | non pris en charge | modifié |
| wideLines | non testé | non pris en charge | modifié |
Scènes du benchmark
Les deux pilotes n'ont pas été mesurés sur les mêmes modèles d'appareils. Des temps de frame venant d'appareils différents ne permettent pas de comparer des pilotes : lisez ces chiffres en en tenant compte.
| Scène | Système ms | Personnalisé ms | Écart | Démarrages | Fréquence du GPU, MHz | Image vs système |
|---|---|---|---|---|---|---|
| compute_nbody | n/a | 103.02 | un seul côté | ? contre 3 sur 3 | ? contre ? | non vérifié |
| oit_linked_lists | n/a | 72.85 | un seul côté | ? contre 3 sur 3 | ? contre ? | non vérifié |
| pipeline_barriers | n/a | 85.93 | un seul côté | ? contre 3 sur 3 | ? contre ? | non vérifié |
Différences techniques (Vulkan)
Extensions uniquement dans malisx2-0.3.1-8cdb0f68cd (2)
- VK_EXT_memory_budget
- VK_KHR_push_descriptor
Extensions uniquement dans Mali-G52 MC2 (114)
- VK_ANDROID_external_format_resolve
- VK_ANDROID_external_memory_android_hardware_buffer
- VK_ARM_shader_core_builtins
- VK_ARM_shader_core_properties
- VK_EXT_4444_formats
- VK_EXT_astc_decode_mode
- 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_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_external_memory_dma_buf
- VK_EXT_frame_boundary
- VK_EXT_global_priority
- VK_EXT_global_priority_query
- VK_EXT_host_query_reset
- VK_EXT_image_2d_view_of_3d
- VK_EXT_image_compression_control
- VK_EXT_image_compression_control_swapchain
- VK_EXT_image_drm_format_modifier
- VK_EXT_image_robustness
- VK_EXT_image_sliced_view_of_3d
- VK_EXT_index_type_uint8
- VK_EXT_inline_uniform_block
- 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_queue_family_foreign
- VK_EXT_rgba10x6_formats
- VK_EXT_scalar_block_layout
- VK_EXT_separate_stencil_usage
- VK_EXT_shader_demote_to_helper_invocation
- VK_EXT_shader_image_atomic_int64
- VK_EXT_shader_subgroup_ballot
- VK_EXT_shader_subgroup_vote
- VK_EXT_shader_tile_image
- VK_EXT_subgroup_size_control
- VK_EXT_subpass_merge_feedback
- VK_EXT_texel_buffer_alignment
- VK_EXT_texture_compression_astc_hdr
- VK_EXT_tooling_info
- VK_EXT_transform_feedback
- VK_EXT_vertex_input_dynamic_state
- VK_GOOGLE_decorate_string
- VK_GOOGLE_user_type
- VK_KHR_16bit_storage
- VK_KHR_8bit_storage
- VK_KHR_bind_memory2
- VK_KHR_buffer_device_address
- VK_KHR_calibrated_timestamps
- VK_KHR_copy_commands2
- VK_KHR_dedicated_allocation
- VK_KHR_descriptor_update_template
- VK_KHR_device_group
- VK_KHR_dynamic_rendering_local_read
- VK_KHR_external_fence
- VK_KHR_external_memory
- VK_KHR_external_memory_fd
- VK_KHR_external_semaphore
- VK_KHR_format_feature_flags2
- VK_KHR_get_memory_requirements2
- VK_KHR_global_priority
- VK_KHR_image_format_list
- VK_KHR_imageless_framebuffer
- VK_KHR_index_type_uint8
- VK_KHR_load_store_op_none
- VK_KHR_maintenance1
- VK_KHR_maintenance2
- VK_KHR_maintenance3
- VK_KHR_maintenance4
- VK_KHR_maintenance5
- VK_KHR_maintenance6
- VK_KHR_map_memory2
- VK_KHR_multiview
- VK_KHR_relaxed_block_layout
- VK_KHR_sampler_mirror_clamp_to_edge
- VK_KHR_sampler_ycbcr_conversion
- VK_KHR_separate_depth_stencil_layouts
- VK_KHR_shader_atomic_int64
- VK_KHR_shader_draw_parameters
- VK_KHR_shader_expect_assume
- VK_KHR_shader_float16_int8
- VK_KHR_shader_float_controls
- 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_extended_types
- VK_KHR_shader_subgroup_rotate
- VK_KHR_shader_subgroup_uniform_control_flow
- VK_KHR_shader_terminate_invocation
- VK_KHR_shared_presentable_image
- VK_KHR_spirv_1_4
- VK_KHR_storage_buffer_storage_class
- VK_KHR_synchronization2
- VK_KHR_uniform_buffer_standard_layout
- VK_KHR_variable_pointers
- VK_KHR_vertex_attribute_divisor
- VK_KHR_vulkan_memory_model
- VK_KHR_zero_initialize_workgroup_memory
Fonctionnalités de base qui diffèrent (45)
| multiview | réussi à non pris en charge |
| samplerYcbcrConversion | réussi à non pris en charge |
| shaderDrawParameters | réussi à non pris en charge |
| storageBuffer16BitAccess | réussi à non pris en charge |
| storageInputOutput16 | réussi à non pris en charge |
| storagePushConstant16 | réussi à non pris en charge |
| uniformAndStorageBuffer16BitAccess | réussi à non pris en charge |
| variablePointers | réussi à non pris en charge |
| variablePointersStorageBuffer | réussi à non pris en charge |
| bufferDeviceAddress | réussi à non pris en charge |
| hostQueryReset | réussi à non pris en charge |
| imagelessFramebuffer | réussi à non pris en charge |
| samplerMirrorClampToEdge | réussi à non pris en charge |
| scalarBlockLayout | réussi à non pris en charge |
| separateDepthStencilLayouts | réussi à non pris en charge |
| shaderBufferInt64Atomics | réussi à non pris en charge |
| shaderFloat16 | réussi à non pris en charge |
| shaderInt8 | réussi à non pris en charge |
| shaderOutputViewportIndex | réussi à non pris en charge |
| shaderSharedInt64Atomics | réussi à non pris en charge |
| shaderSubgroupExtendedTypes | réussi à non pris en charge |
| storageBuffer8BitAccess | réussi à non pris en charge |
| storagePushConstant8 | réussi à non pris en charge |
| subgroupBroadcastDynamicId | réussi à non pris en charge |
| timelineSemaphore | réussi à non pris en charge |
| uniformAndStorageBuffer8BitAccess | réussi à non pris en charge |
| uniformBufferStandardLayout | réussi à non pris en charge |
| vulkanMemoryModel | réussi à non pris en charge |
| vulkanMemoryModelAvailabilityVisibilityChains | réussi à non pris en charge |
| vulkanMemoryModelDeviceScope | réussi à non pris en charge |
| computeFullSubgroups | réussi à non pris en charge |
| descriptorBindingInlineUniformBlockUpdateAfterBind | réussi à non pris en charge |
| dynamicRendering | réussi à non pris en charge |
| inlineUniformBlock | réussi à non pris en charge |
| maintenance4 | réussi à non pris en charge |
| pipelineCreationCacheControl | réussi à non pris en charge |
| privateData | réussi à non pris en charge |
| robustImageAccess | réussi à non pris en charge |
| shaderDemoteToHelperInvocation | réussi à non pris en charge |
| shaderIntegerDotProduct | réussi à non pris en charge |
| shaderTerminateInvocation | réussi à non pris en charge |
| shaderZeroInitializeWorkgroupMemory | réussi à non pris en charge |
| subgroupSizeControl | réussi à non pris en charge |
| synchronization2 | réussi à non pris en charge |
| textureCompressionASTC_HDR | réussi à non pris en charge |
Limites qui diffèrent (46)
| Limite | Système | Personnalisé |
|---|---|---|
| maxSamplerAllocationCount | 4294967295 | 4000 |
| maxPerStageDescriptorUniformBuffers | 241 | 223 |
| maxPerStageDescriptorStorageBuffers | 35 | 64 |
| maxPerStageDescriptorSampledImages | 256 | 208 |
| maxPerStageDescriptorStorageImages | 21 | 32 |
| maxPerStageResources | 570 | 664 |
| 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 |
| maxTessellationGenerationLevel | 64 | 0 |
| maxTessellationPatchSize | 32 | 0 |
| maxTessellationControlPerVertexInputComponents | 128 | 0 |
| maxTessellationControlPerVertexOutputComponents | 128 | 0 |
| maxTessellationControlPerPatchOutputComponents | 120 | 0 |
| maxTessellationControlTotalOutputComponents | 4096 | 0 |
| maxTessellationEvaluationInputComponents | 128 | 0 |
| maxTessellationEvaluationOutputComponents | 128 | 0 |
| maxGeometryShaderInvocations | 32 | 0 |
| maxGeometryInputComponents | 128 | 0 |
| maxGeometryOutputComponents | 128 | 0 |
| maxGeometryOutputVertices | 256 | 0 |
| maxGeometryTotalOutputComponents | 2048 | 0 |
| maxFragmentDualSrcAttachments | 8 | 1 |
| maxFragmentCombinedOutputResources | 64 | 4360 |
| maxComputeWorkGroupCount | 4294967295, 4294967295, 4294967295 | 65535, 65535, 65535 |
| maxInterpolationOffset | 0.4375 | 0.5 |
| framebufferColorSampleCounts | 5 | 1 |
| framebufferDepthSampleCounts | 5 | 1 |
| framebufferStencilSampleCounts | 5 | 1 |
| framebufferNoAttachmentsSampleCounts | 29 | 1 |
| sampledImageColorSampleCounts | 5 | 1 |
| sampledImageIntegerSampleCounts | 5 | 1 |
| sampledImageDepthSampleCounts | 5 | 1 |
| sampledImageStencilSampleCounts | 5 | 1 |
| maxClipDistances | 0 | 8 |
| maxCombinedClipAndCullDistances | 0 | 8 |
| lineWidthRange | 1, 4095.94 | 1, 1 |
| lineWidthGranularity | 0.0625 | 0 |
Formats pris en charge par un seul pilote (3 gagnés, 34 perdus)
- A2R10G10B10_SNORM_PACK32
- R10X6G10X6_UNORM_2PACK16
- R10X6_UNORM_PACK16
- A1B5G5R5_UNORM_PACK16
- A4B4G4R4_UNORM_PACK16
- A4R4G4B4_UNORM_PACK16
- A8_UNORM
- ASTC_10x10_SFLOAT_BLOCK
- ASTC_10x5_SFLOAT_BLOCK
- ASTC_10x6_SFLOAT_BLOCK
- ASTC_10x8_SFLOAT_BLOCK
- ASTC_12x10_SFLOAT_BLOCK
- ASTC_12x12_SFLOAT_BLOCK
- ASTC_4x4_SFLOAT_BLOCK
- ASTC_5x4_SFLOAT_BLOCK
- ASTC_5x5_SFLOAT_BLOCK
- ASTC_6x5_SFLOAT_BLOCK
- ASTC_6x6_SFLOAT_BLOCK
- ASTC_8x5_SFLOAT_BLOCK
- ASTC_8x6_SFLOAT_BLOCK
- ASTC_8x8_SFLOAT_BLOCK
- B10X6G10X6R10X6G10X6_422_UNORM_4PACK16
- B5G5R5A1_UNORM_PACK16
- B8G8R8G8_422_UNORM
- B8G8R8_SNORM
- G10X6B10X6G10X6R10X6_422_UNORM_4PACK16
- G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
- G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
- G8B8G8R8_422_UNORM
- G8_B8R8_2PLANE_420_UNORM
- G8_B8R8_2PLANE_422_UNORM
- G8_B8_R8_3PLANE_420_UNORM
- G8_B8_R8_3PLANE_422_UNORM
- R4G4_UNORM_PACK8
- R5G5B5A1_UNORM_PACK16
- R64_SINT
- R64_UINT