FauxVkDB
简体中文

Turnip_Gen8_V33 对比 Qualcomm Technologies Inc. Adreno Vulkan Driver

在 Adreno (TM) 830 上 (HONOR AAK-AN00, HONOR Magic V5, nubia NX789J, OnePlus 13, POCO F8 Pro, realme GT 7 Pro, Samsung Galaxy S25, Samsung Galaxy S25 Ultra, Samsung Galaxy S25 Ultra, Samsung Galaxy S25 Ultra, Samsung Galaxy S25+, Xiaomi 15, ZTE NP05J). 先列出的驱动与后一个对比,后一个是基准。

原厂Qualcomm Technologies Inc. Adreno Vulkan DriverDriver Build: 0603ba43d2, Id52d3f334b, 1782110333
对比
第三方Turnip_Gen8_V33Mesa 26.2.0-devel (git-471f8dc66c)
图形系统版本(Vulkan)1.3.284 → 1.4.354
可选功能(扩展)171 → 173+32 -30
通过检测的功能(已验证)44 → 496 个仅在 Turnip_Gen8_V33 上通过 1 个仅在 Qualcomm Technologies Inc. Adreno Vulkan Driver 上通过
跑分测试场景(基准测试)没有共同场景
各驱动能跑的游戏(根据功能列表估算):绿色基本能跑,黄色可能能跑,橙色问题较多,红色跑不了
原厂DX92002+DX102006+DX112009+DX122015+Switch
第三方DX92002+DX102006+DX112009+DX122015+Switch

Qualcomm Technologies Inc. Adreno Vulkan Driver 详情 Turnip_Gen8_V33 详情

结果不同的功能检测(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/an/a仅一侧有3 / 3 对比 ?611 对比 ? 频率未知未检测
compute_nbody_2x8.22 典型值 8.22n/a仅一侧有3 / 3 对比 ?1133 对比 ? 频率未知未检测
hdr_2160pn/an/a仅一侧有3 / 3 对比 ?1200 对比 ? 频率未知未检测
oit_linked_lists15.57 典型值 15.58n/a仅一侧有3 / 3 对比 ?1200 对比 ? 频率未知未检测
pipeline_barriers2.75 典型值 2.39n/a仅一侧有3 / 3 对比 ?726 对比 ? 频率未知未检测
pipeline_barriers_2160p5.43 典型值 5.42n/a仅一侧有3 / 3 对比 ?1039 对比 ? 频率未知未检测
subpasses5.62 典型值 4.38n/a仅一侧有3 / 3 对比 ?607 对比 ? 频率未知未检测
subpasses_2160pn/an/a仅一侧有3 / 3 对比 ?1167 对比 ? 频率未知未检测

绘制一帧所需的时间,按场景统计:取该场景最佳一轮的平均帧时间,也就是驱动交付了多少帧;越低越快。旁边的“典型值”是中位帧,当驱动的帧分成两种速度时,它可能比平均值低很多。在记录每轮平均值之前生成的一对报告,改用中位数对比。各轮之间相差超过 15% 的场景会被排除。标为“被锁帧”的场景,是被驱动或显示队列锁在了那个平均帧时间上,并且同一次运行中至少还有另一个场景也是如此;它的耗时反映的是帧的间隔,而不是驱动渲染得有多快,所以不参与对比。标为“太轻”的场景,在标准尺寸(1920×1080)下两个驱动都不到 8 ms,此时屏幕的帧队列对帧间隔的影响比芯片更大;这时对比的是它更重的版本:以 _2160p 结尾的行是以 3840×2160 绘制的该场景,compute_nbody_2x 是粒子数翻倍的该场景。“更快”和“更慢”描述的是 Turnip_Gen8_V33 相对 Qualcomm Technologies Inc. Adreno Vulkan Driver。“画面对比原厂”把每个场景的一个固定帧按粗略的色块网格对比(0 为完全相同,超过 40 表示画面不同),用来找出没有被画出来的场景。如果两份报告都带有更细的 64×36 网格,第二个数字是其 2,304 个格子中有多少个差异超过 255 里的 4,“最差”是单个格子的最大差异;这能找出其余部分都一致的画面里的小渲染错误。标为 16x9 的行来自细网格出现之前生成的报告。“启动次数”是一个场景的进程启动中,有多少次进入了被测量的一轮。标为“不可比”的 GPU 频率,表示两次计时之间的差异超过设备最大频率的 5%。

技术差异(Vulkan)

仅 Turnip_Gen8_V33 有的扩展(32)
  • 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_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 有的扩展(30)
  • 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_present_mode_fifo_latest_ready
  • VK_EXT_present_timing
  • VK_EXT_shader_subgroup_ballot
  • VK_EXT_shader_subgroup_vote
  • 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_shader_quad_control
  • 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 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不支持 → 通过
不同的限制(20)
限制原厂第三方
maxTexelBufferElements134217728536870911
bufferImageGranularity164
sparseAddressSpaceSize562949953421311274877906944
maxPerStageResources5033164816777216
maxDescriptorSetUniformBuffersDynamic3216
maxDescriptorSetStorageBuffersDynamic168
maxVertexInputAttributeOffset40964095
maxGeometryInputComponents12864
maxGeometryOutputVertices1024256
maxGeometryTotalOutputComponents1310721024
maxFragmentInputComponents112124
minMemoryMapAlignment644096
minUniformBufferOffsetAlignment25664
minStorageBufferOffsetAlignment644
maxFramebufferLayers20481024
discreteQueuePriorities32
pointSizeRange1, 40951, 4092
optimalBufferCopyOffsetAlignment64128
optimalBufferCopyRowPitchAlignment64128
nonCoherentAtomSize164
只有一个驱动支持的格式(多了 5 种,少了 1 种)

仅 Turnip_Gen8_V33 有:

  • B8G8R8A8_SSCALED
  • B8G8R8A8_USCALED
  • B8G8R8_SINT
  • B8G8R8_SNORM
  • B8G8R8_UINT

仅 Qualcomm Technologies Inc. Adreno Vulkan Driver 有:

  • G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16