mali-panvk-27.0.0-devel-r8 contre malisx2-0.2.2-18ad24d9a2
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, TECNO POVA 3, TECNO SPARK 20, Xiaomi 24049RN28L). Le premier pilote cité est comparé au second, qui sert de référence.
- compute_nbody18% plus rapide
- oit_linked_lists3% plus lent
- pipeline_barriers17% plus rapide
De petites zones de l'image diffèrent de celles du pilote système dans 2 scènes (compute_nbody : 5 cellules sur 2304, pipeline_barriers : 1239 cellules sur 2304). L'image correspond globalement, il s'agit donc d'un défaut d'affichage local, pas d'une scène différente.
N'a pas démarré à chaque fois : hdr_2160p (système 0 sur 3, personnalisé 3 sur 3), subpasses (système 0 sur 3, personnalisé 3 sur 3).
Détails de malisx2-0.2.2-18ad24d9a2 Détails de mali-panvk-27.0.0-devel-r8
Vérifications des fonctionnalités qui diffèrent (47)
| Fonctionnalité | malisx2-0.2.2-18ad24d9a2 | mali-panvk-27.0.0-devel-r8 | Variation |
|---|---|---|---|
| limit.uniform_buffer_range | réussi | échec | perdu |
| push.max_combined_image_samplers | réussi | échec | perdu |
| borderColorSwizzle | non pris en charge | réussi | gagné |
| colorWriteEnable | non pris en charge | réussi | gagné |
| customBorderColors | non pris en charge | réussi | gagné |
| depthClipControl | non pris en charge | réussi | gagné |
| extendedDynamicState | non pris en charge | réussi | gagné |
| extendedDynamicState2 | non pris en charge | réussi | gagné |
| extendedDynamicState2LogicOp | non pris en charge | réussi | gagné |
| extendedDynamicState3ColorBlendEnable | non pris en charge | réussi | gagné |
| extendedDynamicState3ColorBlendEquation | non pris en charge | réussi | gagné |
| extendedDynamicState3ColorWriteMask | non pris en charge | réussi | gagné |
| extendedDynamicState3DepthClampEnable | non pris en charge | réussi | gagné |
| extendedDynamicState3LogicOpEnable | non pris en charge | réussi | gagné |
| inlineUniformBlock | non pris en charge | réussi | gagné |
| robustBufferAccess2 | non pris en charge | réussi | gagné |
| vertexInputDynamicState | non pris en charge | réussi | gagné |
| timelineSemaphore | non pris en charge | réussi | gagné |
| drawIndirectFirstInstance | non pris en charge | réussi | gagné |
| geometryShader | non pris en charge | réussi | gagné |
| multiDrawIndirect | non pris en charge | réussi | gagné |
| multiViewport | non pris en charge | réussi | gagné |
| occlusionQueryPrecise | échec | réussi | gagné |
| tessellationShader | non pris en charge | réussi | gagné |
| textureCompressionBC | non pris en charge | réussi | gagné |
| core.msaa_resolve | échec | réussi | gagné |
| stress.multi_draw_indirect_large | non pris en charge | réussi | gagné |
| borderColorSwizzleFromImage | non pris en charge | non testé | modifié |
| depthBiasControl | non pris en charge | non testé | modifié |
| depthBiasExact | non pris en charge | non testé | modifié |
| extendedDynamicState3AlphaToCoverageEnable | non pris en charge | non testé | modifié |
| extendedDynamicState3DepthClipEnable | non pris en charge | non testé | modifié |
| extendedDynamicState3LineRasterizationMode | non pris en charge | non testé | modifié |
| extendedDynamicState3RasterizationSamples | non pris en charge | non testé | modifié |
| extendedDynamicState3SampleMask | non pris en charge | non testé | modifié |
| descriptorBindingInlineUniformBlockUpdateAfterBind | non pris en charge | non testé | modifié |
| nullDescriptor | non pris en charge | non testé | modifié |
| geometryStreams | non pris en charge | non testé | modifié |
| transformFeedback | non pris en charge | échec | modifié |
| fillModeNonSolid | non pris en charge | non testé | modifié |
| logicOp | non pris en charge | non testé | modifié |
| shaderCullDistance | non pris en charge | non testé | modifié |
| shaderInt64 | non pris en charge | non testé | modifié |
| vertexPipelineStoresAndAtomics | non pris en charge | non testé | modifié |
| wideLines | non pris en charge | non testé | modifié |
| compat.helper_loop_terminator | non testé | échec | modifié |
| compat.nested_map | non testé | échec | 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 | malisx2-0.2.2-18ad24d9a2 ms | mali-panvk-27.0.0-devel-r8 ms | Écart | Démarrages | Fréquence du GPU, MHz | Image vs système |
|---|---|---|---|---|---|---|
| compute_nbody | 103.19 | 87.12 | 18% plus rapide | 3 sur 3 contre 3 sur 3 | ? contre ? | pas de grande différence diffère dans 5 petites zones |
| hdr_2160p | n/a | 148.09 | un seul côté | 0 sur 3 contre 3 sur 3 | ? contre ? | non vérifié |
| oit_linked_lists | 73.28 | 75.37 | 3% plus lent | 3 sur 3 contre 3 sur 3 | ? contre ? | pas de grande différence pas de petite différence |
| pipeline_barriers | 87.05 | 74.16 | 17% plus rapide | 3 sur 3 contre 3 sur 3 | ? contre ? | pas de grande différence diffère dans 1239 petites zones |
| subpasses | n/a | 126.86 | un seul côté | 0 sur 3 contre 3 sur 3 | ? contre ? | non vérifié |
Différences techniques (Vulkan)
Extensions uniquement dans mali-panvk-27.0.0-devel-r8 (148)
- VK_ANDROID_external_memory_android_hardware_buffer
- VK_ARM_scheduling_controls
- VK_ARM_shader_core_builtins
- VK_ARM_shader_core_properties
- VK_EXT_4444_formats
- VK_EXT_astc_decode_mode
- VK_EXT_attachment_feedback_loop_dynamic_state
- VK_EXT_attachment_feedback_loop_layout
- VK_EXT_border_color_swizzle
- VK_EXT_buffer_device_address
- VK_EXT_calibrated_timestamps
- VK_EXT_color_write_enable
- VK_EXT_custom_border_color
- VK_EXT_debug_marker
- VK_EXT_depth_bias_control
- VK_EXT_depth_clamp_control
- VK_EXT_depth_clamp_zero_one
- VK_EXT_depth_clip_control
- VK_EXT_depth_clip_enable
- 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_global_priority
- VK_EXT_global_priority_query
- VK_EXT_graphics_pipeline_library
- VK_EXT_hdr_metadata
- VK_EXT_host_image_copy
- VK_EXT_host_query_reset
- VK_EXT_image_2d_view_of_3d
- VK_EXT_image_compression_control
- VK_EXT_image_drm_format_modifier
- VK_EXT_image_robustness
- VK_EXT_image_sliced_view_of_3d
- VK_EXT_image_view_min_lod
- VK_EXT_index_type_uint8
- VK_EXT_inline_uniform_block
- VK_EXT_legacy_dithering
- VK_EXT_load_store_op_none
- VK_EXT_map_memory_placed
- VK_EXT_multisampled_render_to_single_sampled
- VK_EXT_non_seamless_cube_map
- VK_EXT_physical_device_drm
- VK_EXT_pipeline_creation_cache_control
- VK_EXT_pipeline_creation_feedback
- VK_EXT_pipeline_robustness
- VK_EXT_primitive_topology_list_restart
- VK_EXT_private_data
- VK_EXT_queue_family_foreign
- VK_EXT_robustness2
- VK_EXT_scalar_block_layout
- VK_EXT_separate_stencil_usage
- VK_EXT_shader_atomic_float
- VK_EXT_shader_demote_to_helper_invocation
- VK_EXT_shader_module_identifier
- VK_EXT_shader_replicated_composites
- VK_EXT_shader_stencil_export
- VK_EXT_shader_subgroup_ballot
- VK_EXT_shader_subgroup_vote
- VK_EXT_shader_uniform_buffer_unsized_array
- VK_EXT_subgroup_size_control
- VK_EXT_texel_buffer_alignment
- VK_EXT_texture_compression_astc_hdr
- VK_EXT_tooling_info
- VK_EXT_transform_feedback
- VK_EXT_vertex_attribute_divisor
- VK_EXT_vertex_input_dynamic_state
- VK_EXT_zero_initialize_device_memory
- VK_GOOGLE_decorate_string
- VK_GOOGLE_hlsl_functionality1
- VK_GOOGLE_user_type
- VK_INTEL_shader_integer_functions2
- 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_clamp_zero_one
- 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_internally_synchronized_queues
- VK_KHR_load_store_op_none
- VK_KHR_maintenance1
- VK_KHR_maintenance10
- VK_KHR_maintenance11
- VK_KHR_maintenance2
- VK_KHR_maintenance3
- VK_KHR_maintenance4
- VK_KHR_maintenance5
- VK_KHR_maintenance6
- VK_KHR_maintenance7
- VK_KHR_maintenance8
- VK_KHR_maintenance9
- VK_KHR_map_memory2
- VK_KHR_multiview
- VK_KHR_pipeline_binary
- VK_KHR_pipeline_executable_properties
- VK_KHR_pipeline_library
- VK_KHR_relaxed_block_layout
- VK_KHR_robustness2
- VK_KHR_sampler_mirror_clamp_to_edge
- VK_KHR_sampler_ycbcr_conversion
- VK_KHR_separate_depth_stencil_layouts
- VK_KHR_shader_clock
- VK_KHR_shader_constant_data
- 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_fma
- VK_KHR_shader_integer_dot_product
- VK_KHR_shader_non_semantic_info
- VK_KHR_shader_relaxed_extended_instruction
- VK_KHR_shader_subgroup_extended_types
- VK_KHR_shader_subgroup_rotate
- VK_KHR_shader_terminate_invocation
- VK_KHR_spirv_1_4
- VK_KHR_storage_buffer_storage_class
- VK_KHR_synchronization2
- VK_KHR_timeline_semaphore
- VK_KHR_unified_image_layouts
- VK_KHR_uniform_buffer_standard_layout
- VK_KHR_variable_pointers
- VK_KHR_vertex_attribute_divisor
- VK_KHR_vulkan_memory_model
- VK_KHR_workgroup_memory_explicit_layout
- VK_KHR_zero_initialize_workgroup_memory
Extensions uniquement dans malisx2-0.2.2-18ad24d9a2 (3)
- VK_ARM_rasterization_order_attachment_access
- VK_EXT_device_fault
- VK_EXT_rasterization_order_attachment_access
Fonctionnalités de base qui diffèrent (53)
| multiview | non pris en charge à réussi |
| samplerYcbcrConversion | non pris en charge à réussi |
| shaderDrawParameters | non pris en charge à réussi |
| storageBuffer16BitAccess | non pris en charge à réussi |
| storageInputOutput16 | non pris en charge à réussi |
| storagePushConstant16 | non pris en charge à réussi |
| uniformAndStorageBuffer16BitAccess | non pris en charge à réussi |
| variablePointers | non pris en charge à réussi |
| variablePointersStorageBuffer | non pris en charge à réussi |
| bufferDeviceAddress | non pris en charge à réussi |
| descriptorBindingVariableDescriptorCount | non pris en charge à réussi |
| hostQueryReset | non pris en charge à réussi |
| imagelessFramebuffer | non pris en charge à réussi |
| runtimeDescriptorArray | non pris en charge à réussi |
| samplerMirrorClampToEdge | non pris en charge à réussi |
| scalarBlockLayout | non pris en charge à réussi |
| separateDepthStencilLayouts | non pris en charge à réussi |
| shaderInputAttachmentArrayDynamicIndexing | non pris en charge à réussi |
| shaderInputAttachmentArrayNonUniformIndexing | non pris en charge à réussi |
| shaderInt8 | non pris en charge à réussi |
| shaderSampledImageArrayNonUniformIndexing | non pris en charge à réussi |
| shaderStorageBufferArrayNonUniformIndexing | non pris en charge à réussi |
| shaderStorageImageArrayNonUniformIndexing | non pris en charge à réussi |
| shaderStorageTexelBufferArrayDynamicIndexing | non pris en charge à réussi |
| shaderStorageTexelBufferArrayNonUniformIndexing | non pris en charge à réussi |
| shaderSubgroupExtendedTypes | non pris en charge à réussi |
| shaderUniformBufferArrayNonUniformIndexing | non pris en charge à réussi |
| shaderUniformTexelBufferArrayDynamicIndexing | non pris en charge à réussi |
| shaderUniformTexelBufferArrayNonUniformIndexing | non pris en charge à réussi |
| storageBuffer8BitAccess | non pris en charge à réussi |
| storagePushConstant8 | non pris en charge à réussi |
| subgroupBroadcastDynamicId | non pris en charge à réussi |
| timelineSemaphore | non pris en charge à réussi |
| uniformAndStorageBuffer8BitAccess | non pris en charge à réussi |
| uniformBufferStandardLayout | non pris en charge à réussi |
| vulkanMemoryModel | non pris en charge à réussi |
| vulkanMemoryModelAvailabilityVisibilityChains | non pris en charge à réussi |
| vulkanMemoryModelDeviceScope | non pris en charge à réussi |
| computeFullSubgroups | non pris en charge à réussi |
| descriptorBindingInlineUniformBlockUpdateAfterBind | non pris en charge à réussi |
| dynamicRendering | non pris en charge à réussi |
| inlineUniformBlock | non pris en charge à réussi |
| maintenance4 | non pris en charge à réussi |
| pipelineCreationCacheControl | non pris en charge à réussi |
| privateData | non pris en charge à réussi |
| robustImageAccess | non pris en charge à réussi |
| shaderDemoteToHelperInvocation | non pris en charge à réussi |
| shaderIntegerDotProduct | non pris en charge à réussi |
| shaderTerminateInvocation | non pris en charge à réussi |
| shaderZeroInitializeWorkgroupMemory | non pris en charge à réussi |
| subgroupSizeControl | non pris en charge à réussi |
| synchronization2 | non pris en charge à réussi |
| textureCompressionASTC_HDR | non pris en charge à réussi |
Limites qui diffèrent (49)
| Limite | malisx2-0.2.2-18ad24d9a2 | mali-panvk-27.0.0-devel-r8 |
|---|---|---|
| maxImageDimension1D | 16384 | 65536 |
| maxImageDimension2D | 16384 | 65536 |
| maxImageDimension3D | 16384 | 65536 |
| maxImageDimensionCube | 16384 | 65536 |
| maxImageArrayLayers | 4096 | 65536 |
| maxTexelBufferElements | 268435456 | 134217728 |
| maxUniformBufferRange | 65536 | 1048576 |
| maxStorageBufferRange | 2147483648 | 4294967295 |
| maxMemoryAllocationCount | 16384 | 4294967295 |
| maxSamplerAllocationCount | 4000 | 4294967295 |
| bufferImageGranularity | 1 | 64 |
| sparseAddressSpaceSize | 0 | 30064771072 |
| maxPerStageDescriptorSampledImages | 208 | 256 |
| maxPerStageResources | 664 | 712 |
| maxTessellationGenerationLevel | 0 | 64 |
| maxTessellationPatchSize | 0 | 32 |
| maxTessellationControlPerVertexInputComponents | 0 | 64 |
| maxTessellationControlPerVertexOutputComponents | 0 | 64 |
| maxTessellationControlPerPatchOutputComponents | 0 | 120 |
| maxTessellationControlTotalOutputComponents | 0 | 2048 |
| maxTessellationEvaluationInputComponents | 0 | 64 |
| maxTessellationEvaluationOutputComponents | 0 | 64 |
| maxGeometryShaderInvocations | 0 | 32 |
| maxGeometryInputComponents | 0 | 64 |
| maxGeometryOutputComponents | 0 | 128 |
| maxGeometryOutputVertices | 0 | 256 |
| maxGeometryTotalOutputComponents | 0 | 1024 |
| maxFragmentDualSrcAttachments | 1 | 8 |
| maxDrawIndirectCount | 1 | 4294967295 |
| maxSamplerLodBias | 126 | 127.996 |
| maxViewports | 1 | 16 |
| minMemoryMapAlignment | 64 | 4096 |
| minTexelBufferOffsetAlignment | 64 | 16 |
| minStorageBufferOffsetAlignment | 64 | 16 |
| subPixelInterpolationOffsetBits | 4 | 8 |
| framebufferColorSampleCounts | 29 | 5 |
| framebufferDepthSampleCounts | 29 | 5 |
| framebufferStencilSampleCounts | 29 | 5 |
| framebufferNoAttachmentsSampleCounts | 29 | 5 |
| sampledImageColorSampleCounts | 29 | 5 |
| sampledImageIntegerSampleCounts | 29 | 5 |
| sampledImageDepthSampleCounts | 29 | 5 |
| sampledImageStencilSampleCounts | 29 | 5 |
| timestampComputeAndGraphics | 1 | 0 |
| timestampPeriod | 76.9231 | 0 |
| maxCullDistances | 0 | 8 |
| pointSizeRange | 1, 1024 | 0.125, 4095.94 |
| lineWidthRange | 1, 1 | 0, 7.99219 |
| lineWidthGranularity | 0 | 0.0078125 |
Formats pris en charge par un seul pilote (40 gagnés, 0 perdus)
- 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
- BC4_SNORM_BLOCK
- BC4_UNORM_BLOCK
- BC5_SNORM_BLOCK
- BC5_UNORM_BLOCK
- BC6H_SFLOAT_BLOCK
- BC6H_UFLOAT_BLOCK
- BC7_SRGB_BLOCK
- BC7_UNORM_BLOCK
- G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
- G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
- G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16
- G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16
- G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16
- G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16
- G16_B16R16_2PLANE_420_UNORM
- G16_B16R16_2PLANE_422_UNORM
- G16_B16R16_2PLANE_444_UNORM
- G8_B8R8_2PLANE_420_UNORM
- G8_B8R8_2PLANE_422_UNORM
- G8_B8R8_2PLANE_444_UNORM
- G8_B8_R8_3PLANE_420_UNORM
- G8_B8_R8_3PLANE_422_UNORM
- Aucun