malisx2-0.3.0-c8d18effb1 contre panvk-g76-armsx2-v9
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 24049RN28L). Le premier pilote cité est comparé au second, qui sert de référence.
Systèmepanvk-g76-armsx2-v9
contrePersonnalisémalisx2-0.3.0-c8d18effb1
Version du système graphique (Vulkan)1.3.354 à 1.1.363
Fonctionnalités optionnelles (extensions)160 à 19+1 -142
Fonctionnalités qui réussissent leur vérification (validées)39 à 232 réussies uniquement sur malisx2-0.3.0-c8d18effb1 18 réussies uniquement sur panvk-g76-armsx2-v9
Scènes du benchmark1 plus rapide 0 plus lente 1 à égalité9% plus rapide globalement (moyenne géométrique)
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
- compute_nbody1% plus rapide
- pipeline_barriers17% plus rapide
De petites zones de l'image diffèrent de celles du pilote système dans 1 scène (pipeline_barriers : 1470 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 : subpasses (système 3 sur 3, personnalisé 0 sur 3).
Détails de panvk-g76-armsx2-v9 Détails de malisx2-0.3.0-c8d18effb1
Vérifications des fonctionnalités qui diffèrent (38)
| Fonctionnalité | panvk-g76-armsx2-v9 | malisx2-0.3.0-c8d18effb1 | Variation |
|---|---|---|---|
| borderColorSwizzle | réussi | non pris en charge | perdu |
| colorWriteEnable | réussi | non pris en charge | perdu |
| customBorderColors | réussi | non pris en charge | perdu |
| depthClipControl | réussi | non pris en charge | perdu |
| extendedDynamicState | réussi | non pris en charge | perdu |
| extendedDynamicState2 | réussi | non pris en charge | perdu |
| extendedDynamicState2LogicOp | réussi | non pris en charge | perdu |
| extendedDynamicState3ColorBlendEnable | réussi | non pris en charge | perdu |
| extendedDynamicState3ColorBlendEquation | réussi | non pris en charge | perdu |
| extendedDynamicState3ColorWriteMask | réussi | non pris en charge | perdu |
| extendedDynamicState3DepthClampEnable | réussi | non pris en charge | perdu |
| extendedDynamicState3LogicOpEnable | réussi | non pris en charge | perdu |
| inlineUniformBlock | réussi | non pris en charge | perdu |
| vertexInputDynamicState | réussi | non pris en charge | perdu |
| drawIndirectFirstInstance | réussi | non pris en charge | perdu |
| multiViewport | réussi | non pris en charge | perdu |
| core.msaa_resolve | réussi | non pris en charge | perdu |
| stress.multi_draw_indirect_large | réussi | non pris en charge | perdu |
| limit.uniform_buffer_range | échec | réussi | gagné |
| push.max_combined_image_samplers | plantage | réussi | gagné |
| borderColorSwizzleFromImage | non testé | non pris en charge | modifié |
| depthBiasControl | non testé | non pris en charge | modifié |
| depthBiasExact | non testé | non pris en charge | modifié |
| extendedDynamicState3AlphaToCoverageEnable | non testé | non pris en charge | modifié |
| extendedDynamicState3DepthClipEnable | non testé | non pris en charge | modifié |
| extendedDynamicState3LineRasterizationMode | non testé | non pris en charge | modifié |
| extendedDynamicState3RasterizationSamples | non testé | non pris en charge | modifié |
| extendedDynamicState3SampleMask | non testé | non pris en charge | modifié |
| descriptorBindingInlineUniformBlockUpdateAfterBind | non testé | non pris en charge | modifié |
| fillModeNonSolid | non testé | non pris en charge | modifié |
| geometryShader | plantage | non pris en charge | modifié |
| logicOp | non testé | non pris en charge | modifié |
| multiDrawIndirect | échec | non pris en charge | modifié |
| shaderCullDistance | non testé | non pris en charge | modifié |
| shaderInt64 | non testé | non pris en charge | modifié |
| shaderTessellationAndGeometryPointSize | non testé | non pris en charge | modifié |
| tessellationShader | échec | non pris en charge | modifié |
| wideLines | non testé | non pris en charge | modifié |
Scènes du benchmark
| Scène | panvk-g76-armsx2-v9 ms | malisx2-0.3.0-c8d18effb1 ms | Écart | Démarrages | Fréquence du GPU, MHz | Image vs système |
|---|---|---|---|---|---|---|
| compute_nbody | 104.48 | 102.96 | 1% plus rapide | 3 sur 3 contre 3 sur 3 | ? contre ? | pas de grande différence pas de petite différence |
| oit_linked_lists | n/a | 73.98 | un seul côté | 3 sur 3 contre 3 sur 3 | ? contre ? | pas de grande différence pas de petite différence |
| pipeline_barriers | 101.82 | 86.88 | 17% plus rapide | 3 sur 3 contre 3 sur 3 | ? contre ? | pas de grande différence diffère dans 1470 petites zones |
| subpasses | 165.26 | n/a | un seul côté | 3 sur 3 contre 0 sur 3 | ? contre ? | non vérifié |
Différences techniques (Vulkan)
Extensions uniquement dans malisx2-0.3.0-c8d18effb1 (1)
- VK_EXT_device_fault
Extensions uniquement dans panvk-g76-armsx2-v9 (142)
- 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_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_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_present_timing
- VK_EXT_primitive_topology_list_restart
- VK_EXT_private_data
- VK_EXT_queue_family_foreign
- 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_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_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_depth_clamp_zero_one
- 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_internally_synchronized_queues
- 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_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_present_id
- VK_KHR_present_id2
- VK_KHR_present_wait
- VK_KHR_present_wait2
- 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_clock
- 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_swapchain_maintenance1
- VK_KHR_swapchain_mutable_format
- VK_KHR_synchronization2
- 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
Fonctionnalités de base qui diffèrent (62)
| 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 |
| descriptorBindingPartiallyBound | réussi à non pris en charge |
| descriptorBindingSampledImageUpdateAfterBind | réussi à non pris en charge |
| descriptorBindingStorageBufferUpdateAfterBind | réussi à non pris en charge |
| descriptorBindingStorageImageUpdateAfterBind | réussi à non pris en charge |
| descriptorBindingStorageTexelBufferUpdateAfterBind | réussi à non pris en charge |
| descriptorBindingUniformBufferUpdateAfterBind | réussi à non pris en charge |
| descriptorBindingUniformTexelBufferUpdateAfterBind | réussi à non pris en charge |
| descriptorBindingUpdateUnusedWhilePending | réussi à non pris en charge |
| descriptorBindingVariableDescriptorCount | réussi à non pris en charge |
| descriptorIndexing | réussi à non pris en charge |
| hostQueryReset | réussi à non pris en charge |
| imagelessFramebuffer | réussi à non pris en charge |
| runtimeDescriptorArray | 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 |
| shaderInputAttachmentArrayDynamicIndexing | réussi à non pris en charge |
| shaderInputAttachmentArrayNonUniformIndexing | réussi à non pris en charge |
| shaderInt8 | réussi à non pris en charge |
| shaderSampledImageArrayNonUniformIndexing | réussi à non pris en charge |
| shaderStorageBufferArrayNonUniformIndexing | réussi à non pris en charge |
| shaderStorageImageArrayNonUniformIndexing | réussi à non pris en charge |
| shaderStorageTexelBufferArrayDynamicIndexing | réussi à non pris en charge |
| shaderStorageTexelBufferArrayNonUniformIndexing | réussi à non pris en charge |
| shaderSubgroupExtendedTypes | réussi à non pris en charge |
| shaderUniformBufferArrayNonUniformIndexing | réussi à non pris en charge |
| shaderUniformTexelBufferArrayDynamicIndexing | réussi à non pris en charge |
| shaderUniformTexelBufferArrayNonUniformIndexing | 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 (50)
| Limite | panvk-g76-armsx2-v9 | malisx2-0.3.0-c8d18effb1 |
|---|---|---|
| maxImageDimension1D | 65536 | 16384 |
| maxImageDimension2D | 65536 | 16384 |
| maxImageDimension3D | 65536 | 16384 |
| maxImageDimensionCube | 65536 | 16384 |
| maxImageArrayLayers | 65536 | 4096 |
| maxTexelBufferElements | 134217728 | 268435456 |
| maxUniformBufferRange | 1048576 | 65536 |
| maxStorageBufferRange | 4294967295 | 2147483648 |
| maxMemoryAllocationCount | 4294967295 | 16384 |
| maxSamplerAllocationCount | 4294967295 | 4000 |
| bufferImageGranularity | 64 | 1 |
| maxBoundDescriptorSets | 4 | 7 |
| maxPerStageDescriptorSampledImages | 256 | 208 |
| maxPerStageResources | 712 | 664 |
| 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 | 64 | 0 |
| maxGeometryOutputComponents | 64 | 0 |
| maxGeometryOutputVertices | 256 | 0 |
| maxGeometryTotalOutputComponents | 1024 | 0 |
| maxFragmentDualSrcAttachments | 8 | 1 |
| maxDrawIndirectCount | 4294967295 | 1 |
| maxSamplerLodBias | 127.996 | 126 |
| maxViewports | 16 | 1 |
| minMemoryMapAlignment | 4096 | 64 |
| minTexelBufferOffsetAlignment | 16 | 64 |
| minStorageBufferOffsetAlignment | 16 | 64 |
| subPixelInterpolationOffsetBits | 8 | 4 |
| framebufferColorSampleCounts | 5 | 1 |
| framebufferDepthSampleCounts | 5 | 1 |
| framebufferStencilSampleCounts | 5 | 1 |
| framebufferNoAttachmentsSampleCounts | 5 | 1 |
| sampledImageColorSampleCounts | 5 | 1 |
| sampledImageIntegerSampleCounts | 5 | 1 |
| sampledImageDepthSampleCounts | 5 | 1 |
| sampledImageStencilSampleCounts | 5 | 1 |
| timestampComputeAndGraphics | 0 | 1 |
| timestampPeriod | 0 | 76.9231 |
| maxClipDistances | 0 | 8 |
| maxCombinedClipAndCullDistances | 0 | 8 |
| pointSizeRange | 0.125, 4095.94 | 1, 1024 |
| lineWidthRange | 0, 7.99219 | 1, 1 |
| lineWidthGranularity | 0.0078125 | 0 |
Formats pris en charge par un seul pilote (2 gagnés, 34 perdus)
- 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
- 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
- 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