Turnip_v27.0.0-R1 對比 Turnip-Rutabaga-v3
在 Adreno (TM) 610 上 (HONOR Pad X8a, HONOR X8c, POCO M7, Redmi Note 11, Redmi Note 12, Redmi Note 13, Samsung Galaxy A05s, Xiaomi 220333QAG). 先列出的驅動程式與後一個對比,後一個是基準。
原廠Turnip-Rutabaga-v3
對比自訂Turnip_v27.0.0-R1
圖形系統版本(Vulkan)1.0.359 → 1.3.363
可選功能(擴充功能)145 → 158+17 -4
通過檢測的功能(已驗證)47 → 47通過的檢測相同
跑分測試場景(基準測試)0 個更快 4 個更慢總體慢 7%(幾何平均)
各驅動程式能跑的遊戲(根據功能列表估算):綠色大致能跑,黃色未必能跑,橙色問題較多,紅色跑不動
原廠DX92002+DX102006+DX112009+DX122015+Switch
自訂DX92002+DX102006+DX112009+DX122015+Switch
- hdr_2160p慢 9%
- oit_linked_lists慢 4%
- pipeline_barriers慢 6%
- subpasses慢 7%
1 個場景的畫面有局部區域與原廠驅動程式不同 (pipeline_barriers:2304 個格子中有 1482 個). 整體畫面是一致的,所以這是局部渲染故障,而不是畫了另一個場景。
沒有每次都能啟動: compute_nbody (原廠 0 / 3, 自訂 3 / 3).
條件不一致:其中 1 個場景測試時 GPU 頻率不同(例如 subpasses: 原廠為裝置最大頻率的 100%,自訂為 88%). 幀時間的部分差異來自裝置自己選擇的頻率,而不是驅動程式。
Turnip-Rutabaga-v3 詳情 Turnip_v27.0.0-R1 詳情
結果不同的功能檢測(0)
每項功能檢測在兩個驅動程式上的結果都相同。
跑分測試場景(基準測試)
| 場景 | Turnip-Rutabaga-v3 ms | Turnip_v27.0.0-R1 ms | 差異 | 啟動次數 | GPU 頻率,MHz | 畫面對比原廠 |
|---|---|---|---|---|---|---|
| compute_nbody | n/a | 89.38 | 僅一側有 | 0 / 3 對比 3 / 3 | ? 對比 1115 | 未檢測 |
| hdr_2160p | 317.11 | 347.46 | 慢 9% | 3 / 3 對比 3 / 3 | 1068 對比 1115 | 沒有明顯差異 沒有細微差異 |
| oit_linked_lists | 94.48 | 98.08 | 慢 4% | 3 / 3 對比 3 / 3 | 1115 對比 1115 | 沒有明顯差異 沒有細微差異 |
| pipeline_barriers | 42.19 | 45.04 | 慢 6% | 3 / 3 對比 3 / 3 | 1115 對比 1115 | 沒有明顯差異 有 1482 處小區域不同 |
| subpasses | 82.30 | 88.72 | 慢 7% | 3 / 3 對比 3 / 3 | 1115 對比 982 不可比 | 未檢測 |
技術差異(Vulkan)
僅 Turnip_v27.0.0-R1 有的擴充功能(17)
- VK_EXT_global_priority
- VK_EXT_global_priority_query
- VK_EXT_subgroup_size_control
- VK_KHR_global_priority
- VK_KHR_maintenance4
- VK_KHR_maintenance5
- VK_KHR_maintenance6
- VK_KHR_maintenance7
- VK_KHR_multiview
- VK_KHR_shader_float_controls2
- VK_KHR_shader_subgroup_extended_types
- VK_KHR_shader_subgroup_uniform_control_flow
- VK_KHR_spirv_1_4
- VK_KHR_swapchain_mutable_format
- VK_QCOM_rotated_copy_commands
- VK_VALVE_buffer_device_address_allocation_alignment
- VK_VALVE_fragment_density_map_layered
僅 Turnip-Rutabaga-v3 有的擴充功能(4)
- VK_EXT_depth_range_unrestricted
- VK_EXT_frame_boundary
- VK_EXT_pipeline_robustness
- VK_KHR_cooperative_matrix
不同的核心功能(57)
| multiview | 不支援 → 通過 |
| samplerYcbcrConversion | 不支援 → 通過 |
| shaderDrawParameters | 不支援 → 通過 |
| variablePointers | 不支援 → 通過 |
| variablePointersStorageBuffer | 不支援 → 通過 |
| bufferDeviceAddress | 不支援 → 通過 |
| bufferDeviceAddressCaptureReplay | 不支援 → 通過 |
| descriptorBindingPartiallyBound | 不支援 → 通過 |
| descriptorBindingSampledImageUpdateAfterBind | 不支援 → 通過 |
| descriptorBindingStorageBufferUpdateAfterBind | 不支援 → 通過 |
| descriptorBindingStorageImageUpdateAfterBind | 不支援 → 通過 |
| descriptorBindingStorageTexelBufferUpdateAfterBind | 不支援 → 通過 |
| descriptorBindingUniformBufferUpdateAfterBind | 不支援 → 通過 |
| descriptorBindingUniformTexelBufferUpdateAfterBind | 不支援 → 通過 |
| descriptorBindingUpdateUnusedWhilePending | 不支援 → 通過 |
| descriptorBindingVariableDescriptorCount | 不支援 → 通過 |
| descriptorIndexing | 不支援 → 通過 |
| drawIndirectCount | 不支援 → 通過 |
| hostQueryReset | 不支援 → 通過 |
| imagelessFramebuffer | 不支援 → 通過 |
| runtimeDescriptorArray | 不支援 → 通過 |
| samplerMirrorClampToEdge | 不支援 → 通過 |
| scalarBlockLayout | 不支援 → 通過 |
| separateDepthStencilLayouts | 不支援 → 通過 |
| shaderFloat16 | 不支援 → 通過 |
| shaderInt8 | 不支援 → 通過 |
| shaderOutputLayer | 不支援 → 通過 |
| shaderOutputViewportIndex | 不支援 → 通過 |
| shaderSampledImageArrayNonUniformIndexing | 不支援 → 通過 |
| shaderStorageBufferArrayNonUniformIndexing | 不支援 → 通過 |
| shaderStorageImageArrayNonUniformIndexing | 不支援 → 通過 |
| shaderStorageTexelBufferArrayDynamicIndexing | 不支援 → 通過 |
| shaderStorageTexelBufferArrayNonUniformIndexing | 不支援 → 通過 |
| shaderSubgroupExtendedTypes | 不支援 → 通過 |
| shaderUniformBufferArrayNonUniformIndexing | 不支援 → 通過 |
| shaderUniformTexelBufferArrayDynamicIndexing | 不支援 → 通過 |
| shaderUniformTexelBufferArrayNonUniformIndexing | 不支援 → 通過 |
| subgroupBroadcastDynamicId | 不支援 → 通過 |
| timelineSemaphore | 不支援 → 通過 |
| uniformBufferStandardLayout | 不支援 → 通過 |
| vulkanMemoryModel | 不支援 → 通過 |
| vulkanMemoryModelAvailabilityVisibilityChains | 不支援 → 通過 |
| vulkanMemoryModelDeviceScope | 不支援 → 通過 |
| computeFullSubgroups | 不支援 → 通過 |
| descriptorBindingInlineUniformBlockUpdateAfterBind | 不支援 → 通過 |
| dynamicRendering | 不支援 → 通過 |
| inlineUniformBlock | 不支援 → 通過 |
| maintenance4 | 不支援 → 通過 |
| pipelineCreationCacheControl | 不支援 → 通過 |
| privateData | 不支援 → 通過 |
| robustImageAccess | 不支援 → 通過 |
| shaderDemoteToHelperInvocation | 不支援 → 通過 |
| shaderIntegerDotProduct | 不支援 → 通過 |
| shaderTerminateInvocation | 不支援 → 通過 |
| shaderZeroInitializeWorkgroupMemory | 不支援 → 通過 |
| subgroupSizeControl | 不支援 → 通過 |
| synchronization2 | 不支援 → 通過 |
不同的限制(0)
| 限制 | Turnip-Rutabaga-v3 | Turnip_v27.0.0-R1 |
|---|
只有一個驅動程式支援的格式(多了 2 種,少了 0 種)
- A1B5G5R5_UNORM_PACK16
- A8_UNORM
- 無