FauxVkDB
English
Home / Adreno (TM) 730 / Compare

turnip_faux123_v1.1.9-rc14 vs Qualcomm Technologies Inc. Adreno Vulkan Driver

On Adreno (TM) 730 (motorola edge 30 pro, Samsung Galaxy S22, Samsung Galaxy S22 Ultra, Samsung Galaxy S22 Ultra, Samsung Galaxy Tab S8). The first driver named is compared against the second, which is the baseline.

StockQualcomm Technologies Inc. Adreno Vulkan DriverDriver Build: 0c393b63cf, I94e2bd5684, 1746191168
vs
Customturnip_faux123_v1.1.9-rc14Mesa 26.3.0-devel (git-dd45fd0baa)
Graphics system version (Vulkan)1.1.128 to 1.4.359
Optional features (extensions)90 to 167+84 -7
Features that pass their check (validated)35 to 5015 pass only on turnip_faux123_v1.1.9-rc14 0 pass only on Qualcomm Technologies Inc. Adreno Vulkan Driver
Speed test scenes (benchmark)0 faster 0 slower 1 even1% 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
  • oit_linked_lists1% 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 2 scenes (pipeline_barriers: 1333 of 2304 cells, pipeline_barriers_2160p: 1483 of 2304 cells). The picture matches overall, so this is a local rendering fault, not a different scene.

Qualcomm Technologies Inc. Adreno Vulkan Driver details turnip_faux123_v1.1.9-rc14 details

Feature checks that differ (42)

FeatureStockCustomChange
borderColorSwizzle
VK_EXT_border_color_swizzle
unsupportedpassgained
colorWriteEnable
VK_EXT_color_write_enable
unsupportedpassgained
depthClipControl
VK_EXT_depth_clip_control
unsupportedpassgained
extendedDynamicState2
VK_EXT_extended_dynamic_state2
unsupportedpassgained
extendedDynamicState2LogicOp
VK_EXT_extended_dynamic_state2
unsupportedpassgained
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
inlineUniformBlock
VK_EXT_inline_uniform_block
unsupportedpassgained
vertexInputDynamicState
VK_EXT_vertex_input_dynamic_state
unsupportedpassgained
multiViewport
VkPhysicalDeviceFeatures
unsupportedpassgained
core.copy_wide_row_length
core
failpassgained
borderColorSwizzleFromImage
VK_EXT_border_color_swizzle
unsupporteduntestedchanged
extendedDynamicState2PatchControlPoints
VK_EXT_extended_dynamic_state2
unsupporteduntestedchanged
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
descriptorBindingInlineUniformBlockUpdateAfterBind
VK_EXT_inline_uniform_block
unsupporteduntestedchanged
shaderInt64
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
shaderResourceMinLod
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
shaderResourceResidency
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
shaderTessellationAndGeometryPointSize
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
sparseResidency16Samples
VkPhysicalDeviceFeatures
untestedunsupportedchanged
sparseResidency2Samples
VkPhysicalDeviceFeatures
untestedunsupportedchanged
sparseResidency4Samples
VkPhysicalDeviceFeatures
untestedunsupportedchanged
sparseResidency8Samples
VkPhysicalDeviceFeatures
untestedunsupportedchanged
sparseResidencyAliased
VkPhysicalDeviceFeatures
unsupporteduntestedchanged
sparseResidencyImage2D
VkPhysicalDeviceFeatures
untestedunsupportedchanged
variableMultisampleRate
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_nbody8.84n/aonly one side3 of 3 vs 3 of 3753 vs 762 no large difference 0.0 no small difference worst 0.0 64x36
hdr_2160p42.84n/aonly one side3 of 3 vs 3 of 3734 vs 421 no large difference 0.0 no small difference worst 0.3 64x36
oit_linked_lists24.34 typical 23.6324.12 typical 24.051% faster3 of 3 vs 3 of 3818 vs 818 no large difference 0.0 no small difference worst 0.0 64x36
pipeline_barriers6.06n/aonly one side3 of 3 vs 3 of 3734 vs 740 not comparableno large difference 7.0 differs in 1333 small areas worst 48.0 64x36
pipeline_barriers_2160pn/an/aonly one side3 of 3 vs 3 of 3818 vs 576 not comparableno large difference 10.4 differs in 1483 small areas worst 62.7 64x36
subpasses10.26n/aonly one side3 of 3 vs 3 of 3791 vs 750 not comparablenot checked
subpasses_2160pn/an/aonly one side? vs 3 of 3? vs 770 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 turnip_faux123_v1.1.9-rc14 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 turnip_faux123_v1.1.9-rc14 (84)
  • 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_conservative_rasterization
  • VK_EXT_custom_resolve
  • VK_EXT_debug_marker
  • VK_EXT_depth_clamp_control
  • 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_state2
  • VK_EXT_extended_dynamic_state3
  • VK_EXT_external_memory_dma_buf
  • VK_EXT_fragment_density_map_offset
  • VK_EXT_global_priority_query
  • VK_EXT_graphics_pipeline_library
  • VK_EXT_host_image_copy
  • VK_EXT_image_2d_view_of_3d
  • VK_EXT_image_compression_control
  • 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_primitive_restart_index
  • VK_EXT_primitives_generated_query
  • VK_EXT_rasterization_order_attachment_access
  • VK_EXT_shader_module_identifier
  • VK_EXT_shader_replicated_composites
  • VK_EXT_shader_subgroup_vote
  • VK_EXT_shader_uniform_buffer_unsized_array
  • VK_EXT_shader_viewport_index_layer
  • VK_EXT_tooling_info
  • VK_EXT_vertex_input_dynamic_state
  • VK_EXT_zero_initialize_device_memory
  • VK_GOOGLE_decorate_string
  • VK_GOOGLE_hlsl_functionality1
  • VK_KHR_compute_shader_derivatives
  • VK_KHR_deferred_host_operations
  • VK_KHR_dynamic_rendering
  • VK_KHR_dynamic_rendering_local_read
  • VK_KHR_format_feature_flags2
  • VK_KHR_global_priority
  • VK_KHR_index_type_uint8
  • VK_KHR_line_rasterization
  • VK_KHR_load_store_op_none
  • VK_KHR_maintenance4
  • VK_KHR_maintenance5
  • VK_KHR_maintenance6
  • VK_KHR_maintenance7
  • VK_KHR_map_memory2
  • VK_KHR_pipeline_library
  • VK_KHR_shader_clock
  • VK_KHR_shader_expect_assume
  • VK_KHR_shader_float_controls2
  • VK_KHR_shader_integer_dot_product
  • VK_KHR_shader_relaxed_extended_instruction
  • VK_KHR_shader_subgroup_rotate
  • VK_KHR_shader_subgroup_uniform_control_flow
  • VK_KHR_vertex_attribute_divisor
  • VK_KHR_workgroup_memory_explicit_layout
  • VK_KHR_zero_initialize_workgroup_memory
  • VK_NV_compute_shader_derivatives
  • VK_QCOM_fragment_density_map_offset
  • VK_QCOM_multiview_per_view_render_areas
  • VK_QCOM_multiview_per_view_viewports
  • VK_VALVE_fragment_density_map_layered
  • VK_VALVE_mutable_descriptor_type
