FauxVkDB
English
Home / Adreno (TM) 610 / Compare

Turnip-Rutabaga-v3 vs Turnip_v27.0.0-R1

On Adreno (TM) 610 (HONOR Pad X8a, HONOR X8c, POCO M7, Redmi Note 11, Redmi Note 12, Redmi Note 13, Samsung Galaxy A05s, Xiaomi 220333QAG). The first driver named is compared against the second, which is the baseline.

StockTurnip_v27.0.0-R1Mesa 27.0.0-devel (git-f28352d117)
vs
CustomTurnip-Rutabaga-v3Mesa 26.3.0-devel (git-b00479181d)
Graphics system version (Vulkan)1.3.363 to 1.0.359
Optional features (extensions)158 to 145+4 -17
Features that pass their check (validated)47 to 47both pass the same checks
Speed test scenes (benchmark)4 faster 0 slower7% faster overall (geometric mean)
Games each driver could run (an estimate from its feature list): green likely, yellow maybe, orange limited, red no
StockDX92002+DX102006+DX112009+DX122015+Switch
CustomDX92002+DX102006+DX112009+DX122015+Switch
  • hdr_2160p10% faster
  • oit_linked_lists4% faster
  • pipeline_barriers7% faster
  • subpasses8% faster

Custom driver against stock, per scene. Bars to the right are faster, to the left slower.

Small areas of the picture differ from the stock driver in 1 scene (pipeline_barriers: 1482 of 2304 cells). The picture matches overall, so this is a local rendering fault, not a different scene.

Did not start every time: compute_nbody (stock 3 of 3, custom 0 of 3).

