malisx2-0.2.1-7b57547cd1 vs Mali-G52 MC2
Na Mali-G52 MC2 (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). O primeiro driver citado é comparado com o segundo, que é a referência.
- compute_nbody32% mais lento
- oit_linked_lists11% mais lento
- pipeline_barriers35% mais lento
Pequenas áreas da imagem diferem do driver do sistema em 1 cena (pipeline_barriers: 1288 de 2304 células). A imagem bate no geral, então isto é uma falha local de renderização, não uma cena diferente.
Nem sempre iniciou: hdr_2160p (do sistema 3 de 3, customizado 0 de 3), subpasses (do sistema 3 de 3, customizado 0 de 3).
Detalhes do Mali-G52 MC2 Detalhes do malisx2-0.2.1-7b57547cd1
Verificações de recursos que diferem (31)
| Recurso | Sistema | Customizado | Mudança |
|---|---|---|---|
| borderColorSwizzle | passou | sem suporte | perdidos |
| customBorderColors | passou | sem suporte | perdidos |
| extendedDynamicState | passou | sem suporte | perdidos |
| extendedDynamicState2 | passou | sem suporte | perdidos |
| inlineUniformBlock | passou | sem suporte | perdidos |
| transformFeedback | passou | sem suporte | perdidos |
| vertexInputDynamicState | passou | sem suporte | perdidos |
| shaderBufferInt64Atomics | passou | sem suporte | perdidos |
| timelineSemaphore | passou | sem suporte | perdidos |
| drawIndirectFirstInstance | passou | sem suporte | perdidos |
| geometryShader | passou | sem suporte | perdidos |
| occlusionQueryPrecise | passou | falhou | perdidos |
| tessellationShader | passou | sem suporte | perdidos |
| core.msaa_resolve | passou | falhou | perdidos |
| push.max_combined_image_samplers | sem suporte | passou | ganhos |
| push.max_uniform_buffers | sem suporte | passou | ganhos |
| borderColorSwizzleFromImage | não testado | sem suporte | mudou |
| customBorderColorWithoutFormat | não testado | sem suporte | mudou |
| extendedDynamicState2PatchControlPoints | não testado | sem suporte | mudou |
| extendedDynamicState3LineRasterizationMode | não testado | sem suporte | mudou |
| extendedDynamicState3ProvokingVertexMode | não testado | sem suporte | mudou |
| extendedDynamicState3SampleMask | não testado | sem suporte | mudou |
| extendedDynamicState3TessellationDomainOrigin | não testado | sem suporte | mudou |
| descriptorBindingInlineUniformBlockUpdateAfterBind | não testado | sem suporte | mudou |
| shaderSharedInt64Atomics | não testado | sem suporte | mudou |
| depthClamp | sem suporte | não testado | mudou |
| dualSrcBlend | não testado | sem suporte | mudou |
| logicOp | não testado | sem suporte | mudou |
| shaderClipDistance | sem suporte | não testado | mudou |
| shaderInt64 | não testado | sem suporte | mudou |
| wideLines | não testado | sem suporte | mudou |
Cenas do teste de velocidade (benchmark)
Os dois drivers não foram medidos no mesmo conjunto de modelos de aparelho. Frametimes de aparelhos diferentes não servem para comparar drivers, então leia esses números com isso em mente.
| Cena | Sistema ms | Customizado ms | Diferença | Inícios | Clock da GPU, MHz | Imagem vs driver do sistema |
|---|---|---|---|---|---|---|
| compute_nbody | 70.13 | 103.00 | 32% mais lento | 3 de 3 vs 3 de 3 | ? vs ? | sem diferença grande sem diferença pequena |
| hdr_2160p | 150.63 | n/a | só um lado | 3 de 3 vs 0 de 3 | ? vs ? | não verificado |
| oit_linked_lists | 65.71 | 73.45 | 11% mais lento | 3 de 3 vs 3 de 3 | ? vs ? | sem diferença grande sem diferença pequena |
| pipeline_barriers | 56.80 | 86.91 | 35% mais lento | 3 de 3 vs 3 de 3 | ? vs ? | sem diferença grande difere em 1288 áreas pequenas |
| subpasses | 110.56 | n/a | só um lado | 3 de 3 vs 0 de 3 | ? vs ? | não verificado |
Diferenças técnicas (Vulkan)
Extensões só no malisx2-0.2.1-7b57547cd1 (2)
- VK_EXT_memory_budget
- VK_KHR_push_descriptor
Extensões só no Mali-G52 MC2 (118)
- 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_create_renderpass2
- VK_KHR_dedicated_allocation
- VK_KHR_depth_stencil_resolve
- VK_KHR_descriptor_update_template
- VK_KHR_device_group
- VK_KHR_dynamic_rendering
- 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_timeline_semaphore
- 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
Recursos básicos que diferem (45)
| multiview | passou a sem suporte |
| samplerYcbcrConversion | passou a sem suporte |
| shaderDrawParameters | passou a sem suporte |
| storageBuffer16BitAccess | passou a sem suporte |
| storageInputOutput16 | passou a sem suporte |
| storagePushConstant16 | passou a sem suporte |
| uniformAndStorageBuffer16BitAccess | passou a sem suporte |
| variablePointers | passou a sem suporte |
| variablePointersStorageBuffer | passou a sem suporte |
| bufferDeviceAddress | passou a sem suporte |
| hostQueryReset | passou a sem suporte |
| imagelessFramebuffer | passou a sem suporte |
| samplerMirrorClampToEdge | passou a sem suporte |
| scalarBlockLayout | passou a sem suporte |
| separateDepthStencilLayouts | passou a sem suporte |
| shaderBufferInt64Atomics | passou a sem suporte |
| shaderFloat16 | passou a sem suporte |
| shaderInt8 | passou a sem suporte |
| shaderOutputViewportIndex | passou a sem suporte |
| shaderSharedInt64Atomics | passou a sem suporte |
| shaderSubgroupExtendedTypes | passou a sem suporte |
| storageBuffer8BitAccess | passou a sem suporte |
| storagePushConstant8 | passou a sem suporte |
| subgroupBroadcastDynamicId | passou a sem suporte |
| timelineSemaphore | passou a sem suporte |
| uniformAndStorageBuffer8BitAccess | passou a sem suporte |
| uniformBufferStandardLayout | passou a sem suporte |
| vulkanMemoryModel | passou a sem suporte |
| vulkanMemoryModelAvailabilityVisibilityChains | passou a sem suporte |
| vulkanMemoryModelDeviceScope | passou a sem suporte |
| computeFullSubgroups | passou a sem suporte |
| descriptorBindingInlineUniformBlockUpdateAfterBind | passou a sem suporte |
| dynamicRendering | passou a sem suporte |
| inlineUniformBlock | passou a sem suporte |
| maintenance4 | passou a sem suporte |
| pipelineCreationCacheControl | passou a sem suporte |
| privateData | passou a sem suporte |
| robustImageAccess | passou a sem suporte |
| shaderDemoteToHelperInvocation | passou a sem suporte |
| shaderIntegerDotProduct | passou a sem suporte |
| shaderTerminateInvocation | passou a sem suporte |
| shaderZeroInitializeWorkgroupMemory | passou a sem suporte |
| subgroupSizeControl | passou a sem suporte |
| synchronization2 | passou a sem suporte |
| textureCompressionASTC_HDR | passou a sem suporte |
Limites que diferem (45)
| Limite | Sistema | Customizado |
|---|---|---|
| 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 | 0 |
| maxFragmentCombinedOutputResources | 64 | 4360 |
| maxComputeWorkGroupCount | 4294967295, 4294967295, 4294967295 | 65535, 65535, 65535 |
| maxInterpolationOffset | 0.4375 | 0.5 |
| framebufferColorSampleCounts | 5 | 29 |
| framebufferDepthSampleCounts | 5 | 29 |
| framebufferStencilSampleCounts | 5 | 29 |
| sampledImageColorSampleCounts | 5 | 29 |
| sampledImageIntegerSampleCounts | 5 | 29 |
| sampledImageDepthSampleCounts | 5 | 29 |
| sampledImageStencilSampleCounts | 5 | 29 |
| maxClipDistances | 0 | 8 |
| maxCombinedClipAndCullDistances | 0 | 8 |
| lineWidthRange | 1, 4095.94 | 1, 1 |
| lineWidthGranularity | 0.0625 | 0 |
Formatos suportados por só um driver (9 ganhos, 34 perdidos)
- A2R10G10B10_SNORM_PACK32
- 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
- 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