panvk-g76-kirin990-1.2.9 對比 mali-panvk-27.0.0-devel-r10
在 Mali-G52 上 (CHUWI HiPad-Air, HONOR X5c, HONOR X5c, Infinix HOT 60i, Motorola moto g(20), Oppo A18, Oppo A38, realme RMX3710, Redmi 12, Redmi 12, Redmi 12C, Redmi 13C, Redmi 14C, Redmi 15C, Redmi A3 Pro, Samsung Galaxy A32, Samsung Galaxy Tab A8, TECNO POVA 3, TECNO SPARK 10 Pro, TECNO SPARK 20, Vivo Y03, Xiaomi 24040RN64Y, Xiaomi 24049RN28L). 先列出的驅動程式與後一個對比,後一個是基準。
- compute_nbody快 32%
- oit_linked_lists慢 26%
- pipeline_barriers快 34%
- subpasses快 25%
1 個場景(hdr_2160p)的畫面與原廠驅動程式不一致。自訂驅動程式在那裡畫出了不同的內容,所以它在該場景的幀時間不能當作公平的資料。
2 個場景的畫面有局部區域與原廠驅動程式不同 (compute_nbody:2304 個格子中有 6 個, pipeline_barriers:2304 個格子中有 1742 個). 整體畫面是一致的,所以這是局部渲染故障,而不是畫了另一個場景。
沒有每次都能啟動: hdr_2160p (原廠 2 / 3, 自訂 3 / 3), pipeline_barriers (原廠 2 / 3, 自訂 3 / 3).
mali-panvk-27.0.0-devel-r10 詳情 panvk-g76-kirin990-1.2.9 詳情
結果不同的功能檢測(14)
| 功能 | mali-panvk-27.0.0-devel-r10 | panvk-g76-kirin990-1.2.9 | 變化 |
|---|---|---|---|
| stress.submit_memory | 通過 | 無結論 | 減少 |
| shaderBufferInt64Atomics | 不支援 | 通過 | 新增 |
| push.max_combined_image_samplers | 失敗 | 通過 | 新增 |
| stage.geometry_point_size | 不支援 | 通過 | 新增 |
| stress.many_command_buffers_one_submit | 未檢測 | 通過 | 新增 |
| stress.spill_helper_lanes | 未檢測 | 通過 | 新增 |
| customBorderColorWithoutFormat | 不支援 | 未檢測 | 有變化 |
| extendedDynamicState2PatchControlPoints | 不支援 | 未檢測 | 有變化 |
| extendedDynamicState3AlphaToOneEnable | 未檢測 | 不支援 | 有變化 |
| shaderSharedInt64Atomics | 不支援 | 未檢測 | 有變化 |
| alphaToOne | 未檢測 | 不支援 | 有變化 |
| depthBounds | 不支援 | 未檢測 | 有變化 |
| shaderTessellationAndGeometryPointSize | 不支援 | 未檢測 | 有變化 |
| variableMultisampleRate | 不支援 | 未檢測 | 有變化 |
跑分測試場景(基準測試)
兩個驅動程式不是在同一批裝置型號上測的。不同裝置的幀時間不能用來比較驅動程式,看這些資料時請記住這一點。
| 場景 | mali-panvk-27.0.0-devel-r10 ms | panvk-g76-kirin990-1.2.9 ms | 差異 | 啟動次數 | GPU 頻率,MHz | 畫面對比原廠 |
|---|---|---|---|---|---|---|
| compute_nbody | 104.67 | 79.01 | 快 32% | 3 / 3 對比 3 / 3 | ? 對比 ? | 沒有明顯差異 有 6 處小區域不同 |
| hdr_2160p | n/a | 156.23 | 僅一側有 | 2 / 3 對比 3 / 3 | ? 對比 ? | 有差異 有 2269 處小區域不同 |
| oit_linked_lists | 80.17 | 107.79 | 慢 26% | 3 / 3 對比 3 / 3 | ? 對比 ? | 沒有明顯差異 沒有細微差異 |
| pipeline_barriers | 88.73 | 66.11 | 快 34% | 2 / 3 對比 3 / 3 | ? 對比 ? | 沒有明顯差異 有 1742 處小區域不同 |
| subpasses | 146.81 | 117.04 | 快 25% | 3 / 3 對比 3 / 3 | ? 對比 ? | 未檢測 |
技術差異(Vulkan)
僅 panvk-g76-kirin990-1.2.9 有的擴充功能(14)
- VK_ARM_rasterization_order_attachment_access
- VK_EXT_conditional_rendering
- VK_EXT_descriptor_indexing
- VK_EXT_mutable_descriptor_type
- VK_EXT_present_timing
- VK_EXT_rasterization_order_attachment_access
- VK_KHR_present_id
- VK_KHR_present_id2
- VK_KHR_present_wait
- VK_KHR_present_wait2
- VK_KHR_shader_atomic_int64
- VK_KHR_swapchain_maintenance1
- VK_KHR_swapchain_mutable_format
- VK_VALVE_mutable_descriptor_type
僅 mali-panvk-27.0.0-devel-r10 有的擴充功能(7)
- VK_EXT_multisampled_render_to_single_sampled
- VK_INTEL_shader_integer_functions2
- VK_KHR_depth_clamp_zero_one
- VK_KHR_maintenance10
- VK_KHR_maintenance11
- VK_KHR_pipeline_binary
- VK_KHR_robustness2
不同的核心功能(28)
| descriptorBindingPartiallyBound | 不支援 → 通過 |
| descriptorBindingSampledImageUpdateAfterBind | 不支援 → 通過 |
| descriptorBindingStorageBufferUpdateAfterBind | 不支援 → 通過 |
| descriptorBindingStorageImageUpdateAfterBind | 不支援 → 通過 |
| descriptorBindingStorageTexelBufferUpdateAfterBind | 不支援 → 通過 |
| descriptorBindingUniformBufferUpdateAfterBind | 不支援 → 通過 |
| descriptorBindingUniformTexelBufferUpdateAfterBind | 不支援 → 通過 |
| descriptorBindingUpdateUnusedWhilePending | 不支援 → 通過 |
| descriptorIndexing | 不支援 → 通過 |
| shaderBufferInt64Atomics | 不支援 → 通過 |
| shaderOutputViewportIndex | 不支援 → 通過 |
| shaderSharedInt64Atomics | 不支援 → 通過 |
| bresenhamLines | 通過 → 不支援 |
| dynamicRenderingLocalRead | 通過 → 不支援 |
| globalPriorityQuery | 通過 → 不支援 |
| hostImageCopy | 通過 → 不支援 |
| indexTypeUint8 | 通過 → 不支援 |
| maintenance5 | 通過 → 不支援 |
| maintenance6 | 通過 → 不支援 |
| pipelineRobustness | 通過 → 不支援 |
| pushDescriptor | 通過 → 不支援 |
| rectangularLines | 通過 → 不支援 |
| shaderExpectAssume | 通過 → 不支援 |
| shaderFloatControls2 | 通過 → 不支援 |
| shaderSubgroupRotate | 通過 → 不支援 |
| shaderSubgroupRotateClustered | 通過 → 不支援 |
| vertexAttributeInstanceRateDivisor | 通過 → 不支援 |
| vertexAttributeInstanceRateZeroDivisor | 通過 → 不支援 |
不同的限制(9)
| 限制 | mali-panvk-27.0.0-devel-r10 | panvk-g76-kirin990-1.2.9 |
|---|---|---|
| sparseAddressSpaceSize | 30064771072 | 17146314752 |
| maxTessellationControlPerVertexInputComponents | 64 | 128 |
| maxTessellationControlPerVertexOutputComponents | 64 | 128 |
| maxTessellationControlTotalOutputComponents | 2048 | 4096 |
| maxTessellationEvaluationInputComponents | 64 | 128 |
| maxTessellationEvaluationOutputComponents | 64 | 128 |
| maxFragmentDualSrcAttachments | 8 | 1 |
| maxDrawIndirectCount | 4294967295 | 65535 |
| timestampPeriod | 76.9231 | 38.4615 |
只有一個驅動程式支援的格式(多了 0 種,少了 11 種)
- 無
- B5G5R5A1_UNORM_PACK16
- B8G8R8_SNORM
- G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
- G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
- G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16
- G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16
- G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16
- G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16
- R10X6G10X6_UNORM_2PACK16
- R10X6_UNORM_PACK16
- R5G5B5A1_UNORM_PACK16