Not on equal terms: the GPU clock differed during 1 of these scenes (for example subpasses: stock at 88% of the device's maximum, custom at 100%). Part of the frame-time difference comes from the clock the device chose, not from the driver.

Turnip_v27.0.0-R1 details Turnip-Rutabaga-v3 details

Feature checks that differ (0)

Every feature check ends the same way on both drivers.

Speed test scenes (benchmark)

SceneTurnip_v27.0.0-R1 msTurnip-Rutabaga-v3 msDifferenceStartsGPU clock, MHzPicture vs stock
compute_nbody89.38 typical 89.17n/aonly one side3 of 3 vs 0 of 31115 vs ? clock unknownnot checked
hdr_2160p347.46 typical 347.29317.11 typical 310.7210% faster3 of 3 vs 3 of 31115 vs 1068 no large difference 0.0 no small difference worst 0.0 64x36
oit_linked_lists98.08 typical 96.1894.48 typical 94.294% faster3 of 3 vs 3 of 31115 vs 1115 no large difference 0.0 no small difference worst 0.0 64x36
pipeline_barriers45.04 typical 45.3542.19 typical 42.597% faster3 of 3 vs 3 of 31115 vs 1115 no large difference 10.6 differs in 1482 small areas worst 62.3 64x36
subpasses88.72 typical 88.7382.30 typical 82.298% faster3 of 3 vs 3 of 3982 vs 1115 not comparablenot checked

Time to draw one frame, per scene: the average (mean) frame time of the scene's best round, which is how many frames the driver delivered; lower is faster. "Typical" beside it is the median frame, which can sit well under the average when a driver's frames come in two speeds. A pair of reports made before per-round averages were recorded is compared on the median. A scene whose rounds disagree by more than 15% is left out. A scene marked "paced" was held at that mean frame time by the driver or the display queue, together with at least one other scene of the same run; its time says how the frames were spaced, not how fast the driver rendered, so it is not compared. A scene marked "too light" took under 8 ms at the standard size (1920 by 1080) on both drivers, where the screen's frame queue spaces the frames more than the chip does; its heavier run is the one compared: the row ending in _2160p is the scene drawn at 3840 by 2160, and compute_nbody_2x is that scene with twice the particles. "Faster" and "slower" describe Turnip-Rutabaga-v3 against Turnip_v27.0.0-R1. "Picture vs stock" compares one fixed frame per scene as a coarse colour grid (0 is identical, above 40 is a different picture); it finds a scene that was not drawn. Where both reports carry the finer 64x36 grid, the second figure is how many of its 2,304 cells differ by more than 4 of 255, and "worst" is the largest single cell; this is what finds a small rendering error in a picture that otherwise matches. A row marked 16x9 comes from a report made before the finer grid existed. "Starts" is how many of a scene's process starts reached a measured round. A GPU clock marked "not comparable" differed by more than 5% of the device's maximum between the two timings.

Technical differences (Vulkan)

Extensions only in Turnip-Rutabaga-v3 (4)
  • VK_EXT_depth_range_unrestricted
  • VK_EXT_frame_boundary
  • VK_EXT_pipeline_robustness
  • VK_KHR_cooperative_matrix
Extensions only in Turnip_v27.0.0-R1 (17)
  • VK_EXT_global_priority
  • VK_EXT_global_priority_query
  • VK_EXT_subgroup_size_control
  • 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_subgroup_extended_types
  • VK_KHR_shader_subgroup_uniform_control_flow
  • VK_KHR_spirv_1_4
  • VK_KHR_swapchain_mutable_format
  • VK_QCOM_rotated_copy_commands
  • VK_VALVE_buffer_device_address_allocation_alignment
  • VK_VALVE_fragment_density_map_layered
Core features that differ (57)
multiview Vulkan 1.1pass to unsupported
samplerYcbcrConversion Vulkan 1.1pass to unsupported
shaderDrawParameters Vulkan 1.1pass to unsupported
variablePointers Vulkan 1.1pass to unsupported
variablePointersStorageBuffer Vulkan 1.1pass to unsupported
bufferDeviceAddress Vulkan 1.2pass to unsupported
bufferDeviceAddressCaptureReplay Vulkan 1.2pass to unsupported
descriptorBindingPartiallyBound Vulkan 1.2pass to unsupported
descriptorBindingSampledImageUpdateAfterBind Vulkan 1.2pass to unsupported
descriptorBindingStorageBufferUpdateAfterBind Vulkan 1.2pass to unsupported
descriptorBindingStorageImageUpdateAfterBind Vulkan 1.2pass to unsupported
descriptorBindingStorageTexelBufferUpdateAfterBind Vulkan 1.2pass to unsupported
descriptorBindingUniformBufferUpdateAfterBind Vulkan 1.2pass to unsupported
descriptorBindingUniformTexelBufferUpdateAfterBind Vulkan 1.2pass to unsupported
descriptorBindingUpdateUnusedWhilePending Vulkan 1.2pass to unsupported
descriptorBindingVariableDescriptorCount Vulkan 1.2pass to unsupported
descriptorIndexing Vulkan 1.2pass to unsupported
drawIndirectCount Vulkan 1.2pass to unsupported
hostQueryReset Vulkan 1.2pass to unsupported
imagelessFramebuffer Vulkan 1.2pass to unsupported
runtimeDescriptorArray Vulkan 1.2pass to unsupported
samplerMirrorClampToEdge Vulkan 1.2pass to unsupported
scalarBlockLayout Vulkan 1.2pass to unsupported
separateDepthStencilLayouts Vulkan 1.2pass to unsupported
shaderFloat16 Vulkan 1.2pass to unsupported
shaderInt8 Vulkan 1.2pass to unsupported
shaderOutputLayer Vulkan 1.2pass to unsupported
shaderOutputViewportIndex Vulkan 1.2pass to unsupported
shaderSampledImageArrayNonUniformIndexing Vulkan 1.2pass to unsupported
shaderStorageBufferArrayNonUniformIndexing Vulkan 1.2pass to unsupported
shaderStorageImageArrayNonUniformIndexing Vulkan 1.2pass to unsupported
shaderStorageTexelBufferArrayDynamicIndexing Vulkan 1.2pass to unsupported
shaderStorageTexelBufferArrayNonUniformIndexing Vulkan 1.2pass to unsupported
shaderSubgroupExtendedTypes Vulkan 1.2pass to unsupported
shaderUniformBufferArrayNonUniformIndexing Vulkan 1.2pass to unsupported
shaderUniformTexelBufferArrayDynamicIndexing Vulkan 1.2pass to unsupported
shaderUniformTexelBufferArrayNonUniformIndexing Vulkan 1.2pass to unsupported
subgroupBroadcastDynamicId Vulkan 1.2pass to unsupported
timelineSemaphore Vulkan 1.2pass to unsupported
uniformBufferStandardLayout Vulkan 1.2pass to unsupported
vulkanMemoryModel Vulkan 1.2pass to unsupported
vulkanMemoryModelAvailabilityVisibilityChains Vulkan 1.2pass to unsupported
vulkanMemoryModelDeviceScope Vulkan 1.2pass to unsupported
computeFullSubgroups Vulkan 1.3pass to unsupported
descriptorBindingInlineUniformBlockUpdateAfterBind Vulkan 1.3pass to unsupported
dynamicRendering Vulkan 1.3pass to unsupported
inlineUniformBlock Vulkan 1.3pass to unsupported
maintenance4 Vulkan 1.3pass to unsupported
pipelineCreationCacheControl Vulkan 1.3pass to unsupported
privateData Vulkan 1.3pass to unsupported
robustImageAccess Vulkan 1.3pass to unsupported
shaderDemoteToHelperInvocation Vulkan 1.3pass to unsupported
shaderIntegerDotProduct Vulkan 1.3pass to unsupported
shaderTerminateInvocation Vulkan 1.3pass to unsupported
shaderZeroInitializeWorkgroupMemory Vulkan 1.3pass to unsupported
subgroupSizeControl Vulkan 1.3pass to unsupported
synchronization2 Vulkan 1.3pass to unsupported
Limits that differ (0)
LimitTurnip_v27.0.0-R1Turnip-Rutabaga-v3
Formats supported by only one driver (0 gained, 2 lost)

Only in Turnip-Rutabaga-v3:

  • None

Only in Turnip_v27.0.0-R1:

  • A1B5G5R5_UNORM_PACK16
  • A8_UNORM