Qualcomm Technologies Inc. Adreno Vulkan Driver 对比 Qualcomm Technologies Inc. Adreno Vulkan Driver
在 Adreno (TM) 710 上 (HONOR ALI-NX1, HONOR Pad 9, Motorola moto g stylus, Motorola moto g57 power, POCO X6 5G, POCO X6 5G). 先列出的驱动与后一个对比,后一个是基准。
原厂Qualcomm Technologies Inc. Adreno Vulkan Driver
对比第三方Qualcomm Technologies Inc. Adreno Vulkan Driver
图形系统版本(Vulkan)1.3.284 → 1.1.128
可选功能(扩展)143 → 89+0 -54
通过检测的功能(已验证)43 → 350 个仅在 Qualcomm Technologies Inc. Adreno Vulkan Driver 上通过 8 个仅在 Qualcomm Technologies Inc. Adreno Vulkan Driver 上通过
跑分测试场景(基准测试)3 个更快 2 个更慢总体慢 13%(几何平均)
各驱动能跑的游戏(根据功能列表估算):绿色基本能跑,黄色可能能跑,橙色问题较多,红色跑不了
原厂DX92002+DX102006+DX112009+DX122015+Switch
第三方DX92002+DX102006+DX112009+DX122015+Switch
- compute_nbody快 20%
- hdr_2160p快 37%
- oit_linked_lists快 8%
- pipeline_barriers慢 43%
- subpasses慢 51%
Qualcomm Technologies Inc. Adreno Vulkan Driver 详情 Qualcomm Technologies Inc. Adreno Vulkan Driver 详情
结果不同的功能检测(14)
| 功能 | 原厂 | Qualcomm Technologies Inc. Adreno Vulkan Driver | 变化 |
|---|---|---|---|
| borderColorSwizzle | 通过 | 不支持 | 减少 |
| colorWriteEnable | 通过 | 不支持 | 减少 |
| depthClipControl | 通过 | 不支持 | 减少 |
| extendedDynamicState2 | 通过 | 不支持 | 减少 |
| extendedDynamicState2LogicOp | 通过 | 不支持 | 减少 |
| inlineUniformBlock | 通过 | 不支持 | 减少 |
| vertexInputDynamicState | 通过 | 不支持 | 减少 |
| multiViewport | 通过 | 不支持 | 减少 |
| borderColorSwizzleFromImage | 未检测 | 不支持 | 有变化 |
| extendedDynamicState2PatchControlPoints | 未检测 | 不支持 | 有变化 |
| descriptorBindingInlineUniformBlockUpdateAfterBind | 未检测 | 不支持 | 有变化 |
| shaderInt64 | 未检测 | 不支持 | 有变化 |
| shaderTessellationAndGeometryPointSize | 未检测 | 不支持 | 有变化 |
| variableMultisampleRate | 未检测 | 不支持 | 有变化 |
跑分测试场景(基准测试)
两个驱动不是在同一批设备型号上测的。不同设备的帧时间不能用来比较驱动,看这些数据时请记住这一点。
| 场景 | 原厂 ms | Qualcomm Technologies Inc. Adreno Vulkan Driver ms | 差异 | 启动次数 | GPU 频率,MHz | 画面对比原厂 |
|---|---|---|---|---|---|---|
| compute_nbody | 26.84 | 22.40 | 快 20% | 3 / 3 对比 3 / 3 | ? 对比 ? | 没有明显差异 没有细微差异 |
| hdr_2160p | 167.92 | 122.29 | 快 37% | 3 / 3 对比 3 / 3 | ? 对比 ? | 没有明显差异 没有细微差异 |
| oit_linked_lists | 40.17 | 37.16 | 快 8% | 3 / 3 对比 3 / 3 | ? 对比 ? | 没有明显差异 没有细微差异 |
| pipeline_barriers | 11.06 | 19.35 | 慢 43% | 3 / 3 对比 3 / 3 | ? 对比 ? | 没有明显差异 没有细微差异 |
| subpasses | 17.38 | 35.33 | 慢 51% | 3 / 3 对比 3 / 3 | ? 对比 ? | 未检测 |
技术差异(Vulkan)
仅 Qualcomm Technologies Inc. Adreno Vulkan Driver 有的扩展(0)
- 无
仅 Qualcomm Technologies Inc. Adreno Vulkan Driver 有的扩展(54)
- VK_ANDROID_external_format_resolve
- VK_EXT_4444_formats
- VK_EXT_border_color_swizzle
- VK_EXT_color_write_enable
- VK_EXT_conservative_rasterization
- VK_EXT_depth_clamp_zero_one
- VK_EXT_depth_clip_control
- VK_EXT_depth_clip_enable
- VK_EXT_device_address_binding_report
- VK_EXT_device_fault
- VK_EXT_extended_dynamic_state2
- VK_EXT_external_memory_acquire_unmodified
- VK_EXT_global_priority_query
- VK_EXT_image_2d_view_of_3d
- VK_EXT_image_view_min_lod
- VK_EXT_inline_uniform_block
- VK_EXT_load_store_op_none
- VK_EXT_multi_draw
- VK_EXT_multisampled_render_to_single_sampled
- VK_EXT_pipeline_protected_access
- VK_EXT_shader_module_identifier
- VK_EXT_shader_subgroup_ballot
- VK_EXT_shader_subgroup_vote
- VK_EXT_shader_viewport_index_layer
- VK_EXT_tooling_info
- VK_EXT_vertex_input_dynamic_state
- VK_KHR_dynamic_rendering
- VK_KHR_dynamic_rendering_local_read
- VK_KHR_format_feature_flags2
- VK_KHR_global_priority
- VK_KHR_index_type_uint8
- VK_KHR_line_rasterization
- VK_KHR_load_store_op_none
- VK_KHR_maintenance4
- VK_KHR_maintenance5
- VK_KHR_maintenance6
- VK_KHR_map_memory2
- VK_KHR_shader_clock
- VK_KHR_shader_expect_assume
- VK_KHR_shader_float_controls2
- VK_KHR_shader_integer_dot_product
- VK_KHR_shader_maximal_reconvergence
- VK_KHR_shader_quad_control
- VK_KHR_shader_subgroup_rotate
- VK_KHR_shader_subgroup_uniform_control_flow
- VK_KHR_swapchain_mutable_format
- VK_KHR_vertex_attribute_divisor
- VK_KHR_workgroup_memory_explicit_layout
- VK_KHR_zero_initialize_workgroup_memory
- VK_NV_optical_flow
- VK_QCOM_fragment_density_map_offset
- VK_QCOM_multiview_per_view_render_areas
- VK_QCOM_multiview_per_view_viewports
- VK_QCOM_tile_properties
不同的核心功能(64)
| multiview | 通过 → 不支持 |
| protectedMemory | 通过 → 不支持 |
| samplerYcbcrConversion | 通过 → 不支持 |
| shaderDrawParameters | 通过 → 不支持 |
| storageBuffer16BitAccess | 通过 → 不支持 |
| variablePointers | 通过 → 不支持 |
| variablePointersStorageBuffer | 通过 → 不支持 |
| bufferDeviceAddress | 通过 → 不支持 |
| bufferDeviceAddressCaptureReplay | 通过 → 不支持 |
| descriptorBindingPartiallyBound | 通过 → 不支持 |
| descriptorBindingSampledImageUpdateAfterBind | 通过 → 不支持 |
| descriptorBindingStorageBufferUpdateAfterBind | 通过 → 不支持 |
| descriptorBindingStorageImageUpdateAfterBind | 通过 → 不支持 |
| descriptorBindingStorageTexelBufferUpdateAfterBind | 通过 → 不支持 |
| descriptorBindingUniformBufferUpdateAfterBind | 通过 → 不支持 |
| descriptorBindingUniformTexelBufferUpdateAfterBind | 通过 → 不支持 |
| descriptorBindingUpdateUnusedWhilePending | 通过 → 不支持 |
| descriptorBindingVariableDescriptorCount | 通过 → 不支持 |
| descriptorIndexing | 通过 → 不支持 |
| drawIndirectCount | 通过 → 不支持 |
| hostQueryReset | 通过 → 不支持 |
| imagelessFramebuffer | 通过 → 不支持 |
| runtimeDescriptorArray | 通过 → 不支持 |
| samplerFilterMinmax | 通过 → 不支持 |
| samplerMirrorClampToEdge | 通过 → 不支持 |
| scalarBlockLayout | 通过 → 不支持 |
| separateDepthStencilLayouts | 通过 → 不支持 |
| shaderFloat16 | 通过 → 不支持 |
| shaderInputAttachmentArrayDynamicIndexing | 通过 → 不支持 |
| shaderInputAttachmentArrayNonUniformIndexing | 通过 → 不支持 |
| shaderInt8 | 通过 → 不支持 |
| shaderOutputLayer | 通过 → 不支持 |
| shaderOutputViewportIndex | 通过 → 不支持 |
| shaderSampledImageArrayNonUniformIndexing | 通过 → 不支持 |
| shaderStorageBufferArrayNonUniformIndexing | 通过 → 不支持 |
| shaderStorageImageArrayNonUniformIndexing | 通过 → 不支持 |
| shaderStorageTexelBufferArrayDynamicIndexing | 通过 → 不支持 |
| shaderStorageTexelBufferArrayNonUniformIndexing | 通过 → 不支持 |
| shaderSubgroupExtendedTypes | 通过 → 不支持 |
| shaderUniformBufferArrayNonUniformIndexing | 通过 → 不支持 |
| shaderUniformTexelBufferArrayDynamicIndexing | 通过 → 不支持 |
| shaderUniformTexelBufferArrayNonUniformIndexing | 通过 → 不支持 |
| storageBuffer8BitAccess | 通过 → 不支持 |
| subgroupBroadcastDynamicId | 通过 → 不支持 |
| timelineSemaphore | 通过 → 不支持 |
| uniformBufferStandardLayout | 通过 → 不支持 |
| vulkanMemoryModel | 通过 → 不支持 |
| vulkanMemoryModelAvailabilityVisibilityChains | 通过 → 不支持 |
| vulkanMemoryModelDeviceScope | 通过 → 不支持 |
| computeFullSubgroups | 通过 → 不支持 |
| descriptorBindingInlineUniformBlockUpdateAfterBind | 通过 → 不支持 |
| dynamicRendering | 通过 → 不支持 |
| inlineUniformBlock | 通过 → 不支持 |
| maintenance4 | 通过 → 不支持 |
| pipelineCreationCacheControl | 通过 → 不支持 |
| privateData | 通过 → 不支持 |
| robustImageAccess | 通过 → 不支持 |
| shaderDemoteToHelperInvocation | 通过 → 不支持 |
| shaderIntegerDotProduct | 通过 → 不支持 |
| shaderTerminateInvocation | 通过 → 不支持 |
| shaderZeroInitializeWorkgroupMemory | 通过 → 不支持 |
| subgroupSizeControl | 通过 → 不支持 |
| synchronization2 | 通过 → 不支持 |
| textureCompressionASTC_HDR | 通过 → 不支持 |
不同的限制(17)
| 限制 | 原厂 | Qualcomm Technologies Inc. Adreno Vulkan Driver |
|---|---|---|
| maxMemoryAllocationCount | 4294967295 | 4096 |
| maxSamplerAllocationCount | 65536 | 4000 |
| maxPerStageDescriptorSamplers | 16777216 | 524288 |
| maxPerStageDescriptorUniformBuffers | 16777216 | 524288 |
| maxPerStageDescriptorStorageBuffers | 16777216 | 524288 |
| maxPerStageDescriptorSampledImages | 16777216 | 524288 |
| maxPerStageDescriptorStorageImages | 16777216 | 524288 |
| maxPerStageResources | 50331648 | 1572864 |
| maxDescriptorSetSamplers | 16777216 | 524288 |
| maxDescriptorSetUniformBuffers | 16777216 | 524288 |
| maxDescriptorSetStorageBuffers | 16777216 | 524288 |
| maxDescriptorSetSampledImages | 16777216 | 524288 |
| maxDescriptorSetStorageImages | 16777216 | 524288 |
| maxFragmentCombinedOutputResources | 33554440 | 72 |
| maxComputeWorkGroupSize | 1024, 1024, 1024 | 1024, 1024, 64 |
| maxViewports | 16 | 1 |
| pointSizeRange | 1, 4095 | 1, 4092 |
只有一个驱动支持的格式(多了 0 种,少了 29 种)
- 无
- A1B5G5R5_UNORM_PACK16
- A2B10G10R10_SSCALED_PACK32
- A2B10G10R10_USCALED_PACK32
- A2R10G10B10_SSCALED_PACK32
- A2R10G10B10_USCALED_PACK32
- A4B4G4R4_UNORM_PACK16
- A4R4G4B4_UNORM_PACK16
- A8B8G8R8_SSCALED_PACK32
- A8B8G8R8_USCALED_PACK32
- A8_UNORM
- B8G8R8A8_SINT
- B8G8R8A8_SNORM
- B8G8R8A8_UINT
- R16G16B16A16_SSCALED
- R16G16B16A16_USCALED
- R16G16B16_SSCALED
- R16G16B16_USCALED
- R16G16_SSCALED
- R16G16_USCALED
- R16_SSCALED
- R16_USCALED
- R8G8B8A8_SSCALED
- R8G8B8A8_USCALED
- R8G8B8_SSCALED
- R8G8B8_USCALED
- R8G8_SSCALED
- R8G8_USCALED
- R8_SSCALED
- R8_USCALED