FauxVkDB
繁體中文

stable-turnip-sync-V2 對比 Qualcomm Technologies Inc. Adreno Vulkan Driver

在 Adreno (TM) 825 上 (Nothing Phone (3), Poco F7, Poco F7). 先列出的驅動程式與後一個對比,後一個是基準。

原廠Qualcomm Technologies Inc. Adreno Vulkan DriverDriver Build: 208ca19915, Iab05a79315, 1770369230
對比
自訂stable-turnip-sync-V2Mesa 26.2.3 (git-fbc44a3bcc)
圖形系統版本(Vulkan)1.3.284 → 1.4.354
可選功能(擴充功能)165 → 174+33 -24
通過檢測的功能(已驗證)44 → 496 個僅在 stable-turnip-sync-V2 上通過 1 個僅在 Qualcomm Technologies Inc. Adreno Vulkan Driver 上通過
跑分測試場景(基準測試)1 個更快 2 個更慢 1 個持平總體慢 29%(幾何平均)
各驅動程式能跑的遊戲(根據功能列表估算):綠色大致能跑,黃色未必能跑,橙色問題較多,紅色跑不動
原廠DX92002+DX102006+DX112009+DX122015+Switch
自訂DX92002+DX102006+DX112009+DX122015+Switch
  • hdr_2160p快 2%
  • oit_linked_lists快 15%
  • pipeline_barriers慢 74%
  • subpasses_2160p慢 16%

每個場景中自訂驅動程式與原廠驅動程式的對比。長條向右表示更快,向左表示更慢。

1 個場景的畫面有局部區域與原廠驅動程式不同 (pipeline_barriers:2304 個格子中有 1146 個). 整體畫面是一致的,所以這是局部渲染故障,而不是畫了另一個場景。

Qualcomm Technologies Inc. Adreno Vulkan Driver 詳情 stable-turnip-sync-V2 詳情

結果不同的功能檢測(24)

功能原廠自訂變化
core.compute_udiv
core
通過失敗減少
extendedDynamicState3ColorBlendEnable
VK_EXT_extended_dynamic_state3
不支援通過新增
extendedDynamicState3ColorBlendEquation
VK_EXT_extended_dynamic_state3
不支援通過新增
extendedDynamicState3ColorWriteMask
VK_EXT_extended_dynamic_state3
不支援通過新增
extendedDynamicState3DepthClampEnable
VK_EXT_extended_dynamic_state3
不支援通過新增
extendedDynamicState3LogicOpEnable
VK_EXT_extended_dynamic_state3
不支援通過新增
extendedDynamicState3PolygonMode
VK_EXT_extended_dynamic_state3
不支援通過新增
extendedDynamicState3AlphaToCoverageEnable
VK_EXT_extended_dynamic_state3
不支援未檢測有變化
extendedDynamicState3AlphaToOneEnable
VK_EXT_extended_dynamic_state3
不支援未檢測有變化
extendedDynamicState3ConservativeRasterizationMode
VK_EXT_extended_dynamic_state3
不支援未檢測有變化
extendedDynamicState3DepthClipEnable
VK_EXT_extended_dynamic_state3
不支援未檢測有變化
extendedDynamicState3DepthClipNegativeOneToOne
VK_EXT_extended_dynamic_state3
不支援未檢測有變化
extendedDynamicState3ExtraPrimitiveOverestimationSize
VK_EXT_extended_dynamic_state3
不支援未檢測有變化
extendedDynamicState3LineRasterizationMode
VK_EXT_extended_dynamic_state3
不支援未檢測有變化
extendedDynamicState3ProvokingVertexMode
VK_EXT_extended_dynamic_state3
不支援未檢測有變化
extendedDynamicState3RasterizationSamples
VK_EXT_extended_dynamic_state3
不支援未檢測有變化
extendedDynamicState3RasterizationStream
VK_EXT_extended_dynamic_state3
不支援未檢測有變化
extendedDynamicState3SampleLocationsEnable
VK_EXT_extended_dynamic_state3
不支援未檢測有變化
extendedDynamicState3SampleMask
VK_EXT_extended_dynamic_state3
不支援未檢測有變化
extendedDynamicState3TessellationDomainOrigin
VK_EXT_extended_dynamic_state3
不支援未檢測有變化
shaderResourceMinLod
VkPhysicalDeviceFeatures
不支援未檢測有變化
shaderResourceResidency
VkPhysicalDeviceFeatures
不支援未檢測有變化
sparseResidency16Samples
VkPhysicalDeviceFeatures
未檢測不支援有變化
sparseResidencyAliased
VkPhysicalDeviceFeatures
不支援未檢測有變化

