FauxVkDB
简体中文

Turnip_v27.0.0-R1 对比 Turnip-v26.0.0-Experimental

在 Adreno (TM) 610 上 (HONOR Pad X8a, HONOR X8c, POCO M7, Redmi Note 11, Redmi Note 12, Redmi Note 13, Samsung Galaxy A05s, Xiaomi 220333QAG). 先列出的驱动与后一个对比,后一个是基准。

原厂Turnip-v26.0.0-ExperimentalMesa 26.0.0-devel (git-25e6c606ba)
对比
第三方Turnip_v27.0.0-R1Mesa 27.0.0-devel (git-f28352d117)
图形系统版本(Vulkan)1.0.333 → 1.3.363
可选功能(扩展)132 → 158+26 -0
通过检测的功能(已验证)47 → 47通过的检测相同
跑分测试场景(基准测试)没有共同场景
各驱动能跑的游戏(根据功能列表估算):绿色基本能跑,黄色可能能跑,橙色问题较多,红色跑不了
原厂DX92002+DX102006+DX112009+DX122015+Switch
第三方DX92002+DX102006+DX112009+DX122015+Switch

Turnip-v26.0.0-Experimental 详情 Turnip_v27.0.0-R1 详情

结果不同的功能检测(1)

功能Turnip-v26.0.0-ExperimentalTurnip_v27.0.0-R1变化
geometryStreams
VK_EXT_transform_feedback
未检测不支持有变化

跑分测试场景(基准测试)

场景Turnip-v26.0.0-Experimental msTurnip_v27.0.0-R1 ms差异启动次数GPU 频率,MHz画面对比原厂
compute_nbodyn/a89.38 典型值 89.17仅一侧有? 对比 3 / 3? 对比 1115 频率未知未检测
hdr_2160pn/a347.46 典型值 347.29仅一侧有? 对比 3 / 3? 对比 1115 频率未知未检测
oit_linked_listsn/a98.08 典型值 96.18仅一侧有? 对比 3 / 3? 对比 1115 频率未知未检测
pipeline_barriersn/a45.04 典型值 45.35仅一侧有? 对比 3 / 3? 对比 1115 频率未知未检测
subpassesn/a88.72 典型值 88.73仅一侧有? 对比 3 / 3? 对比 982 频率未知未检测

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

技术差异(Vulkan)

仅 Turnip_v27.0.0-R1 有的扩展(26)
  • VK_EXT_debug_marker
  • VK_EXT_depth_clamp_control
  • VK_EXT_device_memory_report
  • VK_EXT_global_priority
  • VK_EXT_global_priority_query
  • VK_EXT_image_compression_control
  • VK_EXT_primitive_restart_index
  • VK_EXT_shader_uniform_buffer_unsized_array
  • VK_EXT_subgroup_size_control
  • VK_KHR_compute_shader_derivatives
  • VK_KHR_global_priority
  • VK_KHR_maintenance4
  • VK_KHR_maintenance5
  • VK_KHR_maintenance6
  • VK_KHR_maintenance7
  • VK_KHR_multiview
  • VK_KHR_shader_float_controls2
  • VK_KHR_shader_relaxed_extended_instruction
  • VK_KHR_shader_subgroup_extended_types
  • VK_KHR_shader_subgroup_uniform_control_flow
  • VK_KHR_spirv_1_4
  • VK_KHR_swapchain_mutable_format
  • VK_NV_compute_shader_derivatives
  • VK_QCOM_multiview_per_view_render_areas
  • VK_QCOM_rotated_copy_commands
  • VK_VALVE_buffer_device_address_allocation_alignment
仅 Turnip-v26.0.0-Experimental 有的扩展(0)
  • 无
