turnip_faux123_v1.1.9-rc13 对比 Qualcomm Technologies Inc. Adreno Vulkan Driver
在 Adreno (TM) 740 上 (AYN Odin2, AYN Odin2 Portal, AYN Thor, Moorechip Retroid Pocket Nova, motorola edge plus 2023, OnePlus 11 5G, POCO F6 Pro, Samsung Galaxy S23, Samsung Galaxy S23, Samsung Galaxy S23, Samsung Galaxy S23 Ultra, Samsung Galaxy S23 Ultra, Samsung Galaxy S23+, Sony Xperia 1 V, Xiaomi 13 pro). 先列出的驱动与后一个对比,后一个是基准。
原厂Qualcomm Technologies Inc. Adreno Vulkan Driver
对比第三方turnip_faux123_v1.1.9-rc13
图形系统版本(Vulkan)1.3.128 → 1.4.359
可选功能(扩展)113 → 174+69 -8
通过检测的功能(已验证)41 → 5110 个仅在 turnip_faux123_v1.1.9-rc13 上通过 0 个仅在 Qualcomm Technologies Inc. Adreno Vulkan Driver 上通过
跑分测试场景(基准测试)没有共同场景
各驱动能跑的游戏(根据功能列表估算):绿色基本能跑,黄色可能能跑,橙色问题较多,红色跑不了
原厂DX92002+DX102006+DX112009+DX122015+Switch
第三方DX92002+DX102006+DX112009+DX122015+Switch
Qualcomm Technologies Inc. Adreno Vulkan Driver 详情 turnip_faux123_v1.1.9-rc13 详情
结果不同的功能检测(35)
| 功能 | 原厂 | 第三方 | 变化 |
|---|---|---|---|
| borderColorSwizzle | 不支持 | 通过 | 新增 |
| extendedDynamicState3ColorBlendEnable | 不支持 | 通过 | 新增 |
| extendedDynamicState3ColorBlendEquation | 不支持 | 通过 | 新增 |
| extendedDynamicState3ColorWriteMask | 不支持 | 通过 | 新增 |
| extendedDynamicState3DepthClampEnable | 不支持 | 通过 | 新增 |
| extendedDynamicState3LogicOpEnable | 不支持 | 通过 | 新增 |
| extendedDynamicState3PolygonMode | 不支持 | 通过 | 新增 |
| inlineUniformBlock | 不支持 | 通过 | 新增 |
| shaderBufferInt64Atomics | 不支持 | 通过 | 新增 |
| core.copy_wide_row_length | 失败 | 通过 | 新增 |
| borderColorSwizzleFromImage | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3AlphaToCoverageEnable | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3AlphaToOneEnable | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3ConservativeRasterizationMode | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3DepthClipEnable | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3DepthClipNegativeOneToOne | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3ExtraPrimitiveOverestimationSize | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3LineRasterizationMode | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3ProvokingVertexMode | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3RasterizationSamples | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3RasterizationStream | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3SampleLocationsEnable | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3SampleMask | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3TessellationDomainOrigin | 不支持 | 未检测 | 有变化 |
| descriptorBindingInlineUniformBlockUpdateAfterBind | 不支持 | 未检测 | 有变化 |
| shaderInt64 | 不支持 | 未检测 | 有变化 |
| shaderResourceMinLod | 不支持 | 未检测 | 有变化 |
| shaderResourceResidency | 不支持 | 未检测 | 有变化 |
| shaderTessellationAndGeometryPointSize | 不支持 | 未检测 | 有变化 |
| sparseResidency16Samples | 未检测 | 不支持 | 有变化 |
| sparseResidency2Samples | 未检测 | 不支持 | 有变化 |
| sparseResidency4Samples | 未检测 | 不支持 | 有变化 |
| sparseResidency8Samples | 未检测 | 不支持 | 有变化 |
| sparseResidencyAliased | 不支持 | 未检测 | 有变化 |
| sparseResidencyImage2D | 未检测 | 不支持 | 有变化 |
跑分测试场景(基准测试)
两个驱动不是在同一批设备型号上测的。不同设备的帧时间不能用来比较驱动,看这些数据时请记住这一点。
| 场景 | 原厂 ms | 第三方 ms | 差异 | 启动次数 | GPU 频率,MHz | 画面对比原厂 |
|---|---|---|---|---|---|---|
| compute_nbody | 8.32 | n/a | 仅一侧有 | 3 / 3 对比 3 / 3 | 550 对比 561 | 没有明显差异 没有细微差异 |
| hdr_2160p | 21.98 | n/a | 仅一侧有 | 3 / 3 对比 ? | 680 对比 ? | 未检测 |
| oit_linked_lists | 25.25 | n/a | 仅一侧有 | 3 / 3 对比 3 / 3 | 680 对比 719 | 没有明显差异 没有细微差异 |
| pipeline_barriers | 5.42 | n/a | 仅一侧有 | 3 / 3 对比 3 / 3 | 413 对比 712 不可比 | 没有明显差异 有 1440 处小区域不同 |
| pipeline_barriers_2160p | 8.44 | n/a | 仅一侧有 | 3 / 3 对比 3 / 3 | 680 对比 667 不可比 | 没有明显差异 有 1489 处小区域不同 |
| subpasses | 5.54 | n/a | 仅一侧有 | 3 / 3 对比 3 / 3 | 572 对比 719 不可比 | 未检测 |
| subpasses_2160p | 14.40 | n/a | 仅一侧有 | 3 / 3 对比 3 / 3 | 680 对比 719 | 未检测 |
技术差异(Vulkan)
仅 turnip_faux123_v1.1.9-rc13 有的扩展(69)
- 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_border_color_swizzle
- VK_EXT_conditional_rendering
- VK_EXT_custom_resolve
- VK_EXT_debug_marker
- VK_EXT_depth_clamp_control
- VK_EXT_depth_clamp_zero_one
- VK_EXT_descriptor_buffer
- VK_EXT_device_address_binding_report
- 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_2d_view_of_3d
- VK_EXT_image_compression_control
- VK_EXT_image_drm_format_modifier
- VK_EXT_inline_uniform_block
- VK_EXT_legacy_dithering
- VK_EXT_legacy_vertex_attributes
- VK_EXT_map_memory_placed
- VK_EXT_memory_budget
- VK_EXT_multi_draw
- VK_EXT_multisampled_render_to_single_sampled
- VK_EXT_mutable_descriptor_type
- VK_EXT_nested_command_buffer
- VK_EXT_non_seamless_cube_map
- VK_EXT_primitive_restart_index
- VK_EXT_primitives_generated_query
- VK_EXT_rasterization_order_attachment_access
- VK_EXT_shader_image_atomic_int64
- VK_EXT_shader_module_identifier
- VK_EXT_shader_replicated_composites
- VK_EXT_shader_subgroup_vote
- VK_EXT_shader_uniform_buffer_unsized_array
- VK_EXT_shader_viewport_index_layer
- VK_EXT_swapchain_maintenance1
- VK_EXT_zero_initialize_device_memory
- VK_GOOGLE_decorate_string
- VK_GOOGLE_hlsl_functionality1
- VK_KHR_compute_shader_derivatives
- VK_KHR_dynamic_rendering_local_read
- VK_KHR_index_type_uint8
- VK_KHR_line_rasterization
- VK_KHR_load_store_op_none
- VK_KHR_maintenance5
- VK_KHR_maintenance6
- VK_KHR_maintenance7
- VK_KHR_map_memory2
- VK_KHR_pipeline_library
- VK_KHR_ray_tracing_maintenance1
- VK_KHR_shader_atomic_int64
- VK_KHR_shader_clock
- VK_KHR_shader_expect_assume
- VK_KHR_shader_float_controls2
- VK_KHR_shader_relaxed_extended_instruction
- VK_KHR_shader_subgroup_rotate
- VK_KHR_swapchain_mutable_format
- VK_KHR_vertex_attribute_divisor
- VK_KHR_workgroup_memory_explicit_layout
- VK_NV_compute_shader_derivatives
- VK_QCOM_multiview_per_view_render_areas
- VK_QCOM_multiview_per_view_viewports
- VK_VALVE_fragment_density_map_layered
- VK_VALVE_mutable_descriptor_type
仅 Qualcomm Technologies Inc. Adreno Vulkan Driver 有的扩展(8)
- VK_EXT_astc_decode_mode
- VK_EXT_blend_operation_advanced
- VK_EXT_fragment_density_map2
- VK_KHR_shared_presentable_image
- VK_QCOM_render_pass_store_ops
- VK_QCOM_render_pass_transform
- VK_QCOM_rotated_copy_commands
- VK_QCOM_tile_properties
不同的核心功能(23)
| multiviewGeometryShader | 不支持 → 通过 |
| protectedMemory | 通过 → 不支持 |
| shaderBufferInt64Atomics | 不支持 → 通过 |
| shaderInputAttachmentArrayDynamicIndexing | 通过 → 不支持 |
| shaderInputAttachmentArrayNonUniformIndexing | 通过 → 不支持 |
| shaderOutputLayer | 不支持 → 通过 |
| shaderOutputViewportIndex | 不支持 → 通过 |
| bresenhamLines | 不支持 → 通过 |
| dynamicRenderingLocalRead | 不支持 → 通过 |
| globalPriorityQuery | 不支持 → 通过 |
| hostImageCopy | 不支持 → 通过 |
| indexTypeUint8 | 不支持 → 通过 |
| maintenance5 | 不支持 → 通过 |
| maintenance6 | 不支持 → 通过 |
| pipelineRobustness | 不支持 → 通过 |
| pushDescriptor | 不支持 → 通过 |
| rectangularLines | 不支持 → 通过 |
| shaderExpectAssume | 不支持 → 通过 |
| shaderFloatControls2 | 不支持 → 通过 |
| shaderSubgroupRotate | 不支持 → 通过 |
| shaderSubgroupRotateClustered | 不支持 → 通过 |
| vertexAttributeInstanceRateDivisor | 不支持 → 通过 |
| vertexAttributeInstanceRateZeroDivisor | 不支持 → 通过 |
不同的限制(18)
| 限制 | 原厂 | 第三方 |
|---|---|---|
| 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 |
| maxComputeWorkGroupInvocations | 1024 | 2048 |
| minMemoryMapAlignment | 64 | 4096 |
| minStorageBufferOffsetAlignment | 64 | 4 |
| maxFramebufferLayers | 2048 | 1024 |
| discreteQueuePriorities | 3 | 2 |
| optimalBufferCopyOffsetAlignment | 64 | 128 |
| optimalBufferCopyRowPitchAlignment | 64 | 128 |
| nonCoherentAtomSize | 1 | 64 |
只有一个驱动支持的格式(多了 31 种,少了 1 种)
- A1B5G5R5_UNORM_PACK16
- A2B10G10R10_SSCALED_PACK32
- A2B10G10R10_USCALED_PACK32
- A2R10G10B10_SSCALED_PACK32
- A2R10G10B10_USCALED_PACK32
- A8B8G8R8_SSCALED_PACK32
- A8B8G8R8_USCALED_PACK32
- A8_UNORM
- B8G8R8A8_SSCALED
- B8G8R8A8_USCALED
- B8G8R8_SINT
- B8G8R8_SNORM
- B8G8R8_UINT
- R16G16B16A16_SSCALED
- R16G16B16A16_USCALED
- R16G16B16_SSCALED
- R16G16B16_USCALED
- R16G16_SSCALED
- R16G16_USCALED
- R16_SSCALED
- R16_USCALED
- R64_SINT
- R64_UINT
- R8G8B8A8_SSCALED
- R8G8B8A8_USCALED
- R8G8B8_SSCALED
- R8G8B8_USCALED
- R8G8_SSCALED
- R8G8_USCALED
- R8_SSCALED
- R8_USCALED
- G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16