跑分測試場景(基準測試)

兩個驅動程式不是在同一批裝置型號上測的。不同裝置的幀時間不能用來比較驅動程式,看這些資料時請記住這一點。

場景原廠 ms自訂 ms差異啟動次數GPU 頻率,MHz畫面對比原廠
compute_nbodyn/a18.07僅一側有3 / 3 對比 3 / 3? 對比 ? 頻率未知沒有明顯差異 0.0 沒有細微差異 最差 0.0 64x36
hdr_2160p26.55 典型值 26.5726.14 典型值 26.03快 2%3 / 3 對比 3 / 3? 對比 ? 頻率未知沒有明顯差異 0.0 沒有細微差異 最差 0.0 64x36
oit_linked_lists26.88 典型值 26.9023.38 典型值 22.92快 15%3 / 3 對比 3 / 3? 對比 ? 頻率未知沒有明顯差異 0.0 沒有細微差異 最差 0.0 64x36
pipeline_barriers2.82 典型值 2.7610.96 典型值 11.04慢 74%3 / 3 對比 3 / 3? 對比 ? 頻率未知沒有明顯差異 6.0 有 1146 處小區域不同 最差 53.3 64x36
pipeline_barriers_2160p9.97 典型值 9.96n/a僅一側有3 / 3 對比 ?? 對比 ? 頻率未知未檢測
subpassesn/an/a太輕,參見 subpasses_2160p3 / 3 對比 3 / 3? 對比 ? 頻率未知未檢測
subpasses_2160p17.23 典型值 17.2020.46 典型值 20.43慢 16%3 / 3 對比 3 / 3? 對比 ? 頻率未知未檢測

繪製一幀所需的時間,按場景統計:取該場景最佳一輪的平均幀時間,也就是驅動程式交付了多少幀;越低越快。旁邊的「典型值」是中位幀,當驅動程式的幀分成兩種速度時,它可能比平均值低很多。在記錄每輪平均值之前產生的一對報告,改用中位數對比。各輪之間相差超過 15% 的場景會被排除。標為「鎖幀」的場景,是被驅動程式或顯示佇列鎖在了那個平均幀時間上,並且同一次執行中至少還有另一個場景也是如此;它的耗時反映的是幀的間隔,而不是驅動程式渲染得有多快,所以不參與對比。標為「太輕」的場景,在標準尺寸(1920×1080)下兩個驅動程式都不到 8 ms,此時螢幕的幀佇列對幀間隔的影響比晶片更大;這時對比的是它更重的版本:以 _2160p 結尾的行是以 3840×2160 繪製的該場景,compute_nbody_2x 是粒子數翻倍的該場景。「更快」和「更慢」描述的是 stable-turnip-sync-V2 相對 Qualcomm Technologies Inc. Adreno Vulkan Driver。「畫面對比原廠」把每個場景的一個固定幀按粗略的色塊網格對比(0 為完全相同,超過 40 表示畫面不同),用來找出沒有被畫出來的場景。如果兩份報告都帶有更細的 64×36 網格,第二個數字是其 2,304 個格子中有多少個差異超過 255 裡的 4,「最差」是單個格子的最大差異;這能找出其餘部分都一致的畫面裡的小渲染錯誤。標為 16x9 的行來自細網格出現之前產生的報告。「啟動次數」是一個場景的處理程序啟動中,有多少次進入了被測量的一輪。標為「不可比」的 GPU 頻率,表示兩次計時之間的差異超過裝置最大頻率的 5%。

