turnip_faux123_v1.1.7 vs Qualcomm Technologies Inc. Adreno Vulkan Driver
On Adreno (TM) 840 (iQOO 15, LENOVO TB324ZC, nubia NX809J, OnePlus 15, POCO F8 Ultra, Samsung Galaxy S26, Samsung Galaxy S26, Samsung Galaxy S26 Ultra, Samsung Galaxy S26 Ultra, Samsung Galaxy S26 Ultra, Samsung Galaxy Z Fold8, Samsung Galaxy Z Fold8 Ultra, Xiaomi 2512BPNDAG). The first driver named is compared against the second, which is the baseline.
StockQualcomm Technologies Inc. Adreno Vulkan Driver
vsCustomturnip_faux123_v1.1.7
Graphics system version (Vulkan)1.4.295 to 1.4.359
Optional features (extensions)186 to 179+24 -31
Features that pass their check (validated)44 to 507 pass only on turnip_faux123_v1.1.7 1 pass only on Qualcomm Technologies Inc. Adreno Vulkan Driver
Speed test scenes (benchmark)no shared scenes
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
Qualcomm Technologies Inc. Adreno Vulkan Driver details turnip_faux123_v1.1.7 details
Feature checks that differ (26)
| Feature | Stock | Custom | Change |
|---|---|---|---|
| core.compute_udiv | pass | fail | lost |
| extendedDynamicState3ColorBlendEnable | unsupported | pass | gained |
| extendedDynamicState3ColorBlendEquation | unsupported | pass | gained |
| extendedDynamicState3ColorWriteMask | unsupported | pass | gained |
| extendedDynamicState3DepthClampEnable | unsupported | pass | gained |
| extendedDynamicState3LogicOpEnable | unsupported | pass | gained |
| extendedDynamicState3PolygonMode | unsupported | pass | gained |
| core.copy_wide_row_length | fail | pass | gained |
| extendedDynamicState3AlphaToCoverageEnable | unsupported | untested | changed |
| extendedDynamicState3AlphaToOneEnable | unsupported | untested | changed |
| extendedDynamicState3ConservativeRasterizationMode | unsupported | untested | changed |
| extendedDynamicState3DepthClipEnable | unsupported | untested | changed |
| extendedDynamicState3DepthClipNegativeOneToOne | unsupported | untested | changed |
| extendedDynamicState3ExtraPrimitiveOverestimationSize | unsupported | untested | changed |
| extendedDynamicState3LineRasterizationMode | unsupported | untested | changed |
| extendedDynamicState3ProvokingVertexMode | unsupported | untested | changed |
| extendedDynamicState3RasterizationSamples | unsupported | untested | changed |
| extendedDynamicState3RasterizationStream | unsupported | untested | changed |
| extendedDynamicState3SampleLocationsEnable | unsupported | untested | changed |
| extendedDynamicState3SampleMask | unsupported | untested | changed |
| extendedDynamicState3TessellationDomainOrigin | unsupported | untested | changed |
| shaderSharedInt64Atomics | untested | unsupported | changed |
| shaderResourceMinLod | unsupported | untested | changed |
| shaderResourceResidency | unsupported | untested | changed |
| sparseResidency16Samples | untested | unsupported | changed |
| sparseResidencyAliased | unsupported | untested | changed |
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.
| Scene | Stock ms | Custom ms | Difference | Starts | GPU clock, MHz | Picture vs stock |
|---|---|---|---|---|---|---|
| compute_nbody | n/a | n/a | only one side | ? vs 3 of 3 | ? vs ? | not checked |
| compute_nbody_2x | n/a | 9.19 | only one side | ? vs 3 of 3 | ? vs ? | not checked |
| hdr_2160p | n/a | n/a | only one side | ? vs 3 of 3 | ? vs ? | not checked |
| oit_linked_lists | n/a | n/a | only one side | ? vs 3 of 3 | ? vs ? | not checked |
| pipeline_barriers | n/a | n/a | only one side | ? vs 3 of 3 | ? vs ? | not checked |
| pipeline_barriers_2160p | n/a | n/a | only one side | ? vs 3 of 3 | ? vs ? | not checked |
| subpasses | n/a | n/a | only one side | ? vs 3 of 3 | ? vs ? | not checked |
| subpasses_2160p | n/a | n/a | only one side | ? vs 3 of 3 | ? vs ? | not checked |
Technical differences (Vulkan)
Extensions only in turnip_faux123_v1.1.7 (24)
- 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_image_drm_format_modifier
- VK_EXT_legacy_dithering
- VK_EXT_legacy_vertex_attributes
- 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_shader_relaxed_extended_instruction
- VK_NV_compute_shader_derivatives
- VK_VALVE_mutable_descriptor_type
Extensions only in Qualcomm Technologies Inc. Adreno Vulkan Driver (31)
- 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_map
- VK_EXT_fragment_density_map2
- VK_EXT_image_compression_control_swapchain
- VK_EXT_mesh_shader
- VK_EXT_pipeline_protected_access
- VK_EXT_pipeline_robustness
- VK_EXT_subpass_merge_feedback
- VK_KHR_cooperative_matrix
- VK_KHR_pipeline_binary
- VK_KHR_ray_tracing_pipeline
- 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_fragment_density_map_offset
- VK_QCOM_image_processing2
- VK_QCOM_render_pass_store_ops
- VK_QCOM_render_pass_transform
- VK_QCOM_rotated_copy_commands
- VK_QCOM_tile_memory_heap
- VK_QCOM_tile_properties
- VK_QCOM_tile_shading
- VK_QCOM_ycbcr_degamma
Core features that differ (6)
| multiviewGeometryShader | unsupported to pass |
| protectedMemory | pass to unsupported |
| shaderInputAttachmentArrayDynamicIndexing | pass to unsupported |
| shaderInputAttachmentArrayNonUniformIndexing | pass to unsupported |
| shaderSharedInt64Atomics | pass to unsupported |
| pipelineProtectedAccess | pass to unsupported |
Limits that differ (20)
| Limit | Stock | Custom |
|---|---|---|
| maxTexelBufferElements | 134217728 | 536870911 |
| bufferImageGranularity | 1 | 64 |
| sparseAddressSpaceSize | 4294967295 | 274877906944 |
| maxPerStageResources | 50331648 | 16777216 |
| maxDescriptorSetUniformBuffersDynamic | 32 | 16 |
| maxDescriptorSetStorageBuffersDynamic | 16 | 8 |
| maxVertexInputAttributeOffset | 4096 | 4095 |
| maxGeometryInputComponents | 128 | 64 |
| maxGeometryOutputVertices | 1024 | 256 |
| maxGeometryTotalOutputComponents | 131072 | 1024 |
| maxFragmentInputComponents | 112 | 128 |
| minMemoryMapAlignment | 64 | 4096 |
| minUniformBufferOffsetAlignment | 256 | 64 |
| minStorageBufferOffsetAlignment | 64 | 4 |
| maxFramebufferLayers | 2048 | 1024 |
| discreteQueuePriorities | 4 | 2 |
| pointSizeRange | 1, 4095 | 1, 4092 |
| optimalBufferCopyOffsetAlignment | 64 | 128 |
| optimalBufferCopyRowPitchAlignment | 64 | 128 |
| nonCoherentAtomSize | 1 | 64 |
Formats supported by only one driver (5 gained, 3 lost)
- B8G8R8A8_SSCALED
- B8G8R8A8_USCALED
- B8G8R8_SINT
- B8G8R8_SNORM
- B8G8R8_UINT
- G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
- G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
- G16_B16R16_2PLANE_420_UNORM