Qualcomm_849_adpkg vs Turnip_Gen8_V37
On Adreno (TM) 830 (AYANEO Pocket FIT Elite, HONOR AAK-AN00, HONOR Magic V5, nubia NX789J, OnePlus 13, OnePlus 13, OnePlus 13s, POCO F8 Pro, realme GT 7 Pro, Samsung Galaxy S25, Samsung Galaxy S25 Ultra, Samsung Galaxy S25 Ultra, Samsung Galaxy S25 Ultra, Samsung Galaxy S25+, Xiaomi 15, Xiaomi 15 Ultra, ZTE NP05J). The first driver named is compared against the second, which is the baseline.
StockTurnip_Gen8_V37
vsCustomQualcomm_849_adpkg
Graphics system version (Vulkan)1.4.363 to 1.4.295
Optional features (extensions)178 to 177+27 -28
Features that pass their check (validated)49 to 441 pass only on Qualcomm_849_adpkg 6 pass only on Turnip_Gen8_V37
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
Turnip_Gen8_V37 details Qualcomm_849_adpkg details
Feature checks that differ (24)
| Feature | Turnip_Gen8_V37 | Qualcomm_849_adpkg | Change |
|---|---|---|---|
| extendedDynamicState3ColorBlendEnable | pass | unsupported | lost |
| extendedDynamicState3ColorBlendEquation | pass | unsupported | lost |
| extendedDynamicState3ColorWriteMask | pass | unsupported | lost |
| extendedDynamicState3DepthClampEnable | pass | unsupported | lost |
| extendedDynamicState3LogicOpEnable | pass | unsupported | lost |
| extendedDynamicState3PolygonMode | pass | unsupported | lost |
| core.compute_udiv | fail | pass | gained |
| extendedDynamicState3AlphaToCoverageEnable | untested | unsupported | changed |
| extendedDynamicState3AlphaToOneEnable | untested | unsupported | changed |
| extendedDynamicState3ConservativeRasterizationMode | untested | unsupported | changed |
| extendedDynamicState3DepthClipEnable | untested | unsupported | changed |
| extendedDynamicState3DepthClipNegativeOneToOne | untested | unsupported | changed |
| extendedDynamicState3ExtraPrimitiveOverestimationSize | untested | unsupported | changed |
| extendedDynamicState3LineRasterizationMode | untested | unsupported | changed |
| extendedDynamicState3ProvokingVertexMode | untested | unsupported | changed |
| extendedDynamicState3RasterizationSamples | untested | unsupported | changed |
| extendedDynamicState3RasterizationStream | untested | unsupported | changed |
| extendedDynamicState3SampleLocationsEnable | untested | unsupported | changed |
| extendedDynamicState3SampleMask | untested | unsupported | changed |
| extendedDynamicState3TessellationDomainOrigin | untested | unsupported | changed |
| shaderResourceMinLod | untested | unsupported | changed |
| shaderResourceResidency | untested | unsupported | changed |
| sparseResidency16Samples | unsupported | untested | changed |
| sparseResidencyAliased | untested | unsupported | 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 | Turnip_Gen8_V37 ms | Qualcomm_849_adpkg ms | Difference | Starts | GPU clock, MHz | Picture vs stock |
|---|---|---|---|---|---|---|
| compute_nbody | n/a | n/a | only one side | 3 of 3 vs ? | 967 vs ? | not checked |
| compute_nbody_2x | 22.25 | n/a | only one side | 3 of 3 vs ? | 734 vs ? | not checked |
| hdr_2160p | 20.44 | n/a | only one side | 3 of 3 vs ? | 722 vs ? | not checked |
| oit_linked_lists | 21.24 | n/a | only one side | 3 of 3 vs ? | 1200 vs ? | not checked |
| pipeline_barriers | 1.70 | n/a | only one side | 3 of 3 vs ? | 880 vs ? | not checked |
| pipeline_barriers_2160p | 8.72 | n/a | only one side | 3 of 3 vs ? | 734 vs ? | not checked |
| subpasses | 2.77 | n/a | only one side | 3 of 3 vs ? | 967 vs ? | not checked |
| subpasses_2160p | 14.10 | n/a | only one side | 3 of 3 vs ? | 767 vs ? | not checked |
Technical differences (Vulkan)
Extensions only in Qualcomm_849_adpkg (27)
- 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_swapchain
- VK_EXT_pipeline_protected_access
- VK_EXT_pipeline_robustness
- VK_EXT_shader_subgroup_ballot
- VK_EXT_subpass_merge_feedback
- VK_KHR_pipeline_binary
- VK_KHR_ray_tracing_pipeline
- VK_KHR_ray_tracing_position_fetch
- VK_KHR_shader_maximal_reconvergence
- 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_memory_heap
- VK_QCOM_tile_properties
- VK_QCOM_tile_shading
- VK_QCOM_ycbcr_degamma
Extensions only in Turnip_Gen8_V37 (28)
- 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_image_drm_format_modifier
- VK_EXT_legacy_dithering
- VK_EXT_legacy_vertex_attributes
- VK_EXT_memory_budget
- VK_EXT_nested_command_buffer
- 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_maintenance7
- VK_KHR_shader_relaxed_extended_instruction
- VK_NV_compute_shader_derivatives
- VK_VALVE_buffer_device_address_allocation_alignment
- VK_VALVE_fragment_density_map_layered
- VK_VALVE_mutable_descriptor_type
Core features that differ (5)
| multiviewGeometryShader | pass to unsupported |
| protectedMemory | unsupported to pass |
| shaderInputAttachmentArrayDynamicIndexing | unsupported to pass |
| shaderInputAttachmentArrayNonUniformIndexing | unsupported to pass |
| pipelineProtectedAccess | unsupported to pass |
Limits that differ (22)
| Limit | Turnip_Gen8_V37 | Qualcomm_849_adpkg |
|---|---|---|
| maxTexelBufferElements | 536870911 | 134217728 |
| bufferImageGranularity | 64 | 1 |
| sparseAddressSpaceSize | 274877906944 | 4294967295 |
| maxPerStageResources | 16777216 | 50331648 |
| maxDescriptorSetUniformBuffersDynamic | 16 | 32 |
| maxDescriptorSetStorageBuffersDynamic | 8 | 16 |
| maxVertexInputAttributeOffset | 4095 | 4096 |
| maxGeometryInputComponents | 64 | 128 |
| maxGeometryOutputVertices | 256 | 1024 |
| maxGeometryTotalOutputComponents | 1024 | 131072 |
| maxFragmentInputComponents | 128 | 112 |
| maxComputeSharedMemorySize | 65536 | 32768 |
| maxComputeWorkGroupInvocations | 2048 | 1024 |
| minMemoryMapAlignment | 4096 | 64 |
| minUniformBufferOffsetAlignment | 64 | 256 |
| minStorageBufferOffsetAlignment | 4 | 64 |
| maxFramebufferLayers | 1024 | 2048 |
| discreteQueuePriorities | 2 | 4 |
| pointSizeRange | 1, 4092 | 1, 4095 |
| optimalBufferCopyOffsetAlignment | 128 | 64 |
| optimalBufferCopyRowPitchAlignment | 128 | 64 |
| nonCoherentAtomSize | 64 | 1 |
Formats supported by only one driver (3 gained, 5 lost)
- G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
- G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
- G16_B16R16_2PLANE_420_UNORM
- B8G8R8A8_SSCALED
- B8G8R8A8_USCALED
- B8G8R8_SINT
- B8G8R8_SNORM
- B8G8R8_UINT