FauxVkDB
English
Home / Adreno (TM) 825 / Compare

stable-turnip-V2 vs Qualcomm Technologies Inc. Adreno Vulkan Driver

On Adreno (TM) 825 (Nothing Phone (3), Poco F7, Poco F7). The first driver named is compared against the second, which is the baseline.

StockQualcomm Technologies Inc. Adreno Vulkan DriverDriver Build: 208ca19915, Iab05a79315, 1770369230
vs
Customstable-turnip-V2Mesa 26.2.3 (git-fbc44a3bcc)
Graphics system version (Vulkan)1.3.284 to 1.4.354
Optional features (extensions)165 to 174+33 -24
Features that pass their check (validated)44 to 496 pass only on stable-turnip-V2 1 pass only on Qualcomm Technologies Inc. Adreno Vulkan Driver
Speed test scenes (benchmark)2 faster 1 slower 1 even2% 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_2160p2% faster
  • oit_linked_lists20% faster
  • pipeline_barriers_2160p0% slower
  • subpasses_2160p11% slower

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 2 scenes (pipeline_barriers: 1255 of 2304 cells, pipeline_barriers_2160p: 1008 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).

Qualcomm Technologies Inc. Adreno Vulkan Driver details stable-turnip-V2 details

Feature checks that differ (24)

FeatureStockCustomChange
core.compute_udiv
core
passfaillost
extendedDynamicState3ColorBlendEnable
VK_EXT_extended_dynamic_state3
unsupportedpassgained
extendedDynamicState3ColorBlendEquation
VK_EXT_extended_dynamic_state3
unsupportedpassgained
extendedDynamicState3ColorWriteMask
VK_EXT_extended_dynamic_state3
unsupportedpassgained
extendedDynamicState3DepthClampEnable
VK_EXT_extended_dynamic_state3
unsupportedpassgained
extendedDynamicState3LogicOpEnable
VK_EXT_extended_dynamic_state3
unsupportedpassgained
extendedDynamicState3PolygonMode
VK_EXT_extended_dynamic_state3
unsupportedpassgained
extendedDynamicState3AlphaToCoverageEnable
VK_EXT_extended_dynamic_state3
unsupporteduntestedchanged
extendedDynamicState3AlphaToOneEnable
VK_EXT_extended_dynamic_state3
unsupporteduntestedchanged
extendedDynamicState3ConservativeRasterizationMode
VK_EXT_extended_dynamic_state3
unsupporteduntestedchanged
extendedDynamicState3DepthClipEnable
VK_EXT_extended_dynamic_state3
unsupporteduntestedchanged
extendedDynamicState3DepthClipNegativeOneToOne
VK_EXT_extended_dynamic_state3
unsupporteduntestedchanged
extendedDynamicState3ExtraPrimitiveOverestimationSize
VK_EXT_extended_dynamic_state3
unsupporteduntestedchanged
extendedDynamicState3LineRasterizationMode
VK_EXT_extended_dynamic_state3
unsupporteduntestedchanged
extendedDynamicState3ProvokingVertexMode
VK_EXT_extended_dynamic_state3
unsupporteduntestedchanged
extendedDynamicState3RasterizationSamples
VK_EXT_extended_dynamic_state3
unsupporteduntestedchanged
extendedDynamicState3RasterizationStream
VK_EXT_extended_dynamic_state3
unsupporteduntestedchanged
extendedDynamicState3SampleLocationsEnable
VK_EXT_extended_dynamic_state3
unsupporteduntestedchanged
extendedDynamicState3SampleMask
VK_EXT_extended_dynamic_state3
unsupporteduntestedchanged
extendedDynamicState3TessellationDomainOrigin
VK_EXT_extended_dynamic_state3
unsupporteduntestedchanged
shaderResourceMinLod
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
shaderResourceResidency
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
sparseResidency16Samples
VkPhysicalDeviceFeatures
untestedunsupportedchanged
sparseResidencyAliased
VkPhysicalDeviceFeatures
unsupporteduntestedchanged

Speed test scenes (benchmark)

The two drivers were not measured on the same set of device models. Frame times from different devices do not compare drivers, so read these numbers with that in mind.