Extensions only in Qualcomm Technologies Inc. Adreno Vulkan Driver (7)
  • VK_EXT_astc_decode_mode
  • VK_EXT_blend_operation_advanced
  • VK_EXT_fragment_density_map2
  • VK_KHR_shared_presentable_image
  • VK_QCOM_render_pass_store_ops
  • VK_QCOM_render_pass_transform
  • VK_QCOM_rotated_copy_commands
Core features that differ (78)
multiview Vulkan 1.1unsupported to pass
multiviewGeometryShader Vulkan 1.1unsupported to pass
samplerYcbcrConversion Vulkan 1.1unsupported to pass
shaderDrawParameters Vulkan 1.1unsupported to pass
storageBuffer16BitAccess Vulkan 1.1unsupported to pass
variablePointers Vulkan 1.1unsupported to pass
variablePointersStorageBuffer Vulkan 1.1unsupported to pass
bufferDeviceAddress Vulkan 1.2unsupported to pass
bufferDeviceAddressCaptureReplay Vulkan 1.2unsupported to pass
descriptorBindingPartiallyBound Vulkan 1.2unsupported to pass
descriptorBindingSampledImageUpdateAfterBind Vulkan 1.2unsupported to pass
descriptorBindingStorageBufferUpdateAfterBind Vulkan 1.2unsupported to pass
descriptorBindingStorageImageUpdateAfterBind Vulkan 1.2unsupported to pass
descriptorBindingStorageTexelBufferUpdateAfterBind Vulkan 1.2unsupported to pass
descriptorBindingUniformBufferUpdateAfterBind Vulkan 1.2unsupported to pass
descriptorBindingUniformTexelBufferUpdateAfterBind Vulkan 1.2unsupported to pass
descriptorBindingUpdateUnusedWhilePending Vulkan 1.2unsupported to pass
descriptorBindingVariableDescriptorCount Vulkan 1.2unsupported to pass
descriptorIndexing Vulkan 1.2unsupported to pass
drawIndirectCount Vulkan 1.2unsupported to pass
hostQueryReset Vulkan 1.2unsupported to pass
imagelessFramebuffer Vulkan 1.2unsupported to pass
runtimeDescriptorArray Vulkan 1.2unsupported to pass
samplerFilterMinmax Vulkan 1.2unsupported to pass
samplerMirrorClampToEdge Vulkan 1.2unsupported to pass
scalarBlockLayout Vulkan 1.2unsupported to pass
separateDepthStencilLayouts Vulkan 1.2unsupported to pass
shaderFloat16 Vulkan 1.2unsupported to pass
shaderInt8 Vulkan 1.2unsupported to pass
shaderOutputLayer Vulkan 1.2unsupported to pass
shaderOutputViewportIndex Vulkan 1.2unsupported to pass
shaderSampledImageArrayNonUniformIndexing Vulkan 1.2unsupported to pass
shaderStorageBufferArrayNonUniformIndexing Vulkan 1.2unsupported to pass
shaderStorageImageArrayNonUniformIndexing Vulkan 1.2unsupported to pass
shaderStorageTexelBufferArrayDynamicIndexing Vulkan 1.2unsupported to pass
shaderStorageTexelBufferArrayNonUniformIndexing Vulkan 1.2unsupported to pass
shaderSubgroupExtendedTypes Vulkan 1.2unsupported to pass
shaderUniformBufferArrayNonUniformIndexing Vulkan 1.2unsupported to pass
shaderUniformTexelBufferArrayDynamicIndexing Vulkan 1.2unsupported to pass
shaderUniformTexelBufferArrayNonUniformIndexing Vulkan 1.2unsupported to pass
storageBuffer8BitAccess Vulkan 1.2unsupported to pass
subgroupBroadcastDynamicId Vulkan 1.2unsupported to pass
timelineSemaphore Vulkan 1.2unsupported to pass
uniformBufferStandardLayout Vulkan 1.2unsupported to pass
vulkanMemoryModel Vulkan 1.2unsupported to pass
vulkanMemoryModelAvailabilityVisibilityChains Vulkan 1.2unsupported to pass
vulkanMemoryModelDeviceScope Vulkan 1.2unsupported to pass
computeFullSubgroups Vulkan 1.3unsupported to pass
descriptorBindingInlineUniformBlockUpdateAfterBind Vulkan 1.3unsupported to pass
dynamicRendering Vulkan 1.3unsupported to pass
inlineUniformBlock Vulkan 1.3unsupported to pass
maintenance4 Vulkan 1.3unsupported to pass
pipelineCreationCacheControl Vulkan 1.3unsupported to pass
privateData Vulkan 1.3unsupported to pass
robustImageAccess Vulkan 1.3unsupported to pass
shaderDemoteToHelperInvocation Vulkan 1.3unsupported to pass
shaderIntegerDotProduct Vulkan 1.3unsupported to pass
shaderTerminateInvocation Vulkan 1.3unsupported to pass
shaderZeroInitializeWorkgroupMemory Vulkan 1.3unsupported to pass
subgroupSizeControl Vulkan 1.3unsupported to pass
synchronization2 Vulkan 1.3unsupported to pass
textureCompressionASTC_HDR Vulkan 1.3unsupported to pass
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 (33)
LimitStockCustom
maxMemoryAllocationCount40964294967295
maxSamplerAllocationCount400065536
bufferImageGranularity164
sparseAddressSpaceSize5629499534213110
maxPerStageDescriptorSamplers52428816777216
maxPerStageDescriptorUniformBuffers52428816777216
maxPerStageDescriptorStorageBuffers52428816777216
maxPerStageDescriptorSampledImages52428816777216
maxPerStageDescriptorStorageImages52428816777216
maxPerStageResources157286416777216
maxDescriptorSetSamplers52428816777216
maxDescriptorSetUniformBuffers52428816777216
maxDescriptorSetUniformBuffersDynamic3216
maxDescriptorSetStorageBuffers52428816777216
maxDescriptorSetStorageBuffersDynamic168
maxDescriptorSetSampledImages52428816777216
maxDescriptorSetStorageImages52428816777216
maxVertexInputAttributeOffset40964095
maxGeometryInputComponents12864
maxGeometryOutputVertices1024256
maxGeometryTotalOutputComponents1310721024
maxFragmentInputComponents112128
maxFragmentCombinedOutputResources7233554440
maxComputeWorkGroupInvocations10242048
maxComputeWorkGroupSize1024, 1024, 641024, 1024, 1024
maxViewports116
minMemoryMapAlignment644096
minStorageBufferOffsetAlignment644
maxFramebufferLayers20481024
discreteQueuePriorities32
optimalBufferCopyOffsetAlignment64128
optimalBufferCopyRowPitchAlignment64128
nonCoherentAtomSize164
Formats supported by only one driver (34 gained, 1 lost)

Only in turnip_faux123_v1.1.9-rc14:

  • A1B5G5R5_UNORM_PACK16
  • A2B10G10R10_SSCALED_PACK32
  • A2B10G10R10_USCALED_PACK32
  • A2R10G10B10_SSCALED_PACK32
  • A2R10G10B10_USCALED_PACK32
  • A4B4G4R4_UNORM_PACK16
  • A4R4G4B4_UNORM_PACK16
  • A8B8G8R8_SSCALED_PACK32
  • A8B8G8R8_USCALED_PACK32
  • A8_UNORM
  • 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

Only in Qualcomm Technologies Inc. Adreno Vulkan Driver:

  • G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16