malisx2-0.2.1-7b57547cd1 vs. Mali-G52 MC2
Auf 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). Der zuerst genannte Treiber wird mit dem zweiten verglichen, der die Referenz ist.
SystemMali-G52 MC2
vs.Custommalisx2-0.2.1-7b57547cd1
Version des Grafiksystems (Vulkan)1.3.278 → 1.1.363
Zusatzfunktionen (Extensions)131 → 15+2 -118
Features, die ihren Check bestehen (validiert)34 → 222 nur auf malisx2-0.2.1-7b57547cd1 bestanden 14 nur auf Mali-G52 MC2 bestanden
Benchmark-Szenenkeine gemeinsamen Szenen
Spiele, die jeder Treiber ausführen könnte (eine Schätzung anhand seiner Feature-Liste): grün wahrscheinlich, gelb vielleicht, orange eingeschränkt, rot nein
SystemDX92002+DX102006+DX112009+DX122015+Switch
CustomDX92002+DX102006+DX112009+DX122015+Switch
Mali-G52 MC2: Details malisx2-0.2.1-7b57547cd1: Details
Feature-Checks mit Unterschieden (31)
| Feature | System | Custom | Änderung |
|---|---|---|---|
| borderColorSwizzle | bestanden | nicht unterstützt | verloren |
| customBorderColors | bestanden | nicht unterstützt | verloren |
| extendedDynamicState | bestanden | nicht unterstützt | verloren |
| extendedDynamicState2 | bestanden | nicht unterstützt | verloren |
| inlineUniformBlock | bestanden | nicht unterstützt | verloren |
| transformFeedback | bestanden | nicht unterstützt | verloren |
| vertexInputDynamicState | bestanden | nicht unterstützt | verloren |
| shaderBufferInt64Atomics | bestanden | nicht unterstützt | verloren |
| timelineSemaphore | bestanden | nicht unterstützt | verloren |
| drawIndirectFirstInstance | bestanden | nicht unterstützt | verloren |
| geometryShader | bestanden | nicht unterstützt | verloren |
| occlusionQueryPrecise | bestanden | fehlgeschlagen | verloren |
| tessellationShader | bestanden | nicht unterstützt | verloren |
| core.msaa_resolve | bestanden | fehlgeschlagen | verloren |
| push.max_combined_image_samplers | nicht unterstützt | bestanden | dazugekommen |
| push.max_uniform_buffers | nicht unterstützt | bestanden | dazugekommen |
| borderColorSwizzleFromImage | nicht getestet | nicht unterstützt | geändert |
| customBorderColorWithoutFormat | nicht getestet | nicht unterstützt | geändert |
| extendedDynamicState2PatchControlPoints | nicht getestet | nicht unterstützt | geändert |
| extendedDynamicState3LineRasterizationMode | nicht getestet | nicht unterstützt | geändert |
| extendedDynamicState3ProvokingVertexMode | nicht getestet | nicht unterstützt | geändert |
| extendedDynamicState3SampleMask | nicht getestet | nicht unterstützt | geändert |
| extendedDynamicState3TessellationDomainOrigin | nicht getestet | nicht unterstützt | geändert |
| descriptorBindingInlineUniformBlockUpdateAfterBind | nicht getestet | nicht unterstützt | geändert |
| shaderSharedInt64Atomics | nicht getestet | nicht unterstützt | geändert |
| depthClamp | nicht unterstützt | nicht getestet | geändert |
| dualSrcBlend | nicht getestet | nicht unterstützt | geändert |
| logicOp | nicht getestet | nicht unterstützt | geändert |
| shaderClipDistance | nicht unterstützt | nicht getestet | geändert |
| shaderInt64 | nicht getestet | nicht unterstützt | geändert |
| wideLines | nicht getestet | nicht unterstützt | geändert |
Benchmark-Szenen
Die beiden Treiber wurden nicht auf denselben Gerätemodellen gemessen. Frametimes von verschiedenen Geräten vergleichen keine Treiber, lies diese Werte also mit Vorsicht.
| Szene | System ms | Custom ms | Unterschied | Starts | GPU-Takt, MHz | Bild vs. System-Treiber |
|---|---|---|---|---|---|---|
| compute_nbody | n/a | 103.00 | nur eine Seite | ? vs. 3 von 3 | ? vs. ? | nicht geprüft |
| oit_linked_lists | n/a | 73.45 | nur eine Seite | ? vs. 3 von 3 | ? vs. ? | nicht geprüft |
| pipeline_barriers | n/a | 86.91 | nur eine Seite | ? vs. 3 von 3 | ? vs. ? | nicht geprüft |
Technische Unterschiede (Vulkan)
Extensions nur in malisx2-0.2.1-7b57547cd1 (2)
- VK_EXT_memory_budget
- VK_KHR_push_descriptor
Extensions nur in 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
Kern-Features mit Unterschieden (45)
| multiview | bestanden → nicht unterstützt |
| samplerYcbcrConversion | bestanden → nicht unterstützt |
| shaderDrawParameters | bestanden → nicht unterstützt |
| storageBuffer16BitAccess | bestanden → nicht unterstützt |
| storageInputOutput16 | bestanden → nicht unterstützt |
| storagePushConstant16 | bestanden → nicht unterstützt |
| uniformAndStorageBuffer16BitAccess | bestanden → nicht unterstützt |
| variablePointers | bestanden → nicht unterstützt |
| variablePointersStorageBuffer | bestanden → nicht unterstützt |
| bufferDeviceAddress | bestanden → nicht unterstützt |
| hostQueryReset | bestanden → nicht unterstützt |
| imagelessFramebuffer | bestanden → nicht unterstützt |
| samplerMirrorClampToEdge | bestanden → nicht unterstützt |
| scalarBlockLayout | bestanden → nicht unterstützt |
| separateDepthStencilLayouts | bestanden → nicht unterstützt |
| shaderBufferInt64Atomics | bestanden → nicht unterstützt |
| shaderFloat16 | bestanden → nicht unterstützt |
| shaderInt8 | bestanden → nicht unterstützt |
| shaderOutputViewportIndex | bestanden → nicht unterstützt |
| shaderSharedInt64Atomics | bestanden → nicht unterstützt |
| shaderSubgroupExtendedTypes | bestanden → nicht unterstützt |
| storageBuffer8BitAccess | bestanden → nicht unterstützt |
| storagePushConstant8 | bestanden → nicht unterstützt |
| subgroupBroadcastDynamicId | bestanden → nicht unterstützt |
| timelineSemaphore | bestanden → nicht unterstützt |
| uniformAndStorageBuffer8BitAccess | bestanden → nicht unterstützt |
| uniformBufferStandardLayout | bestanden → nicht unterstützt |
| vulkanMemoryModel | bestanden → nicht unterstützt |
| vulkanMemoryModelAvailabilityVisibilityChains | bestanden → nicht unterstützt |
| vulkanMemoryModelDeviceScope | bestanden → nicht unterstützt |
| computeFullSubgroups | bestanden → nicht unterstützt |
| descriptorBindingInlineUniformBlockUpdateAfterBind | bestanden → nicht unterstützt |
| dynamicRendering | bestanden → nicht unterstützt |
| inlineUniformBlock | bestanden → nicht unterstützt |
| maintenance4 | bestanden → nicht unterstützt |
| pipelineCreationCacheControl | bestanden → nicht unterstützt |
| privateData | bestanden → nicht unterstützt |
| robustImageAccess | bestanden → nicht unterstützt |
| shaderDemoteToHelperInvocation | bestanden → nicht unterstützt |
| shaderIntegerDotProduct | bestanden → nicht unterstützt |
| shaderTerminateInvocation | bestanden → nicht unterstützt |
| shaderZeroInitializeWorkgroupMemory | bestanden → nicht unterstützt |
| subgroupSizeControl | bestanden → nicht unterstützt |
| synchronization2 | bestanden → nicht unterstützt |
| textureCompressionASTC_HDR | bestanden → nicht unterstützt |
Limits mit Unterschieden (45)
| Limit | System | Custom |
|---|---|---|
| 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 |
Formate, die nur ein Treiber unterstützt (9 dazugekommen, 34 verloren)
- 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