SceneStock msCustom msDifferenceStartsGPU clock, MHzPicture vs stock
compute_nbodyn/an/aonly one side3 of 3 vs 0 of 3? vs ? clock unknownnot checked
hdr_2160p26.55 typical 26.5725.99 typical 25.922% faster3 of 3 vs 3 of 3? vs ? clock unknownno large difference 0.0 no small difference worst 0.0 64x36
oit_linked_lists26.88 typical 26.9022.38 typical 22.3020% faster3 of 3 vs 3 of 3? vs ? clock unknownno large difference 0.0 no small difference worst 0.0 64x36
pipeline_barriers2.82 typical 2.762.65 typical 2.52too light, see pipeline_barriers_2160p3 of 3 vs 3 of 3? vs ? clock unknownno large difference 5.9 differs in 1255 small areas worst 61.3 64x36
pipeline_barriers_2160p9.97 typical 9.9610.01 typical 10.390% slower3 of 3 vs 3 of 3? vs ? clock unknownno large difference 5.5 differs in 1008 small areas worst 40.3 64x36
subpassesn/a4.96too light, see subpasses_2160p3 of 3 vs 3 of 3? vs ? clock unknownnot checked
subpasses_2160p17.23 typical 17.2019.32 typical 19.3011% slower3 of 3 vs 3 of 3? vs ? clock unknownnot 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 stable-turnip-V2 against Qualcomm Technologies Inc. Adreno Vulkan Driver. "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 stable-turnip-V2 (33)
  • 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_primitive_restart_index
  • 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
Extensions only in Qualcomm Technologies Inc. Adreno Vulkan Driver (24)
  • 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_shader_subgroup_ballot
  • VK_EXT_shader_subgroup_vote
  • VK_KHR_ray_tracing_position_fetch
  • VK_KHR_shader_maximal_reconvergence
  • VK_KHR_shader_quad_control
  • VK_KHR_shared_presentable_image
  • 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
Core features that differ (20)
multiviewGeometryShader Vulkan 1.1unsupported to pass
protectedMemory Vulkan 1.1pass to unsupported
shaderInputAttachmentArrayDynamicIndexing Vulkan 1.2pass to unsupported
shaderInputAttachmentArrayNonUniformIndexing Vulkan 1.2pass to unsupported
bresenhamLines Vulkan 1.4unsupported to pass
dynamicRenderingLocalRead Vulkan 1.4unsupported to pass
globalPriorityQuery Vulkan 1.4unsupported to pass
hostImageCopy Vulkan 1.4unsupported to pass
indexTypeUint8 Vulkan 1.4unsupported to pass
maintenance5 Vulkan 1.4unsupported to pass
maintenance6 Vulkan 1.4unsupported to pass
pipelineRobustness Vulkan 1.4unsupported to pass
pushDescriptor Vulkan 1.4unsupported to pass
rectangularLines Vulkan 1.4unsupported to pass
shaderExpectAssume Vulkan 1.4unsupported to pass
shaderFloatControls2 Vulkan 1.4unsupported to pass
shaderSubgroupRotate Vulkan 1.4unsupported to pass
shaderSubgroupRotateClustered Vulkan 1.4unsupported to pass
vertexAttributeInstanceRateDivisor Vulkan 1.4unsupported to pass
vertexAttributeInstanceRateZeroDivisor Vulkan 1.4unsupported to pass
Limits that differ (21)
LimitStockCustom
maxTexelBufferElements134217728536870911
bufferImageGranularity164
sparseAddressSpaceSize562949953421311274877906944
maxPerStageResources5033164816777216
maxDescriptorSetUniformBuffersDynamic3216
maxDescriptorSetStorageBuffersDynamic168
maxVertexInputAttributeOffset40964095
maxGeometryInputComponents12864
maxGeometryOutputVertices1024256
maxGeometryTotalOutputComponents1310721024
maxFragmentInputComponents112128
maxComputeSharedMemorySize3276865536
minMemoryMapAlignment644096
minUniformBufferOffsetAlignment25664
minStorageBufferOffsetAlignment644
maxFramebufferLayers20481024
discreteQueuePriorities32
pointSizeRange1, 40951, 4092
optimalBufferCopyOffsetAlignment64128
optimalBufferCopyRowPitchAlignment64128
nonCoherentAtomSize164
Formats supported by only one driver (5 gained, 1 lost)

Only in stable-turnip-V2:

  • B8G8R8A8_SSCALED
  • B8G8R8A8_USCALED
  • B8G8R8_SINT
  • B8G8R8_SNORM
  • B8G8R8_UINT

Only in Qualcomm Technologies Inc. Adreno Vulkan Driver:

  • G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16