malisx2-0.2.2-18ad24d9a2 vs mali-panvk-26.3.0-devel-r4
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.
Sistemamali-panvk-26.3.0-devel-r4
vsCustomizadomalisx2-0.2.2-18ad24d9a2
Versão do sistema gráfico (Vulkan)1.3.358 a 1.1.363
Recursos opcionais (extensões)154 a 15+3 -142
Recursos que passam na verificação (validados)44 a 222 passaram só no malisx2-0.2.2-18ad24d9a2 24 passaram só no mali-panvk-26.3.0-devel-r4
Cenas do teste de velocidade (benchmark)sem cenas em comum
Jogos que cada driver poderia rodar (uma estimativa a partir da lista de recursos): verde provável, amarelo talvez, laranja limitado, vermelho não
SistemaDX92002+DX102006+DX112009+DX122015+Switch
CustomizadoDX92002+DX102006+DX112009+DX122015+Switch
Detalhes do mali-panvk-26.3.0-devel-r4 Detalhes do malisx2-0.2.2-18ad24d9a2
Verificações de recursos que diferem (44)
| Recurso | mali-panvk-26.3.0-devel-r4 | malisx2-0.2.2-18ad24d9a2 | Mudança |
|---|---|---|---|
| borderColorSwizzle | passou | sem suporte | perdidos |
| colorWriteEnable | passou | sem suporte | perdidos |
| customBorderColors | passou | sem suporte | perdidos |
| depthClipControl | passou | sem suporte | perdidos |
| extendedDynamicState | passou | sem suporte | perdidos |
| extendedDynamicState2 | passou | sem suporte | perdidos |
| extendedDynamicState2LogicOp | passou | sem suporte | perdidos |
| extendedDynamicState3ColorBlendEnable | passou | sem suporte | perdidos |
| extendedDynamicState3ColorBlendEquation | passou | sem suporte | perdidos |
| extendedDynamicState3ColorWriteMask | passou | sem suporte | perdidos |
| extendedDynamicState3DepthClampEnable | passou | sem suporte | perdidos |
| extendedDynamicState3LogicOpEnable | passou | sem suporte | perdidos |
| inlineUniformBlock | passou | sem suporte | perdidos |
| robustBufferAccess2 | passou | sem suporte | perdidos |
| vertexInputDynamicState | passou | sem suporte | perdidos |
| timelineSemaphore | passou | sem suporte | perdidos |
| drawIndirectFirstInstance | passou | sem suporte | perdidos |
| geometryShader | passou | sem suporte | perdidos |
| multiDrawIndirect | passou | sem suporte | perdidos |
| multiViewport | passou | sem suporte | perdidos |
| occlusionQueryPrecise | passou | falhou | perdidos |
| tessellationShader | passou | sem suporte | perdidos |
| core.msaa_resolve | passou | falhou | perdidos |
| stress.multi_draw_indirect_large | passou | sem suporte | perdidos |
| limit.uniform_buffer_range | falhou | passou | ganhos |
| push.max_combined_image_samplers | falhou | passou | ganhos |
| borderColorSwizzleFromImage | não testado | sem suporte | mudou |
| depthBiasControl | não testado | sem suporte | mudou |
| depthBiasExact | não testado | sem suporte | mudou |
| extendedDynamicState3AlphaToCoverageEnable | não testado | sem suporte | mudou |
| extendedDynamicState3DepthClipEnable | não testado | sem suporte | mudou |
| extendedDynamicState3LineRasterizationMode | não testado | sem suporte | mudou |
| extendedDynamicState3RasterizationSamples | não testado | sem suporte | mudou |
| extendedDynamicState3SampleMask | não testado | sem suporte | mudou |
| descriptorBindingInlineUniformBlockUpdateAfterBind | não testado | sem suporte | mudou |
| nullDescriptor | não testado | sem suporte | mudou |
| geometryStreams | não testado | sem suporte | mudou |
| transformFeedback | falhou | sem suporte | mudou |
| fillModeNonSolid | não testado | sem suporte | mudou |
| logicOp | não testado | sem suporte | mudou |
| shaderCullDistance | não testado | sem suporte | mudou |
| shaderInt64 | não testado | sem suporte | mudou |
| vertexPipelineStoresAndAtomics | não testado | sem suporte | mudou |
| wideLines | não testado | sem suporte | mudou |
Cenas do teste de velocidade (benchmark)
| Cena | mali-panvk-26.3.0-devel-r4 ms | malisx2-0.2.2-18ad24d9a2 ms | Diferença | Inícios | Clock da GPU, MHz | Imagem vs driver do sistema |
|---|---|---|---|---|---|---|
| compute_nbody | n/a | 103.19 | só um lado | ? vs 3 de 3 | ? vs ? | não verificado |
| oit_linked_lists | n/a | 73.28 | só um lado | ? vs 3 de 3 | ? vs ? | não verificado |
| pipeline_barriers | n/a | 87.05 | só um lado | ? vs 3 de 3 | ? vs ? | não verificado |
Diferenças técnicas (Vulkan)
Extensões só no malisx2-0.2.2-18ad24d9a2 (3)
- VK_ARM_rasterization_order_attachment_access
- VK_EXT_device_fault
- VK_EXT_rasterization_order_attachment_access
Extensões só no mali-panvk-26.3.0-devel-r4 (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_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_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_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_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
Recursos básicos que diferem (53)
| 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 |
| descriptorBindingVariableDescriptorCount | passou a sem suporte |
| hostQueryReset | passou a sem suporte |
| imagelessFramebuffer | passou a sem suporte |
| runtimeDescriptorArray | passou a sem suporte |
| samplerMirrorClampToEdge | passou a sem suporte |
| scalarBlockLayout | passou a sem suporte |
| separateDepthStencilLayouts | passou a sem suporte |
| shaderInputAttachmentArrayDynamicIndexing | passou a sem suporte |
| shaderInputAttachmentArrayNonUniformIndexing | passou a sem suporte |
| shaderInt8 | passou a sem suporte |
| shaderSampledImageArrayNonUniformIndexing | passou a sem suporte |
| shaderStorageBufferArrayNonUniformIndexing | passou a sem suporte |
| shaderStorageImageArrayNonUniformIndexing | passou a sem suporte |
| shaderStorageTexelBufferArrayDynamicIndexing | passou a sem suporte |
| shaderStorageTexelBufferArrayNonUniformIndexing | passou a sem suporte |
| shaderSubgroupExtendedTypes | passou a sem suporte |
| shaderUniformBufferArrayNonUniformIndexing | passou a sem suporte |
| shaderUniformTexelBufferArrayDynamicIndexing | passou a sem suporte |
| shaderUniformTexelBufferArrayNonUniformIndexing | 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 (50)
| Limite | mali-panvk-26.3.0-devel-r4 | malisx2-0.2.2-18ad24d9a2 |
|---|---|---|
| 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 |
| sparseAddressSpaceSize | 30064771072 | 0 |
| maxBoundDescriptorSets | 4 | 7 |
| maxPerStageDescriptorSampledImages | 256 | 208 |
| maxPerStageResources | 712 | 664 |
| maxTessellationGenerationLevel | 64 | 0 |
| maxTessellationPatchSize | 32 | 0 |
| maxTessellationControlPerVertexInputComponents | 64 | 0 |
| maxTessellationControlPerVertexOutputComponents | 64 | 0 |
| maxTessellationControlPerPatchOutputComponents | 120 | 0 |
| maxTessellationControlTotalOutputComponents | 2048 | 0 |
| maxTessellationEvaluationInputComponents | 64 | 0 |
| maxTessellationEvaluationOutputComponents | 64 | 0 |
| maxGeometryShaderInvocations | 32 | 0 |
| maxGeometryInputComponents | 64 | 0 |
| maxGeometryOutputComponents | 128 | 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 | 29 |
| framebufferDepthSampleCounts | 5 | 29 |
| framebufferStencilSampleCounts | 5 | 29 |
| framebufferNoAttachmentsSampleCounts | 5 | 29 |
| sampledImageColorSampleCounts | 5 | 29 |
| sampledImageIntegerSampleCounts | 5 | 29 |
| sampledImageDepthSampleCounts | 5 | 29 |
| sampledImageStencilSampleCounts | 5 | 29 |
| timestampComputeAndGraphics | 0 | 1 |
| timestampPeriod | 0 | 76.9231 |
| maxCullDistances | 8 | 0 |
| pointSizeRange | 0.125, 4095.94 | 1, 1024 |
| lineWidthRange | 0, 7.99219 | 1, 1 |
| lineWidthGranularity | 0.0078125 | 0 |
Formatos suportados por só um driver (2 ganhos, 26 perdidos)
- 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
- 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