Turnip-v26.0.0-Experimental 对比 Qualcomm Technologies Inc. Adreno Vulkan Driver
在 Adreno (TM) 610 上 (HONOR Pad X8a, HONOR X7b, HONOR X8c, POCO M7, Redmi Note 11, Redmi Note 12, Redmi Note 13, Redmi Note 13, Redmi Note 13, Samsung Galaxy A05s, Xiaomi 220333QAG). 先列出的驱动与后一个对比,后一个是基准。
原厂Qualcomm Technologies Inc. Adreno Vulkan Driver
对比第三方Turnip-v26.0.0-Experimental
图形系统版本(Vulkan)1.1.128 → 1.0.333
可选功能(扩展)71 → 132+71 -10
通过检测的功能(已验证)49 → 4716 个仅在 Turnip-v26.0.0-Experimental 上通过 18 个仅在 Qualcomm Technologies Inc. Adreno Vulkan Driver 上通过
跑分测试场景(基准测试)没有共同场景
各驱动能跑的游戏(根据功能列表估算):绿色基本能跑,黄色可能能跑,橙色问题较多,红色跑不了
原厂DX92002+DX102006+DX112009+DX122015+Switch
第三方DX92002+DX102006+DX112009+DX122015+Switch
Qualcomm Technologies Inc. Adreno Vulkan Driver 详情 Turnip-v26.0.0-Experimental 详情
结果不同的功能检测(58)
| 功能 | 原厂 | 第三方 | 变化 |
|---|---|---|---|
| depthClamp | 通过 | 未检测 | 减少 |
| largePoints | 通过 | 未检测 | 减少 |
| compat.helper_loop_terminator | 通过 | 未检测 | 减少 |
| compat.nested_map | 通过 | 未检测 | 减少 |
| core.blend_advertised_formats | 通过 | 未检测 | 减少 |
| core.compute_big_stack | 通过 | 未检测 | 减少 |
| core.compute_udiv | 通过 | 失败 | 减少 |
| core.host_coherent_readback | 通过 | 未检测 | 减少 |
| core.mrt_partial_kill | 通过 | 未检测 | 减少 |
| core.ubo_update_buffer | 通过 | 未检测 | 减少 |
| core.ubo_written_after_record | 通过 | 未检测 | 减少 |
| core.varying_subset | 通过 | 未检测 | 减少 |
| mem.image_padding | 通过 | 未检测 | 减少 |
| perf.fb_local_barrier_large_draws | 通过 | 未检测 | 减少 |
| perf.fb_local_barrier_overdraw | 通过 | 未检测 | 减少 |
| stage.geometry_max_output | 通过 | 未检测 | 减少 |
| stress.scratch_per_batch | 通过 | 未检测 | 减少 |
| sync.first_submit_clear_then_compute | 通过 | 未检测 | 减少 |
| borderColorSwizzle | 不支持 | 通过 | 新增 |
| colorWriteEnable | 不支持 | 通过 | 新增 |
| depthClipControl | 不支持 | 通过 | 新增 |
| extendedDynamicState | 不支持 | 通过 | 新增 |
| extendedDynamicState2 | 不支持 | 通过 | 新增 |
| extendedDynamicState2LogicOp | 不支持 | 通过 | 新增 |
| extendedDynamicState3ColorBlendEnable | 不支持 | 通过 | 新增 |
| extendedDynamicState3ColorBlendEquation | 不支持 | 通过 | 新增 |
| extendedDynamicState3ColorWriteMask | 不支持 | 通过 | 新增 |
| extendedDynamicState3DepthClampEnable | 不支持 | 通过 | 新增 |
| extendedDynamicState3LogicOpEnable | 不支持 | 通过 | 新增 |
| extendedDynamicState3PolygonMode | 不支持 | 通过 | 新增 |
| inlineUniformBlock | 不支持 | 通过 | 新增 |
| transformFeedback | 不支持 | 通过 | 新增 |
| vertexInputDynamicState | 不支持 | 通过 | 新增 |
| timelineSemaphore | 不支持 | 通过 | 新增 |
| borderColorSwizzleFromImage | 不支持 | 未检测 | 有变化 |
| extendedDynamicState2PatchControlPoints | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3AlphaToCoverageEnable | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3AlphaToOneEnable | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3DepthClipEnable | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3DepthClipNegativeOneToOne | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3LineRasterizationMode | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3ProvokingVertexMode | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3RasterizationSamples | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3RasterizationStream | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3SampleMask | 不支持 | 未检测 | 有变化 |
| extendedDynamicState3TessellationDomainOrigin | 不支持 | 未检测 | 有变化 |
| descriptorBindingInlineUniformBlockUpdateAfterBind | 不支持 | 未检测 | 有变化 |
| geometryStreams | 不支持 | 未检测 | 有变化 |
| logicOp | 不支持 | 未检测 | 有变化 |
| shaderInt64 | 不支持 | 未检测 | 有变化 |
| shaderResourceMinLod | 不支持 | 未检测 | 有变化 |
| shaderResourceResidency | 不支持 | 未检测 | 有变化 |
| shaderTessellationAndGeometryPointSize | 不支持 | 未检测 | 有变化 |
| sparseBinding | 不支持 | 未检测 | 有变化 |
| sparseResidencyAliased | 不支持 | 未检测 | 有变化 |
| sparseResidencyBuffer | 不支持 | 未检测 | 有变化 |
| variableMultisampleRate | 不支持 | 未检测 | 有变化 |
| stage.geometry_point_size | 不支持 | 未检测 | 有变化 |
跑分测试场景(基准测试)
两个驱动都还没有有效的跑分测试(基准测试报告)。
技术差异(Vulkan)
仅 Turnip-v26.0.0-Experimental 有的扩展(71)
- VK_AMD_buffer_marker
- VK_ARM_rasterization_order_attachment_access
- VK_EXT_4444_formats
- VK_EXT_attachment_feedback_loop_dynamic_state
- VK_EXT_attachment_feedback_loop_layout
- VK_EXT_border_color_swizzle
- VK_EXT_color_write_enable
- VK_EXT_conditional_rendering
- VK_EXT_custom_resolve
- VK_EXT_depth_clamp_zero_one
- VK_EXT_depth_clip_control
- VK_EXT_depth_clip_enable
- VK_EXT_descriptor_buffer
- VK_EXT_device_address_binding_report
- VK_EXT_dynamic_rendering_unused_attachments
- VK_EXT_extended_dynamic_state
- VK_EXT_extended_dynamic_state2
- VK_EXT_extended_dynamic_state3
- VK_EXT_external_memory_dma_buf
- VK_EXT_fragment_density_map
- 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_drm_format_modifier
- VK_EXT_image_view_min_lod
- VK_EXT_inline_uniform_block
- VK_EXT_legacy_dithering
- VK_EXT_legacy_vertex_attributes
- VK_EXT_load_store_op_none
- 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_primitives_generated_query
- VK_EXT_rasterization_order_attachment_access
- VK_EXT_shader_module_identifier
- VK_EXT_shader_replicated_composites
- VK_EXT_shader_stencil_export
- VK_EXT_texel_buffer_alignment
- VK_EXT_tooling_info
- VK_EXT_transform_feedback
- VK_EXT_vertex_input_dynamic_state
- VK_EXT_zero_initialize_device_memory
- VK_GOOGLE_decorate_string
- VK_GOOGLE_hlsl_functionality1
- VK_KHR_deferred_host_operations
- VK_KHR_depth_stencil_resolve
- VK_KHR_dynamic_rendering
- VK_KHR_dynamic_rendering_local_read
- VK_KHR_format_feature_flags2
- VK_KHR_index_type_uint8
- VK_KHR_line_rasterization
- VK_KHR_load_store_op_none
- VK_KHR_map_memory2
- VK_KHR_pipeline_library
- VK_KHR_shader_clock
- VK_KHR_shader_expect_assume
- VK_KHR_shader_integer_dot_product
- VK_KHR_shader_non_semantic_info
- VK_KHR_shader_subgroup_rotate
- VK_KHR_timeline_semaphore
- VK_KHR_vertex_attribute_divisor
- VK_KHR_workgroup_memory_explicit_layout
- VK_KHR_zero_initialize_workgroup_memory
- VK_QCOM_fragment_density_map_offset
- VK_VALVE_fragment_density_map_layered
- VK_VALVE_mutable_descriptor_type
仅 Qualcomm Technologies Inc. Adreno Vulkan Driver 有的扩展(10)
- VK_EXT_blend_operation_advanced
- VK_EXT_device_memory_report
- VK_EXT_global_priority
- VK_EXT_subgroup_size_control
- VK_KHR_multiview
- VK_KHR_shader_subgroup_extended_types
- VK_KHR_shared_presentable_image
- VK_KHR_spirv_1_4
- VK_QCOM_render_pass_store_ops
- VK_QCOM_rotated_copy_commands
不同的核心功能(0)
| 无 |
不同的限制(32)
| 限制 | 原厂 | 第三方 |
|---|---|---|
| maxPushConstantsSize | 128 | 256 |
| maxMemoryAllocationCount | 4096 | 4294967295 |
| maxSamplerAllocationCount | 4000 | 65536 |
| bufferImageGranularity | 1 | 64 |
| sparseAddressSpaceSize | 0 | 274877906944 |
| maxPerStageDescriptorSamplers | 524288 | 16777216 |
| maxPerStageDescriptorUniformBuffers | 524288 | 16777216 |
| maxPerStageDescriptorStorageBuffers | 524288 | 16777216 |
| maxPerStageDescriptorSampledImages | 524288 | 16777216 |
| maxPerStageDescriptorStorageImages | 524288 | 16777216 |
| maxPerStageResources | 1572864 | 16777216 |
| maxDescriptorSetSamplers | 524288 | 16777216 |
| maxDescriptorSetUniformBuffers | 524288 | 16777216 |
| maxDescriptorSetUniformBuffersDynamic | 32 | 16 |
| maxDescriptorSetStorageBuffers | 524288 | 16777216 |
| maxDescriptorSetStorageBuffersDynamic | 16 | 8 |
| maxDescriptorSetSampledImages | 524288 | 16777216 |
| maxDescriptorSetStorageImages | 524288 | 16777216 |
| maxVertexInputAttributeOffset | 4096 | 4095 |
| maxGeometryInputComponents | 128 | 64 |
| maxGeometryOutputVertices | 1024 | 256 |
| maxGeometryTotalOutputComponents | 131072 | 1024 |
| maxFragmentInputComponents | 112 | 124 |
| maxFragmentCombinedOutputResources | 72 | 33554440 |
| maxComputeWorkGroupSize | 1024, 1024, 64 | 1024, 1024, 1024 |
| minMemoryMapAlignment | 64 | 4096 |
| minStorageBufferOffsetAlignment | 64 | 4 |
| maxFramebufferLayers | 2048 | 1024 |
| discreteQueuePriorities | 3 | 2 |
| optimalBufferCopyOffsetAlignment | 64 | 128 |
| optimalBufferCopyRowPitchAlignment | 64 | 128 |
| nonCoherentAtomSize | 1 | 64 |
只有一个驱动支持的格式(多了 32 种,少了 1 种)
- A2B10G10R10_SSCALED_PACK32
- A2B10G10R10_USCALED_PACK32
- A2R10G10B10_SSCALED_PACK32
- A2R10G10B10_USCALED_PACK32
- A4B4G4R4_UNORM_PACK16
- A4R4G4B4_UNORM_PACK16
- A8B8G8R8_SSCALED_PACK32
- A8B8G8R8_USCALED_PACK32
- B8G8R8A8_SINT
- B8G8R8A8_SNORM
- B8G8R8A8_SSCALED
- B8G8R8A8_UINT
- B8G8R8A8_USCALED
- B8G8R8_SINT
- B8G8R8_SNORM
- B8G8R8_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
- G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16