v37_Turnip_Gen8_V37_patch vs v891.7
On Adreno (TM) 825 (Nothing Phone (3), OnePlus Nord 6, Oppo K13 Turbo Pro 5G, Poco F7, Poco F7, REDMI Turbo 4 Pro). The first driver named is compared against the second, which is the baseline.
Stockv891.7
vsCustomv37_Turnip_Gen8_V37_patch
Graphics system version (Vulkan)1.3.351 to 1.4.363
Optional features (extensions)184 to 180+24 -28
Features that pass their check (validated)not tested on bothv891.7: no driver check yet
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
v891.7 details v37_Turnip_Gen8_V37_patch details
Feature checks that differ
v891.7: no driver check (validation report) yet. Both drivers need a driver check before their feature checks can be compared.
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 | v891.7 ms | v37_Turnip_Gen8_V37_patch ms | Difference | Starts | GPU clock, MHz | Picture vs stock |
|---|---|---|---|---|---|---|
| hdr_2160p | n/a | n/a | only one side | ? vs 3 of 3 | ? vs ? | not checked |
| oit_linked_lists | n/a | 17.68 | only one side | ? vs 3 of 3 | ? vs ? | not checked |
| pipeline_barriers | n/a | 2.98 | only one side | ? vs 3 of 3 | ? vs ? | not checked |
| pipeline_barriers_2160p | n/a | 8.35 | only one side | ? vs 3 of 3 | ? vs ? | not checked |
| subpasses | n/a | 3.90 | only one side | ? vs 3 of 3 | ? vs ? | not checked |
| subpasses_2160p | n/a | 14.85 | only one side | ? vs 3 of 3 | ? vs ? | not checked |
Technical differences (Vulkan)
Extensions only in v37_Turnip_Gen8_V37_patch (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_dynamic_rendering_unused_attachments
- VK_EXT_extended_dynamic_state3
- VK_EXT_fragment_density_map_offset
- VK_EXT_image_drm_format_modifier
- VK_EXT_legacy_vertex_attributes
- VK_EXT_memory_budget
- VK_EXT_mesh_shader
- VK_EXT_primitive_restart_index
- VK_EXT_shader_replicated_composites
- VK_EXT_shader_uniform_buffer_unsized_array
- 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
Extensions only in v891.7 (28)
- 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_fragment_shader_interlock
- VK_EXT_image_compression_control_swapchain
- VK_EXT_memory_decompression
- VK_EXT_pipeline_protected_access
- VK_EXT_pipeline_robustness
- VK_EXT_subpass_merge_feedback
- VK_EXT_vertex_attribute_robustness
- VK_KHR_pipeline_binary
- VK_KHR_ray_tracing_position_fetch
- VK_KHR_shader_maximal_reconvergence
- VK_KHR_shared_presentable_image
- VK_NV_optical_flow
- VK_QCOM_elapsed_timer_query
- VK_QCOM_filter_cubic_weights
- VK_QCOM_image_processing2
- VK_QCOM_image_processing3
- 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 | unsupported to pass |
| protectedMemory | pass to unsupported |
| shaderInputAttachmentArrayDynamicIndexing | pass to unsupported |
| shaderInputAttachmentArrayNonUniformIndexing | pass to unsupported |
| bresenhamLines | unsupported to pass |
| dynamicRenderingLocalRead | unsupported to pass |
| globalPriorityQuery | unsupported to pass |
| hostImageCopy | unsupported to pass |
| indexTypeUint8 | unsupported to pass |
| maintenance5 | unsupported to pass |
| maintenance6 | unsupported to pass |
| pipelineRobustness | unsupported to pass |
| pushDescriptor | unsupported to pass |
| rectangularLines | unsupported to pass |
| shaderExpectAssume | unsupported to pass |
| shaderFloatControls2 | unsupported to pass |
| shaderSubgroupRotate | unsupported to pass |
| shaderSubgroupRotateClustered | unsupported to pass |
| vertexAttributeInstanceRateDivisor | unsupported to pass |
| vertexAttributeInstanceRateZeroDivisor | unsupported to pass |
Limits that differ (20)
| Limit | v891.7 | v37_Turnip_Gen8_V37_patch |
|---|---|---|
| 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 | 16 | 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