技術差異(Vulkan)

僅 stable-turnip-sync-V2 有的擴充功能(33)
  • 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_fragment_density_map_layered
  • VK_VALVE_mutable_descriptor_type
僅 Qualcomm Technologies Inc. Adreno Vulkan Driver 有的擴充功能(24)
  • 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
  • VK_EXT_image_compression_control_swapchain
  • VK_EXT_pipeline_protected_access
  • VK_EXT_shader_subgroup_ballot
  • VK_EXT_shader_subgroup_vote
  • VK_KHR_ray_tracing_position_fetch
  • VK_KHR_shader_maximal_reconvergence
  • VK_KHR_shader_quad_control
  • VK_KHR_shared_presentable_image
  • 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 Vulkan 1.1不支援 → 通過
protectedMemory Vulkan 1.1通過 → 不支援
shaderInputAttachmentArrayDynamicIndexing Vulkan 1.2通過 → 不支援
shaderInputAttachmentArrayNonUniformIndexing Vulkan 1.2通過 → 不支援
bresenhamLines Vulkan 1.4不支援 → 通過
dynamicRenderingLocalRead Vulkan 1.4不支援 → 通過
globalPriorityQuery Vulkan 1.4不支援 → 通過
hostImageCopy Vulkan 1.4不支援 → 通過
indexTypeUint8 Vulkan 1.4不支援 → 通過
maintenance5 Vulkan 1.4不支援 → 通過
maintenance6 Vulkan 1.4不支援 → 通過
pipelineRobustness Vulkan 1.4不支援 → 通過
pushDescriptor Vulkan 1.4不支援 → 通過
rectangularLines Vulkan 1.4不支援 → 通過
shaderExpectAssume Vulkan 1.4不支援 → 通過
shaderFloatControls2 Vulkan 1.4不支援 → 通過
shaderSubgroupRotate Vulkan 1.4不支援 → 通過
shaderSubgroupRotateClustered Vulkan 1.4不支援 → 通過
vertexAttributeInstanceRateDivisor Vulkan 1.4不支援 → 通過
vertexAttributeInstanceRateZeroDivisor Vulkan 1.4不支援 → 通過
不同的限制(21)
限制原廠自訂
maxTexelBufferElements134217728536870911
bufferImageGranularity164
sparseAddressSpaceSize562949953421311274877906944
maxPerStageResources5033164816777216
maxDescriptorSetUniformBuffersDynamic3216
maxDescriptorSetStorageBuffersDynamic168
maxVertexInputAttributeOffset40964095
maxGeometryInputComponents12864
maxGeometryOutputVertices1024256
maxGeometryTotalOutputComponents1310721024
maxFragmentInputComponents112128
maxComputeSharedMemorySize3276865536
minMemoryMapAlignment644096
minUniformBufferOffsetAlignment25664
minStorageBufferOffsetAlignment644
maxFramebufferLayers20481024
discreteQueuePriorities32
pointSizeRange1, 40951, 4092
optimalBufferCopyOffsetAlignment64128
optimalBufferCopyRowPitchAlignment64128
nonCoherentAtomSize164
只有一個驅動程式支援的格式(多了 5 種,少了 1 種)

僅 stable-turnip-sync-V2 有:

  • B8G8R8A8_SSCALED
  • B8G8R8A8_USCALED
  • B8G8R8_SINT
  • B8G8R8_SNORM
  • B8G8R8_UINT

僅 Qualcomm Technologies Inc. Adreno Vulkan Driver 有:

  • G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16