malisx2-0.2.1-7b57547cd1 vs Panvk-Mali-G57-2.0-rc1
En la 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). El primer driver que se nombra se compara con el segundo, que es la referencia (baseline).
- compute_nbody32% más lento
- oit_linked_lists19% más lento
- pipeline_barriers35% más lento
Pequeñas zonas de la imagen difieren del driver de fábrica en 1 escena (pipeline_barriers: 1500 de 2304 celdas). La imagen coincide en general, así que es un fallo de renderizado local, no una escena distinta.
No arrancó todas las veces: hdr_2160p (de fábrica 3 de 3, personalizado 0 de 3), subpasses (de fábrica 3 de 3, personalizado 0 de 3).
Detalles de Panvk-Mali-G57-2.0-rc1 Detalles de malisx2-0.2.1-7b57547cd1
Comprobaciones de funciones que difieren (31)
| Función | Panvk-Mali-G57-2.0-rc1 | malisx2-0.2.1-7b57547cd1 | Cambio |
|---|---|---|---|
| borderColorSwizzle | pasa | no admitida | perdido |
| customBorderColors | pasa | no admitida | perdido |
| extendedDynamicState | pasa | no admitida | perdido |
| extendedDynamicState2 | pasa | no admitida | perdido |
| inlineUniformBlock | pasa | no admitida | perdido |
| transformFeedback | pasa | no admitida | perdido |
| vertexInputDynamicState | pasa | no admitida | perdido |
| shaderBufferInt64Atomics | pasa | no admitida | perdido |
| timelineSemaphore | pasa | no admitida | perdido |
| drawIndirectFirstInstance | pasa | no admitida | perdido |
| geometryShader | pasa | no admitida | perdido |
| occlusionQueryPrecise | pasa | falla | perdido |
| tessellationShader | pasa | no admitida | perdido |
| core.msaa_resolve | pasa | falla | perdido |
| push.max_combined_image_samplers | no admitida | pasa | ganado |
| push.max_uniform_buffers | no admitida | pasa | ganado |
| borderColorSwizzleFromImage | sin probar | no admitida | cambió |
| customBorderColorWithoutFormat | sin probar | no admitida | cambió |
| extendedDynamicState2PatchControlPoints | sin probar | no admitida | cambió |
| extendedDynamicState3LineRasterizationMode | sin probar | no admitida | cambió |
| extendedDynamicState3ProvokingVertexMode | sin probar | no admitida | cambió |
| extendedDynamicState3SampleMask | sin probar | no admitida | cambió |
| extendedDynamicState3TessellationDomainOrigin | sin probar | no admitida | cambió |
| descriptorBindingInlineUniformBlockUpdateAfterBind | sin probar | no admitida | cambió |
| shaderSharedInt64Atomics | sin probar | no admitida | cambió |
| depthClamp | no admitida | sin probar | cambió |
| dualSrcBlend | sin probar | no admitida | cambió |
| logicOp | sin probar | no admitida | cambió |
| shaderClipDistance | no admitida | sin probar | cambió |
| shaderInt64 | 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 | Panvk-Mali-G57-2.0-rc1 ms | malisx2-0.2.1-7b57547cd1 ms | Diferencia | Arranques | Reloj de la GPU, MHz | Imagen vs de fábrica |
|---|---|---|---|---|---|---|
| compute_nbody | 69.81 | 103.00 | 32% más lento | 3 de 3 vs 3 de 3 | ? vs ? | sin gran diferencia sin diferencia pequeña |
| hdr_2160p | 148.49 | n/a | solo un lado | 3 de 3 vs 0 de 3 | ? vs ? | sin comprobar |
| oit_linked_lists | 59.15 | 73.45 | 19% más lento | 3 de 3 vs 3 de 3 | ? vs ? | sin gran diferencia sin diferencia pequeña |
| pipeline_barriers | 56.78 | 86.91 | 35% más lento | 3 de 3 vs 3 de 3 | ? vs ? | sin gran diferencia difiere en 1500 zonas pequeñas |
| subpasses | 110.67 | n/a | solo un lado | 3 de 3 vs 0 de 3 | ? vs ? | sin comprobar |
Diferencias técnicas (Vulkan)
Extensiones solo en malisx2-0.2.1-7b57547cd1 (2)
- VK_EXT_memory_budget
- VK_KHR_push_descriptor
Extensiones solo en Panvk-Mali-G57-2.0-rc1 (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
Funciones básicas que difieren (45)
| 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 |
| hostQueryReset | pasa a no admitida |
| imagelessFramebuffer | pasa a no admitida |
| samplerMirrorClampToEdge | pasa a no admitida |
| scalarBlockLayout | pasa a no admitida |
| separateDepthStencilLayouts | pasa a no admitida |
| shaderBufferInt64Atomics | pasa a no admitida |
| shaderFloat16 | pasa a no admitida |
| shaderInt8 | pasa a no admitida |
| shaderOutputViewportIndex | pasa a no admitida |
| shaderSharedInt64Atomics | pasa a no admitida |
| shaderSubgroupExtendedTypes | 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 (45)
| Límite | Panvk-Mali-G57-2.0-rc1 | malisx2-0.2.1-7b57547cd1 |
|---|---|---|
| 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 |
Formatos admitidos por un solo driver (9 ganados, 34 perdidos)
- 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