mainline-turnip-sync-V32 對比 Qualcomm Technologies Inc. Adreno Vulkan Driver
在 Adreno (TM) 825 上 (Nothing Phone (3), Poco F7, Poco F7). 先列出的驅動程式與後一個對比,後一個是基準。
原廠Qualcomm Technologies Inc. Adreno Vulkan Driver
對比自訂mainline-turnip-sync-V32
圖形系統版本(Vulkan)1.3.284 → 1.4.363
可選功能(擴充功能)171 → 178+34 -27
通過檢測的功能(已驗證)44 → 496 個僅在 mainline-turnip-sync-V32 上通過 1 個僅在 Qualcomm Technologies Inc. Adreno Vulkan Driver 上通過
跑分測試場景(基準測試)沒有共同場景
各驅動程式能跑的遊戲(根據功能列表估算):綠色大致能跑,黃色未必能跑,橙色問題較多,紅色跑不動
原廠DX92002+DX102006+DX112009+DX122015+Switch
自訂DX92002+DX102006+DX112009+DX122015+Switch
Qualcomm Technologies Inc. Adreno Vulkan Driver 詳情 mainline-turnip-sync-V32 詳情
結果不同的功能檢測(24)
| 功能 | 原廠 | 自訂 | 變化 |
|---|---|---|---|
| core.compute_udiv | 通過 | 失敗 | 減少 |
| extendedDynamicState3ColorBlendEnable | 不支援 | 通過 | 新增 |
| extendedDynamicState3ColorBlendEquation | 不支援 | 通過 | 新增 |
| extendedDynamicState3ColorWriteMask | 不支援 | 通過 | 新增 |
| extendedDynamicState3DepthClampEnable | 不支援 | 通過 | 新增 |
| extendedDynamicState3LogicOpEnable | 不支援 | 通過 | 新增 |
| extendedDynamicState3PolygonMode | 不支援 | 通過 | 新增 |
| extendedDynamicState3AlphaToCoverageEnable | 不支援 | 未檢測 | 有變化 |
| extendedDynamicState3AlphaToOneEnable | 不支援 | 未檢測 | 有變化 |
| extendedDynamicState3ConservativeRasterizationMode | 不支援 | 未檢測 | 有變化 |
| extendedDynamicState3DepthClipEnable | 不支援 | 未檢測 | 有變化 |
| extendedDynamicState3DepthClipNegativeOneToOne | 不支援 | 未檢測 | 有變化 |
| extendedDynamicState3ExtraPrimitiveOverestimationSize | 不支援 | 未檢測 | 有變化 |
| extendedDynamicState3LineRasterizationMode | 不支援 | 未檢測 | 有變化 |
| extendedDynamicState3ProvokingVertexMode | 不支援 | 未檢測 | 有變化 |
| extendedDynamicState3RasterizationSamples | 不支援 | 未檢測 | 有變化 |
| extendedDynamicState3RasterizationStream | 不支援 | 未檢測 | 有變化 |
| extendedDynamicState3SampleLocationsEnable | 不支援 | 未檢測 | 有變化 |
| extendedDynamicState3SampleMask | 不支援 | 未檢測 | 有變化 |
| extendedDynamicState3TessellationDomainOrigin | 不支援 | 未檢測 | 有變化 |
| shaderResourceMinLod | 不支援 | 未檢測 | 有變化 |
| shaderResourceResidency | 不支援 | 未檢測 | 有變化 |
| sparseResidency16Samples | 未檢測 | 不支援 | 有變化 |
| sparseResidencyAliased | 不支援 | 未檢測 | 有變化 |
跑分測試場景(基準測試)
兩個驅動程式不是在同一批裝置型號上測的。不同裝置的幀時間不能用來比較驅動程式,看這些資料時請記住這一點。
| 場景 | 原廠 ms | 自訂 ms | 差異 | 啟動次數 | GPU 頻率,MHz | 畫面對比原廠 |
|---|---|---|---|---|---|---|
| compute_nbody | n/a | n/a | 僅一側有 | ? 對比 3 / 3 | ? 對比 ? | 未檢測 |
| hdr_2160p | n/a | 26.15 | 僅一側有 | ? 對比 3 / 3 | ? 對比 ? | 未檢測 |
| oit_linked_lists | n/a | n/a | 僅一側有 | ? 對比 3 / 3 | ? 對比 ? | 未檢測 |
| pipeline_barriers | n/a | n/a | 僅一側有 | ? 對比 3 / 3 | ? 對比 ? | 未檢測 |
| subpasses | n/a | n/a | 僅一側有 | ? 對比 3 / 3 | ? 對比 ? | 未檢測 |
| subpasses_2160p | n/a | 19.82 | 僅一側有 | ? 對比 3 / 3 | ? 對比 ? | 未檢測 |
技術差異(Vulkan)
僅 mainline-turnip-sync-V32 有的擴充功能(34)
- VK_AMD_buffer_marker
- VK_ARM_rasterization_order_attachment_access
- VK_EXT_attachment_feedback_loop_dynamic_state
- VK_EXT_attachment_feedback_loop_layout
- VK_EXT_custom_resolve
- VK_EXT_debug_marker
- VK_EXT_depth_clamp_control
- VK_EXT_dynamic_rendering_unused_attachments
- VK_EXT_extended_dynamic_state3
- VK_EXT_external_memory_dma_buf
- VK_EXT_fragment_density_map_offset
- VK_EXT_graphics_pipeline_library
- VK_EXT_host_image_copy
- VK_EXT_image_drm_format_modifier
- VK_EXT_legacy_dithering
- VK_EXT_legacy_vertex_attributes
- VK_EXT_map_memory_placed
- VK_EXT_memory_budget
- VK_EXT_nested_command_buffer
- VK_EXT_non_seamless_cube_map
- VK_EXT_primitive_restart_index
- VK_EXT_shader_replicated_composites
- VK_EXT_shader_uniform_buffer_unsized_array
- VK_EXT_zero_initialize_device_memory
- VK_GOOGLE_decorate_string
- VK_GOOGLE_hlsl_functionality1
- VK_KHR_compute_shader_derivatives
- VK_KHR_maintenance7
- VK_KHR_pipeline_library
- VK_KHR_shader_relaxed_extended_instruction
- VK_NV_compute_shader_derivatives
- VK_VALVE_buffer_device_address_allocation_alignment
- VK_VALVE_fragment_density_map_layered
- VK_VALVE_mutable_descriptor_type
僅 Qualcomm Technologies Inc. Adreno Vulkan Driver 有的擴充功能(27)
- VK_ANDROID_external_format_resolve
- VK_EXT_astc_decode_mode
- VK_EXT_blend_operation_advanced
- VK_EXT_depth_range_unrestricted
- VK_EXT_device_fault
- VK_EXT_external_memory_acquire_unmodified
- VK_EXT_fragment_density_map2
- VK_EXT_image_compression_control_swapchain
- VK_EXT_pipeline_protected_access
- VK_EXT_present_mode_fifo_latest_ready
- VK_EXT_present_timing
- VK_EXT_shader_subgroup_ballot
- VK_KHR_present_id
- VK_KHR_present_id2
- VK_KHR_present_wait2
- VK_KHR_ray_tracing_position_fetch
- VK_KHR_shader_maximal_reconvergence
- VK_KHR_shared_presentable_image
- VK_KHR_swapchain_maintenance1
- VK_NV_optical_flow
- VK_QCOM_filter_cubic_weights
- VK_QCOM_image_processing2
- VK_QCOM_render_pass_store_ops
- VK_QCOM_render_pass_transform
- VK_QCOM_rotated_copy_commands
- VK_QCOM_tile_properties
- VK_QCOM_ycbcr_degamma
不同的核心功能(20)
| multiviewGeometryShader | 不支援 → 通過 |
| protectedMemory | 通過 → 不支援 |
| shaderInputAttachmentArrayDynamicIndexing | 通過 → 不支援 |
| shaderInputAttachmentArrayNonUniformIndexing | 通過 → 不支援 |
| bresenhamLines | 不支援 → 通過 |
| dynamicRenderingLocalRead | 不支援 → 通過 |
| globalPriorityQuery | 不支援 → 通過 |
| hostImageCopy | 不支援 → 通過 |
| indexTypeUint8 | 不支援 → 通過 |
| maintenance5 | 不支援 → 通過 |
| maintenance6 | 不支援 → 通過 |
| pipelineRobustness | 不支援 → 通過 |
| pushDescriptor | 不支援 → 通過 |
| rectangularLines | 不支援 → 通過 |
| shaderExpectAssume | 不支援 → 通過 |
| shaderFloatControls2 | 不支援 → 通過 |
| shaderSubgroupRotate | 不支援 → 通過 |
| shaderSubgroupRotateClustered | 不支援 → 通過 |
| vertexAttributeInstanceRateDivisor | 不支援 → 通過 |
| vertexAttributeInstanceRateZeroDivisor | 不支援 → 通過 |
不同的限制(22)
| 限制 | 原廠 | 自訂 |
|---|---|---|
| maxTexelBufferElements | 134217728 | 536870911 |
| bufferImageGranularity | 1 | 64 |
| sparseAddressSpaceSize | 562949953421311 | 274877906944 |
| maxPerStageResources | 50331648 | 16777216 |
| maxDescriptorSetUniformBuffersDynamic | 32 | 16 |
| maxDescriptorSetStorageBuffersDynamic | 16 | 8 |
| maxVertexInputAttributeOffset | 4096 | 4095 |
| maxGeometryInputComponents | 128 | 64 |
| maxGeometryOutputVertices | 1024 | 256 |
| maxGeometryTotalOutputComponents | 131072 | 1024 |
| maxFragmentInputComponents | 112 | 128 |
| maxComputeSharedMemorySize | 32768 | 65536 |
| maxComputeWorkGroupInvocations | 1024 | 2048 |
| minMemoryMapAlignment | 64 | 4096 |
| minUniformBufferOffsetAlignment | 256 | 64 |
| minStorageBufferOffsetAlignment | 64 | 4 |
| maxFramebufferLayers | 2048 | 1024 |
| discreteQueuePriorities | 3 | 2 |
| pointSizeRange | 1, 4095 | 1, 4092 |
| optimalBufferCopyOffsetAlignment | 64 | 128 |
| optimalBufferCopyRowPitchAlignment | 64 | 128 |
| nonCoherentAtomSize | 1 | 64 |
只有一個驅動程式支援的格式(多了 5 種,少了 1 種)
- B8G8R8A8_SSCALED
- B8G8R8A8_USCALED
- B8G8R8_SINT
- B8G8R8_SNORM
- B8G8R8_UINT
- G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16