不同的核心功能(57)
multiview Vulkan 1.1不支持 → 通过
samplerYcbcrConversion Vulkan 1.1不支持 → 通过
shaderDrawParameters Vulkan 1.1不支持 → 通过
variablePointers Vulkan 1.1不支持 → 通过
variablePointersStorageBuffer Vulkan 1.1不支持 → 通过
bufferDeviceAddress Vulkan 1.2不支持 → 通过
bufferDeviceAddressCaptureReplay Vulkan 1.2不支持 → 通过
descriptorBindingPartiallyBound Vulkan 1.2不支持 → 通过
descriptorBindingSampledImageUpdateAfterBind Vulkan 1.2不支持 → 通过
descriptorBindingStorageBufferUpdateAfterBind Vulkan 1.2不支持 → 通过
descriptorBindingStorageImageUpdateAfterBind Vulkan 1.2不支持 → 通过
descriptorBindingStorageTexelBufferUpdateAfterBind Vulkan 1.2不支持 → 通过
descriptorBindingUniformBufferUpdateAfterBind Vulkan 1.2不支持 → 通过
descriptorBindingUniformTexelBufferUpdateAfterBind Vulkan 1.2不支持 → 通过
descriptorBindingUpdateUnusedWhilePending Vulkan 1.2不支持 → 通过
descriptorBindingVariableDescriptorCount Vulkan 1.2不支持 → 通过
descriptorIndexing Vulkan 1.2不支持 → 通过
drawIndirectCount Vulkan 1.2不支持 → 通过
hostQueryReset Vulkan 1.2不支持 → 通过
imagelessFramebuffer Vulkan 1.2不支持 → 通过
runtimeDescriptorArray Vulkan 1.2不支持 → 通过
samplerMirrorClampToEdge Vulkan 1.2不支持 → 通过
scalarBlockLayout Vulkan 1.2不支持 → 通过
separateDepthStencilLayouts Vulkan 1.2不支持 → 通过
shaderFloat16 Vulkan 1.2不支持 → 通过
shaderInt8 Vulkan 1.2不支持 → 通过
shaderOutputLayer Vulkan 1.2不支持 → 通过
shaderOutputViewportIndex Vulkan 1.2不支持 → 通过
shaderSampledImageArrayNonUniformIndexing Vulkan 1.2不支持 → 通过
shaderStorageBufferArrayNonUniformIndexing Vulkan 1.2不支持 → 通过
shaderStorageImageArrayNonUniformIndexing Vulkan 1.2不支持 → 通过
shaderStorageTexelBufferArrayDynamicIndexing Vulkan 1.2不支持 → 通过
shaderStorageTexelBufferArrayNonUniformIndexing Vulkan 1.2不支持 → 通过
shaderSubgroupExtendedTypes Vulkan 1.2不支持 → 通过
shaderUniformBufferArrayNonUniformIndexing Vulkan 1.2不支持 → 通过
shaderUniformTexelBufferArrayDynamicIndexing Vulkan 1.2不支持 → 通过
shaderUniformTexelBufferArrayNonUniformIndexing Vulkan 1.2不支持 → 通过
subgroupBroadcastDynamicId Vulkan 1.2不支持 → 通过
timelineSemaphore Vulkan 1.2不支持 → 通过
uniformBufferStandardLayout Vulkan 1.2不支持 → 通过
vulkanMemoryModel Vulkan 1.2不支持 → 通过
vulkanMemoryModelAvailabilityVisibilityChains Vulkan 1.2不支持 → 通过
vulkanMemoryModelDeviceScope Vulkan 1.2不支持 → 通过
computeFullSubgroups Vulkan 1.3不支持 → 通过
descriptorBindingInlineUniformBlockUpdateAfterBind Vulkan 1.3不支持 → 通过
dynamicRendering Vulkan 1.3不支持 → 通过
inlineUniformBlock Vulkan 1.3不支持 → 通过
maintenance4 Vulkan 1.3不支持 → 通过
pipelineCreationCacheControl Vulkan 1.3不支持 → 通过
privateData Vulkan 1.3不支持 → 通过
robustImageAccess Vulkan 1.3不支持 → 通过
shaderDemoteToHelperInvocation Vulkan 1.3不支持 → 通过
shaderIntegerDotProduct Vulkan 1.3不支持 → 通过
shaderTerminateInvocation Vulkan 1.3不支持 → 通过
shaderZeroInitializeWorkgroupMemory Vulkan 1.3不支持 → 通过
subgroupSizeControl Vulkan 1.3不支持 → 通过
synchronization2 Vulkan 1.3不支持 → 通过
不同的限制(1)
限制Turnip-v26.0.0-ExperimentalTurnip_v27.0.0-R1
maxFragmentInputComponents124128
只有一个驱动支持的格式(多了 2 种,少了 0 种)

仅 Turnip_v27.0.0-R1 有:

  • A1B5G5R5_UNORM_PACK16
  • A8_UNORM

仅 Turnip-v26.0.0-Experimental 有:

  • 无