PanVK-Kbase-Android-v0.1.0-rc4-5a07217f 对比 Mali-G615 MC6
在 Mali-G615 MC2 上 (Anbernic RG557, HEADWOLF F8, Infinix GT 30, Infinix GT 30 Pro, motorola edge - 2026, motorola edge 50 neo, motorola edge 60 pro, OPPO CPH2859, POCO X6 Pro 5G, POCO X6 Pro 5G, Redmi Note 14 Pro 5G, REDMI Note 15 Pro 5G, TECNO CAMON 40, TECNO POVA 8 Pro 5G, Xiaomi 14T). 先列出的驱动与后一个对比,后一个是基准。
原厂Mali-G615 MC6
对比第三方PanVK-Kbase-Android-v0.1.0-rc4-5a07217f
图形系统版本(Vulkan)1.3.247 → 1.4.363
可选功能(扩展)117 → 188+82 -11
通过检测的功能(已验证)47 → 6318 个仅在 PanVK-Kbase-Android-v0.1.0-rc4-5a07217f 上通过 2 个仅在 Mali-G615 MC6 上通过
跑分测试场景(基准测试)没有共同场景
各驱动能跑的游戏(根据功能列表估算):绿色基本能跑,黄色可能能跑,橙色问题较多,红色跑不了
原厂DX92002+DX102006+DX112009+DX122015+Switch
第三方DX92002+DX102006+DX112009+DX122015+Switch
Mali-G615 MC6 详情 PanVK-Kbase-Android-v0.1.0-rc4-5a07217f 详情
结果不同的功能检测(46)
| 功能 | 原厂 | 第三方 | 变化 |
|---|---|---|---|
| compat.nested_map | 通过 | 失败 | 减少 |
| core.mrt_partial_kill | 通过 | 失败 | 减少 |
| colorWriteEnable | 不支持 | 通过 | 新增 |
| depthClipControl | 不支持 | 通过 | 新增 |
| extendedDynamicState2LogicOp | 不支持 | 通过 | 新增 |
| extendedDynamicState3ColorBlendEnable | 不支持 | 通过 | 新增 |
| extendedDynamicState3ColorBlendEquation | 不支持 | 通过 | 新增 |
| extendedDynamicState3ColorWriteMask | 不支持 | 通过 | 新增 |
| extendedDynamicState3DepthClampEnable | 不支持 | 通过 | 新增 |
| extendedDynamicState3LogicOpEnable | 不支持 | 通过 | 新增 |
| robustBufferAccess2 | 不支持 | 通过 | 新增 |
| robustImageAccess2 | 不支持 | 通过 | 新增 |
| vertexInputDynamicState | 不支持 | 通过 | 新增 |
| depthClamp | 未检测 | 通过 | 新增 |
| largePoints | 未检测 | 通过 | 新增 |
| multiViewport | 不支持 | 通过 | 新增 |
| perf.fb_local_barrier_large_draws | 未检测 | 通过 | 新增 |
| perf.fb_local_barrier_overdraw | 未检测 | 通过 | 新增 |
| push.max_uniform_buffers | 不支持 | 通过 | 新增 |
| stage.geometry_point_size | 不支持 | 通过 | 新增 |
| depthBiasControl | 不支持 | 未检测 | 有变化 |
| depthBiasExact | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3AlphaToCoverageEnable | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3AlphaToOneEnable | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3ConservativeRasterizationMode | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3DepthClipEnable | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3LineRasterizationMode | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3RasterizationSamples | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3SampleMask | 不支持 | 未检测 | 有变化 |
| nullDescriptor | 不支持 | 未检测 | 有变化 |
| geometryStreams | 不支持 | 未检测 | 有变化 |
| alphaToOne | 不支持 | 未检测 | 有变化 |
| depthBounds | 不支持 | 未检测 | 有变化 |
| dualSrcBlend | 不支持 | 未检测 | 有变化 |
| fillModeNonSolid | 不支持 | 未检测 | 有变化 |
| logicOp | 不支持 | 未检测 | 有变化 |
| pipelineStatisticsQuery | 不支持 | 未检测 | 有变化 |
| shaderClipDistance | 不支持 | 未检测 | 有变化 |
| shaderCullDistance | 不支持 | 未检测 | 有变化 |
| shaderTessellationAndGeometryPointSize | 不支持 | 未检测 | 有变化 |
| textureCompressionBC | 不支持 | 失败 | 有变化 |
| variableMultisampleRate | 不支持 | 未检测 | 有变化 |
| vertexPipelineStoresAndAtomics | 不支持 | 未检测 | 有变化 |
| wideLines | 不支持 | 未检测 | 有变化 |
| mem.image_padding | 通过 | 警告 | 有变化 |
| push.max_combined_image_samplers | 不支持 | 失败 | 有变化 |
跑分测试场景(基准测试)
两个驱动不是在同一批设备型号上测的。不同设备的帧时间不能用来比较驱动,看这些数据时请记住这一点。
| 场景 | 原厂 ms | 第三方 ms | 差异 | 启动次数 | GPU 频率,MHz | 画面对比原厂 |
|---|---|---|---|---|---|---|
| compute_nbody | 18.79 | n/a | 仅一侧有 | 3 / 3 对比 ? | ? 对比 ? | 未检测 |
| hdr_2160p | 16.94 | n/a | 仅一侧有 | 3 / 3 对比 ? | ? 对比 ? | 未检测 |
| oit_linked_lists | 14.71 | n/a | 仅一侧有 | 3 / 3 对比 ? | ? 对比 ? | 未检测 |
| pipeline_barriers | 9.15 | n/a | 仅一侧有 | 3 / 3 对比 ? | ? 对比 ? | 未检测 |
| subpasses | 10.40 | n/a | 仅一侧有 | 3 / 3 对比 ? | ? 对比 ? | 未检测 |
技术差异(Vulkan)
仅 PanVK-Kbase-Android-v0.1.0-rc4-5a07217f 有的扩展(82)
- VK_ARM_scheduling_controls
- VK_EXT_attachment_feedback_loop_dynamic_state
- VK_EXT_attachment_feedback_loop_layout
- VK_EXT_buffer_device_address
- VK_EXT_color_write_enable
- VK_EXT_conditional_rendering
- VK_EXT_debug_marker
- VK_EXT_depth_bias_control
- VK_EXT_depth_clamp_control
- VK_EXT_depth_clip_control
- VK_EXT_depth_clip_enable
- VK_EXT_dynamic_rendering_unused_attachments
- VK_EXT_extended_dynamic_state3
- VK_EXT_external_memory_acquire_unmodified
- VK_EXT_graphics_pipeline_library
- VK_EXT_hdr_metadata
- VK_EXT_host_image_copy
- VK_EXT_image_sliced_view_of_3d
- VK_EXT_image_view_min_lod
- VK_EXT_map_memory_placed
- VK_EXT_memory_budget
- VK_EXT_memory_priority
- VK_EXT_multi_draw
- VK_EXT_mutable_descriptor_type
- VK_EXT_nested_command_buffer
- VK_EXT_non_seamless_cube_map
- VK_EXT_pageable_device_local_memory
- VK_EXT_physical_device_drm
- VK_EXT_present_timing
- VK_EXT_robustness2
- VK_EXT_shader_atomic_float
- VK_EXT_shader_module_identifier
- VK_EXT_shader_replicated_composites
- VK_EXT_shader_stencil_export
- VK_EXT_shader_uniform_buffer_unsized_array
- VK_EXT_vertex_attribute_divisor
- VK_EXT_vertex_input_dynamic_state
- VK_EXT_ycbcr_2plane_444_formats
- VK_EXT_ycbcr_image_arrays
- VK_EXT_zero_initialize_device_memory
- VK_GOOGLE_decorate_string
- VK_GOOGLE_hlsl_functionality1
- VK_GOOGLE_user_type
- VK_KHR_calibrated_timestamps
- VK_KHR_compute_shader_derivatives
- VK_KHR_cooperative_matrix
- VK_KHR_copy_memory_indirect
- VK_KHR_dynamic_rendering_local_read
- VK_KHR_index_type_uint8
- VK_KHR_internally_synchronized_queues
- VK_KHR_line_rasterization
- VK_KHR_load_store_op_none
- VK_KHR_maintenance5
- VK_KHR_maintenance6
- VK_KHR_maintenance7
- VK_KHR_maintenance8
- VK_KHR_maintenance9
- VK_KHR_map_memory2
- 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_push_descriptor
- VK_KHR_shader_clock
- VK_KHR_shader_constant_data
- VK_KHR_shader_expect_assume
- VK_KHR_shader_float_controls2
- VK_KHR_shader_fma
- VK_KHR_shader_maximal_reconvergence
- VK_KHR_shader_quad_control
- VK_KHR_shader_relaxed_extended_instruction
- VK_KHR_shader_subgroup_rotate
- VK_KHR_shader_subgroup_uniform_control_flow
- VK_KHR_shader_untyped_pointers
- VK_KHR_swapchain_maintenance1
- VK_KHR_swapchain_mutable_format
- VK_KHR_unified_image_layouts
- VK_KHR_vertex_attribute_divisor
- VK_KHR_workgroup_memory_explicit_layout
- VK_VALVE_mutable_descriptor_type
仅 Mali-G615 MC6 有的扩展(11)
- VK_EXT_device_fault
- VK_EXT_fragment_density_map
- VK_EXT_fragment_density_map2
- VK_EXT_image_compression_control_swapchain
- VK_EXT_pipeline_protected_access
- VK_EXT_subpass_merge_feedback
- VK_KHR_acceleration_structure
- VK_KHR_deferred_host_operations
- VK_KHR_fragment_shading_rate
- VK_KHR_ray_query
- VK_KHR_shared_presentable_image
不同的核心功能(16)
| bresenhamLines | 不支持 → 通过 |
| dynamicRenderingLocalRead | 不支持 → 通过 |
| globalPriorityQuery | 不支持 → 通过 |
| hostImageCopy | 不支持 → 通过 |
| indexTypeUint8 | 不支持 → 通过 |
| maintenance5 | 不支持 → 通过 |
| maintenance6 | 不支持 → 通过 |
| pipelineRobustness | 不支持 → 通过 |
| pushDescriptor | 不支持 → 通过 |
| rectangularLines | 不支持 → 通过 |
| shaderExpectAssume | 不支持 → 通过 |
| shaderFloatControls2 | 不支持 → 通过 |
| shaderSubgroupRotate | 不支持 → 通过 |
| shaderSubgroupRotateClustered | 不支持 → 通过 |
| vertexAttributeInstanceRateDivisor | 不支持 → 通过 |
| vertexAttributeInstanceRateZeroDivisor | 不支持 → 通过 |
不同的限制(43)
| 限制 | 原厂 | 第三方 |
|---|---|---|
| maxImageArrayLayers | 4096 | 65536 |
| maxTexelBufferElements | 268435456 | 134217728 |
| maxUniformBufferRange | 2147483648 | 1048576 |
| maxStorageBufferRange | 2147483648 | 4294967295 |
| maxMemoryAllocationCount | 16384 | 4294967295 |
| bufferImageGranularity | 1 | 64 |
| sparseAddressSpaceSize | 0 | 140737454800896 |
| maxPerStageDescriptorSamplers | 500000 | 1048576 |
| maxPerStageDescriptorUniformBuffers | 36 | 1048576 |
| maxPerStageDescriptorStorageBuffers | 500000 | 1048576 |
| maxPerStageDescriptorSampledImages | 500000 | 1048576 |
| maxPerStageDescriptorStorageImages | 500000 | 1048576 |
| maxPerStageResources | 500000 | 5242889 |
| maxDescriptorSetSamplers | 500000 | 1048576 |
| maxDescriptorSetUniformBuffers | 216 | 1048576 |
| maxDescriptorSetUniformBuffersDynamic | 32 | 16 |
| maxDescriptorSetStorageBuffers | 500000 | 1048576 |
| maxDescriptorSetStorageBuffersDynamic | 32 | 8 |
| maxDescriptorSetSampledImages | 500000 | 1048576 |
| maxDescriptorSetStorageImages | 500000 | 1048576 |
| maxVertexInputAttributes | 32 | 16 |
| maxVertexInputBindings | 32 | 16 |
| maxVertexInputAttributeOffset | 2047 | 4294967295 |
| maxVertexInputBindingStride | 2048 | 65535 |
| maxGeometryShaderInvocations | 32 | 64 |
| maxGeometryInputComponents | 128 | 64 |
| maxGeometryTotalOutputComponents | 2048 | 1024 |
| maxFragmentDualSrcAttachments | 0 | 1 |
| maxFragmentCombinedOutputResources | 1000008 | 4360 |
| maxComputeWorkGroupCount | 4294967295, 4294967295, 4294967295 | 65535, 65535, 65535 |
| maxSamplerLodBias | 255 | 127.996 |
| maxViewports | 1 | 16 |
| minMemoryMapAlignment | 64 | 4096 |
| minTexelBufferOffsetAlignment | 64 | 16 |
| minStorageBufferOffsetAlignment | 64 | 4 |
| maxInterpolationOffset | 0.4375 | 0.5 |
| subPixelInterpolationOffsetBits | 4 | 8 |
| maxClipDistances | 0 | 8 |
| maxCullDistances | 0 | 8 |
| maxCombinedClipAndCullDistances | 0 | 8 |
| pointSizeRange | 1, 1024 | 0.125, 4095.94 |
| lineWidthRange | 1, 1 | 0, 7.99219 |
| lineWidthGranularity | 0 | 0.0078125 |
只有一个驱动支持的格式(多了 23 种,少了 7 种)
- A1B5G5R5_UNORM_PACK16
- A2R10G10B10_SNORM_PACK32
- A8_UNORM
- 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
- 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_444_UNORM
- B5G5R5A1_UNORM_PACK16
- B8G8R8G8_422_UNORM
- B8G8R8_SNORM
- G8B8G8R8_422_UNORM
- G8_B8_R8_3PLANE_444_UNORM
- R4G4_UNORM_PACK8
- R5G5B5A1_UNORM_PACK16