malisx2-0.2.2-18ad24d9a2 对比 PanVK-Kbase-Android-v0.1.0-rc4-5a07217f-adrenotools
在 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). 先列出的驱动与后一个对比,后一个是基准。
原厂PanVK-Kbase-Android-v0.1.0-rc4-5a07217f-adrenotools
对比第三方malisx2-0.2.2-18ad24d9a2
图形系统版本(Vulkan)1.3.363 → 1.1.363
可选功能(扩展)159 → 15+3 -147
通过检测的功能(已验证)38 → 222 个仅在 malisx2-0.2.2-18ad24d9a2 上通过 18 个仅在 PanVK-Kbase-Android-v0.1.0-rc4-5a07217f-adrenotools 上通过
跑分测试场景(基准测试)没有共同场景
各驱动能跑的游戏(根据功能列表估算):绿色基本能跑,黄色可能能跑,橙色问题较多,红色跑不了
原厂DX92002+DX102006+DX112009+DX122015+Switch
第三方DX92002+DX102006+DX112009+DX122015+Switch
PanVK-Kbase-Android-v0.1.0-rc4-5a07217f-adrenotools 详情 malisx2-0.2.2-18ad24d9a2 详情
结果不同的功能检测(33)
| 功能 | PanVK-Kbase-Android-v0.1.0-rc4-5a07217f-adrenotools | malisx2-0.2.2-18ad24d9a2 | 变化 |
|---|---|---|---|
| borderColorSwizzle | 通过 | 不支持 | 减少 |
| colorWriteEnable | 通过 | 不支持 | 减少 |
| customBorderColors | 通过 | 不支持 | 减少 |
| depthClipControl | 通过 | 不支持 | 减少 |
| extendedDynamicState | 通过 | 不支持 | 减少 |
| extendedDynamicState2 | 通过 | 不支持 | 减少 |
| extendedDynamicState2LogicOp | 通过 | 不支持 | 减少 |
| extendedDynamicState3ColorBlendEnable | 通过 | 不支持 | 减少 |
| extendedDynamicState3ColorBlendEquation | 通过 | 不支持 | 减少 |
| extendedDynamicState3ColorWriteMask | 通过 | 不支持 | 减少 |
| extendedDynamicState3DepthClampEnable | 通过 | 不支持 | 减少 |
| extendedDynamicState3LogicOpEnable | 通过 | 不支持 | 减少 |
| inlineUniformBlock | 通过 | 不支持 | 减少 |
| vertexInputDynamicState | 通过 | 不支持 | 减少 |
| timelineSemaphore | 通过 | 不支持 | 减少 |
| drawIndirectFirstInstance | 通过 | 不支持 | 减少 |
| textureCompressionBC | 通过 | 不支持 | 减少 |
| core.msaa_resolve | 通过 | 失败 | 减少 |
| limit.uniform_buffer_range | 失败 | 通过 | 新增 |
| push.max_combined_image_samplers | 崩溃 | 通过 | 新增 |
| borderColorSwizzleFromImage | 未检测 | 不支持 | 有变化 |
| depthBiasControl | 未检测 | 不支持 | 有变化 |
| depthBiasExact | 未检测 | 不支持 | 有变化 |
| extendedDynamicState3AlphaToCoverageEnable | 未检测 | 不支持 | 有变化 |
| extendedDynamicState3DepthClipEnable | 未检测 | 不支持 | 有变化 |
| extendedDynamicState3LineRasterizationMode | 未检测 | 不支持 | 有变化 |
| extendedDynamicState3RasterizationSamples | 未检测 | 不支持 | 有变化 |
| extendedDynamicState3SampleMask | 未检测 | 不支持 | 有变化 |
| descriptorBindingInlineUniformBlockUpdateAfterBind | 未检测 | 不支持 | 有变化 |
| logicOp | 未检测 | 不支持 | 有变化 |
| shaderClipDistance | 不支持 | 未检测 | 有变化 |
| shaderInt64 | 未检测 | 不支持 | 有变化 |
| wideLines | 未检测 | 不支持 | 有变化 |
跑分测试场景(基准测试)
两个驱动不是在同一批设备型号上测的。不同设备的帧时间不能用来比较驱动,看这些数据时请记住这一点。
| 场景 | PanVK-Kbase-Android-v0.1.0-rc4-5a07217f-adrenotools ms | malisx2-0.2.2-18ad24d9a2 ms | 差异 | 启动次数 | GPU 频率,MHz | 画面对比原厂 |
|---|---|---|---|---|---|---|
| compute_nbody | n/a | 103.19 | 仅一侧有 | ? 对比 3 / 3 | ? 对比 ? | 未检测 |
| oit_linked_lists | n/a | 73.28 | 仅一侧有 | ? 对比 3 / 3 | ? 对比 ? | 未检测 |
| pipeline_barriers | n/a | 87.05 | 仅一侧有 | ? 对比 3 / 3 | ? 对比 ? | 未检测 |
技术差异(Vulkan)
仅 malisx2-0.2.2-18ad24d9a2 有的扩展(3)
- VK_ARM_rasterization_order_attachment_access
- VK_EXT_device_fault
- VK_EXT_rasterization_order_attachment_access
仅 PanVK-Kbase-Android-v0.1.0-rc4-5a07217f-adrenotools 有的扩展(147)
- 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_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_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_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_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_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_swapchain_maintenance1
- VK_KHR_swapchain_mutable_format
- 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
不同的核心功能(53)
| multiview | 通过 → 不支持 |
| samplerYcbcrConversion | 通过 → 不支持 |
| shaderDrawParameters | 通过 → 不支持 |
| storageBuffer16BitAccess | 通过 → 不支持 |
| storageInputOutput16 | 通过 → 不支持 |
| storagePushConstant16 | 通过 → 不支持 |
| uniformAndStorageBuffer16BitAccess | 通过 → 不支持 |
| variablePointers | 通过 → 不支持 |
| variablePointersStorageBuffer | 通过 → 不支持 |
| bufferDeviceAddress | 通过 → 不支持 |
| descriptorBindingVariableDescriptorCount | 通过 → 不支持 |
| hostQueryReset | 通过 → 不支持 |
| imagelessFramebuffer | 通过 → 不支持 |
| runtimeDescriptorArray | 通过 → 不支持 |
| samplerMirrorClampToEdge | 通过 → 不支持 |
| scalarBlockLayout | 通过 → 不支持 |
| separateDepthStencilLayouts | 通过 → 不支持 |
| shaderInputAttachmentArrayDynamicIndexing | 通过 → 不支持 |
| shaderInputAttachmentArrayNonUniformIndexing | 通过 → 不支持 |
| shaderInt8 | 通过 → 不支持 |
| shaderSampledImageArrayNonUniformIndexing | 通过 → 不支持 |
| shaderStorageBufferArrayNonUniformIndexing | 通过 → 不支持 |
| shaderStorageImageArrayNonUniformIndexing | 通过 → 不支持 |
| shaderStorageTexelBufferArrayDynamicIndexing | 通过 → 不支持 |
| shaderStorageTexelBufferArrayNonUniformIndexing | 通过 → 不支持 |
| shaderSubgroupExtendedTypes | 通过 → 不支持 |
| shaderUniformBufferArrayNonUniformIndexing | 通过 → 不支持 |
| shaderUniformTexelBufferArrayDynamicIndexing | 通过 → 不支持 |
| shaderUniformTexelBufferArrayNonUniformIndexing | 通过 → 不支持 |
| storageBuffer8BitAccess | 通过 → 不支持 |
| storagePushConstant8 | 通过 → 不支持 |
| subgroupBroadcastDynamicId | 通过 → 不支持 |
| timelineSemaphore | 通过 → 不支持 |
| uniformAndStorageBuffer8BitAccess | 通过 → 不支持 |
| uniformBufferStandardLayout | 通过 → 不支持 |
| vulkanMemoryModel | 通过 → 不支持 |
| vulkanMemoryModelAvailabilityVisibilityChains | 通过 → 不支持 |
| vulkanMemoryModelDeviceScope | 通过 → 不支持 |
| computeFullSubgroups | 通过 → 不支持 |
| descriptorBindingInlineUniformBlockUpdateAfterBind | 通过 → 不支持 |
| dynamicRendering | 通过 → 不支持 |
| inlineUniformBlock | 通过 → 不支持 |
| maintenance4 | 通过 → 不支持 |
| pipelineCreationCacheControl | 通过 → 不支持 |
| privateData | 通过 → 不支持 |
| robustImageAccess | 通过 → 不支持 |
| shaderDemoteToHelperInvocation | 通过 → 不支持 |
| shaderIntegerDotProduct | 通过 → 不支持 |
| shaderTerminateInvocation | 通过 → 不支持 |
| shaderZeroInitializeWorkgroupMemory | 通过 → 不支持 |
| subgroupSizeControl | 通过 → 不支持 |
| synchronization2 | 通过 → 不支持 |
| textureCompressionASTC_HDR | 通过 → 不支持 |
不同的限制(34)
| 限制 | PanVK-Kbase-Android-v0.1.0-rc4-5a07217f-adrenotools | 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 | 17146314752 | 0 |
| maxPerStageDescriptorSampledImages | 256 | 208 |
| maxPerStageResources | 712 | 664 |
| maxSamplerLodBias | 127.996 | 126 |
| 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 |
| maxClipDistances | 0 | 8 |
| maxCombinedClipAndCullDistances | 0 | 8 |
| pointSizeRange | 0.125, 4095.94 | 1, 1024 |
| lineWidthRange | 0, 7.99219 | 1, 1 |
| lineWidthGranularity | 0.0078125 | 0 |
只有一个驱动支持的格式(多了 2 种,少了 34 种)
- 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
- BC4_SNORM_BLOCK
- BC4_UNORM_BLOCK
- BC5_SNORM_BLOCK
- BC5_UNORM_BLOCK
- BC6H_SFLOAT_BLOCK
- BC6H_UFLOAT_BLOCK
- BC7_SRGB_BLOCK
- BC7_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