malisx2-0.3.1-8cdb0f68cd vs mali-panvk-26.3.0-devel-r4
En la 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 24040RN64Y, Xiaomi 24049RN28L). El primer driver que se nombra se compara con el segundo, que es la referencia (baseline).
De fábricamali-panvk-26.3.0-devel-r4
vsPersonalizadomalisx2-0.3.1-8cdb0f68cd
Versión del sistema gráfico (Vulkan)1.3.358 a 1.1.366
Funciones opcionales (extensiones)154 a 19+3 -138
Funciones que pasan su comprobación (validadas)44 a 242 pasan solo en malisx2-0.3.1-8cdb0f68cd 22 pasan solo en mali-panvk-26.3.0-devel-r4
Escenas de la prueba de velocidad (benchmark)sin escenas compartidas
Juegos que podría mover cada driver (una estimación a partir de su lista de funciones): verde probable, amarillo quizá, naranja limitado, rojo no
De fábricaDX92002+DX102006+DX112009+DX122015+Switch
PersonalizadoDX92002+DX102006+DX112009+DX122015+Switch
Detalles de mali-panvk-26.3.0-devel-r4 Detalles de malisx2-0.3.1-8cdb0f68cd
Comprobaciones de funciones que difieren (42)
| Función | mali-panvk-26.3.0-devel-r4 | malisx2-0.3.1-8cdb0f68cd | Cambio |
|---|---|---|---|
| borderColorSwizzle | pasa | no admitida | perdido |
| colorWriteEnable | pasa | no admitida | perdido |
| customBorderColors | pasa | no admitida | perdido |
| depthClipControl | pasa | no admitida | perdido |
| extendedDynamicState | pasa | no admitida | perdido |
| extendedDynamicState2 | pasa | no admitida | perdido |
| extendedDynamicState2LogicOp | pasa | no admitida | perdido |
| extendedDynamicState3ColorBlendEnable | pasa | no admitida | perdido |
| extendedDynamicState3ColorBlendEquation | pasa | no admitida | perdido |
| extendedDynamicState3ColorWriteMask | pasa | no admitida | perdido |
| extendedDynamicState3DepthClampEnable | pasa | no admitida | perdido |
| extendedDynamicState3LogicOpEnable | pasa | no admitida | perdido |
| inlineUniformBlock | pasa | no admitida | perdido |
| robustBufferAccess2 | pasa | no admitida | perdido |
| vertexInputDynamicState | pasa | no admitida | perdido |
| drawIndirectFirstInstance | pasa | no admitida | perdido |
| geometryShader | pasa | no admitida | perdido |
| multiDrawIndirect | pasa | no admitida | perdido |
| multiViewport | pasa | no admitida | perdido |
| tessellationShader | pasa | no admitida | perdido |
| core.msaa_resolve | pasa | no admitida | perdido |
| stress.multi_draw_indirect_large | pasa | no admitida | perdido |
| limit.uniform_buffer_range | falla | pasa | ganado |
| push.max_combined_image_samplers | falla | pasa | ganado |
| borderColorSwizzleFromImage | sin probar | no admitida | cambió |
| depthBiasControl | sin probar | no admitida | cambió |
| depthBiasExact | sin probar | no admitida | cambió |
| extendedDynamicState3AlphaToCoverageEnable | sin probar | no admitida | cambió |
| extendedDynamicState3DepthClipEnable | sin probar | no admitida | cambió |
| extendedDynamicState3LineRasterizationMode | sin probar | no admitida | cambió |
| extendedDynamicState3RasterizationSamples | sin probar | no admitida | cambió |
| extendedDynamicState3SampleMask | sin probar | no admitida | cambió |
| descriptorBindingInlineUniformBlockUpdateAfterBind | sin probar | no admitida | cambió |
| nullDescriptor | sin probar | no admitida | cambió |
| geometryStreams | sin probar | no admitida | cambió |
| transformFeedback | falla | no admitida | cambió |
| fillModeNonSolid | sin probar | no admitida | cambió |
| logicOp | sin probar | no admitida | cambió |
| shaderCullDistance | sin probar | no admitida | cambió |
| shaderInt64 | sin probar | no admitida | cambió |
| vertexPipelineStoresAndAtomics | sin probar | no admitida | cambió |
| wideLines | sin probar | no admitida | cambió |
Escenas de la prueba de velocidad (benchmark)
Los dos drivers no se midieron en los mismos modelos de dispositivo. Los tiempos por fotograma de dispositivos distintos no sirven para comparar drivers, así que lee estas cifras con eso en mente.
| Escena | mali-panvk-26.3.0-devel-r4 ms | malisx2-0.3.1-8cdb0f68cd ms | Diferencia | Arranques | Reloj de la GPU, MHz | Imagen vs de fábrica |
|---|---|---|---|---|---|---|
| compute_nbody | n/a | 103.02 | solo un lado | 0 de 3 vs 3 de 3 | ? vs ? | sin comprobar |
| oit_linked_lists | n/a | 72.85 | solo un lado | 0 de 3 vs 3 de 3 | ? vs ? | sin comprobar |
| pipeline_barriers | n/a | 85.93 | solo un lado | 0 de 3 vs 3 de 3 | ? vs ? | sin comprobar |
Diferencias técnicas (Vulkan)
Extensiones solo en malisx2-0.3.1-8cdb0f68cd (3)
- VK_ARM_rasterization_order_attachment_access
- VK_EXT_device_fault
- VK_EXT_rasterization_order_attachment_access
Extensiones solo en mali-panvk-26.3.0-devel-r4 (138)
- 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_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_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_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
Funciones básicas que difieren (53)
| multiview | pasa a no admitida |
| samplerYcbcrConversion | pasa a no admitida |
| shaderDrawParameters | pasa a no admitida |
| storageBuffer16BitAccess | pasa a no admitida |
| storageInputOutput16 | pasa a no admitida |
| storagePushConstant16 | pasa a no admitida |
| uniformAndStorageBuffer16BitAccess | pasa a no admitida |
| variablePointers | pasa a no admitida |
| variablePointersStorageBuffer | pasa a no admitida |
| bufferDeviceAddress | pasa a no admitida |
| descriptorBindingVariableDescriptorCount | pasa a no admitida |
| hostQueryReset | pasa a no admitida |
| imagelessFramebuffer | pasa a no admitida |
| runtimeDescriptorArray | pasa a no admitida |
| samplerMirrorClampToEdge | pasa a no admitida |
| scalarBlockLayout | pasa a no admitida |
| separateDepthStencilLayouts | pasa a no admitida |
| shaderInputAttachmentArrayDynamicIndexing | pasa a no admitida |
| shaderInputAttachmentArrayNonUniformIndexing | pasa a no admitida |
| shaderInt8 | pasa a no admitida |
| shaderSampledImageArrayNonUniformIndexing | pasa a no admitida |
| shaderStorageBufferArrayNonUniformIndexing | pasa a no admitida |
| shaderStorageImageArrayNonUniformIndexing | pasa a no admitida |
| shaderStorageTexelBufferArrayDynamicIndexing | pasa a no admitida |
| shaderStorageTexelBufferArrayNonUniformIndexing | pasa a no admitida |
| shaderSubgroupExtendedTypes | pasa a no admitida |
| shaderUniformBufferArrayNonUniformIndexing | pasa a no admitida |
| shaderUniformTexelBufferArrayDynamicIndexing | pasa a no admitida |
| shaderUniformTexelBufferArrayNonUniformIndexing | pasa a no admitida |
| storageBuffer8BitAccess | pasa a no admitida |
| storagePushConstant8 | pasa a no admitida |
| subgroupBroadcastDynamicId | pasa a no admitida |
| timelineSemaphore | pasa a no admitida |
| uniformAndStorageBuffer8BitAccess | pasa a no admitida |
| uniformBufferStandardLayout | pasa a no admitida |
| vulkanMemoryModel | pasa a no admitida |
| vulkanMemoryModelAvailabilityVisibilityChains | pasa a no admitida |
| vulkanMemoryModelDeviceScope | pasa a no admitida |
| computeFullSubgroups | pasa a no admitida |
| descriptorBindingInlineUniformBlockUpdateAfterBind | pasa a no admitida |
| dynamicRendering | pasa a no admitida |
| inlineUniformBlock | pasa a no admitida |
| maintenance4 | pasa a no admitida |
| pipelineCreationCacheControl | pasa a no admitida |
| privateData | pasa a no admitida |
| robustImageAccess | pasa a no admitida |
| shaderDemoteToHelperInvocation | pasa a no admitida |
| shaderIntegerDotProduct | pasa a no admitida |
| shaderTerminateInvocation | pasa a no admitida |
| shaderZeroInitializeWorkgroupMemory | pasa a no admitida |
| subgroupSizeControl | pasa a no admitida |
| synchronization2 | pasa a no admitida |
| textureCompressionASTC_HDR | pasa a no admitida |
Límites que difieren (50)
| Límite | mali-panvk-26.3.0-devel-r4 | malisx2-0.3.1-8cdb0f68cd |
|---|---|---|
| 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 | 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 |
| maxCullDistances | 8 | 0 |
| pointSizeRange | 0.125, 4095.94 | 1, 1024 |
| lineWidthRange | 0, 7.99219 | 1, 1 |
| lineWidthGranularity | 0.0078125 | 0 |
Formatos admitidos por un solo driver (2 ganados, 34 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
- 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