turnip_faux123_v1.2.5 vs turnip_mrpurple-EOL-24.3.4
On Adreno (TM) 619 (Motorola moto g34 5G, Motorola moto g45 5G, Motorola moto g84 5G, realme 10 Pro 5G). The first driver named is compared against the second, which is the baseline.
Stockturnip_mrpurple-EOL-24.3.4
vsCustomturnip_faux123_v1.2.5
Graphics system version (Vulkan)1.3.296 to 1.3.359
Optional features (extensions)124 to 158+35 -1
Features that pass their check (validated)65 to 694 pass only on turnip_faux123_v1.2.5 0 pass only on turnip_mrpurple-EOL-24.3.4
Speed test scenes (benchmark)2 faster 1 slower 1 even12% 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_2160p1% slower
- oit_linked_lists4% slower
- pipeline_barriers31% faster
- subpasses24% faster
Small areas of the picture differ from the stock driver in 1 scene (pipeline_barriers: 1484 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 0 of 3, custom 3 of 3).
turnip_mrpurple-EOL-24.3.4 details turnip_faux123_v1.2.5 details
Feature checks that differ (23)
| Feature | turnip_mrpurple-EOL-24.3.4 | turnip_faux123_v1.2.5 | Change |
|---|---|---|---|
| compat.nested_map | crash | pass | gained |
| core.compute_udiv | fail | pass | gained |
| core.copy_wide_row_length | fail | pass | gained |
| stress.spill_helper_lanes | untested | pass | gained |
| extendedDynamicState3ColorBlendAdvanced | untested | unsupported | changed |
| extendedDynamicState3ConservativeRasterizationMode | untested | unsupported | changed |
| extendedDynamicState3CoverageModulationMode | untested | unsupported | changed |
| extendedDynamicState3CoverageModulationTable | untested | unsupported | changed |
| extendedDynamicState3CoverageModulationTableEnable | untested | unsupported | changed |
| extendedDynamicState3CoverageReductionMode | untested | unsupported | changed |
| extendedDynamicState3CoverageToColorEnable | untested | unsupported | changed |
| extendedDynamicState3CoverageToColorLocation | untested | unsupported | changed |
| extendedDynamicState3ExtraPrimitiveOverestimationSize | untested | unsupported | changed |
| extendedDynamicState3LineStippleEnable | untested | unsupported | changed |
| extendedDynamicState3RepresentativeFragmentTestEnable | untested | unsupported | changed |
| extendedDynamicState3ShadingRateImageEnable | untested | unsupported | changed |
| extendedDynamicState3ViewportSwizzle | untested | unsupported | changed |
| extendedDynamicState3ViewportWScalingEnable | untested | unsupported | changed |
| shaderFloat64 | untested | unsupported | changed |
| shaderResourceMinLod | unsupported | untested | changed |
| shaderStorageImageMultisample | untested | unsupported | changed |
| sparseBinding | untested | unsupported | changed |
| stress.many_command_buffers_one_submit | untested | fail | changed |
Speed test scenes (benchmark)
| Scene | turnip_mrpurple-EOL-24.3.4 ms | turnip_faux123_v1.2.5 ms | Difference | Starts | GPU clock, MHz | Picture vs stock |
|---|---|---|---|---|---|---|
| compute_nbody | n/a | 28.03 | only one side | 0 of 3 vs 3 of 3 | ? vs ? | not checked |
| hdr_2160p | 116.97 | 118.53 | 1% slower | 3 of 3 vs 3 of 3 | ? vs ? | no large difference no small difference |
| oit_linked_lists | 55.09 | 57.13 | 4% slower | 3 of 3 vs 3 of 3 | ? vs ? | no large difference no small difference |
| pipeline_barriers | 25.28 | 19.24 | 31% faster | 3 of 3 vs 3 of 3 | ? vs ? | no large difference differs in 1484 small areas |
| subpasses | 36.80 | 29.74 | 24% faster | 3 of 3 vs 3 of 3 | ? vs ? | not checked |
Technical differences (Vulkan)
Extensions only in turnip_faux123_v1.2.5 (35)
- VK_EXT_custom_resolve
- VK_EXT_debug_marker
- VK_EXT_depth_clamp_control
- VK_EXT_device_memory_report
- VK_EXT_dynamic_rendering_unused_attachments
- VK_EXT_fragment_density_map_offset
- VK_EXT_hdr_metadata
- VK_EXT_image_compression_control
- VK_EXT_multisampled_render_to_single_sampled
- VK_EXT_primitive_restart_index
- VK_EXT_shader_atomic_float
- VK_EXT_shader_uniform_buffer_unsized_array
- VK_EXT_texture_compression_astc_hdr
- VK_EXT_zero_initialize_device_memory
- VK_KHR_compute_shader_derivatives
- VK_KHR_deferred_host_operations
- VK_KHR_dynamic_rendering_local_read
- VK_KHR_index_type_uint8
- VK_KHR_line_rasterization
- VK_KHR_load_store_op_none
- VK_KHR_maintenance5
- VK_KHR_maintenance6
- VK_KHR_maintenance7
- VK_KHR_map_memory2
- VK_KHR_shader_clock
- VK_KHR_shader_expect_assume
- VK_KHR_shader_float_controls2
- VK_KHR_shader_relaxed_extended_instruction
- VK_KHR_shader_subgroup_rotate
- VK_KHR_vertex_attribute_divisor
- VK_NV_compute_shader_derivatives
- VK_QCOM_fragment_density_map_offset
- VK_QCOM_multiview_per_view_render_areas
- VK_QCOM_render_pass_shader_resolve
- VK_VALVE_fragment_density_map_layered
Extensions only in turnip_mrpurple-EOL-24.3.4 (1)
- VK_EXT_post_depth_coverage
Core features that differ (12)
| multiviewGeometryShader | pass to unsupported |
| multiviewTessellationShader | pass to unsupported |
| protectedMemory | pass to unsupported |
| storageInputOutput16 | pass to unsupported |
| storagePushConstant16 | pass to unsupported |
| uniformAndStorageBuffer16BitAccess | pass to unsupported |
| bufferDeviceAddressMultiDevice | pass to unsupported |
| shaderInputAttachmentArrayDynamicIndexing | pass to unsupported |
| shaderInputAttachmentArrayNonUniformIndexing | pass to unsupported |
| shaderSharedInt64Atomics | pass to unsupported |
| storagePushConstant8 | pass to unsupported |
| uniformAndStorageBuffer8BitAccess | pass to unsupported |
Limits that differ (2)
| Limit | turnip_mrpurple-EOL-24.3.4 | turnip_faux123_v1.2.5 |
|---|---|---|
| maxFragmentInputComponents | 124 | 128 |
| timestampPeriod | 33.1126 | 52.0833 |
Formats supported by only one driver (20 gained, 0 lost)
- A1B5G5R5_UNORM_PACK16
- A8_UNORM
- ASTC_10x10_SFLOAT_BLOCK
- ASTC_10x5_SFLOAT_BLOCK
- ASTC_10x6_SFLOAT_BLOCK
- ASTC_10x8_SFLOAT_BLOCK
- ASTC_12x10_SFLOAT_BLOCK
- ASTC_12x12_SFLOAT_BLOCK
- ASTC_4x4_SFLOAT_BLOCK
- ASTC_5x4_SFLOAT_BLOCK
- ASTC_5x5_SFLOAT_BLOCK
- ASTC_6x5_SFLOAT_BLOCK
- ASTC_6x6_SFLOAT_BLOCK
- ASTC_8x5_SFLOAT_BLOCK
- ASTC_8x6_SFLOAT_BLOCK
- ASTC_8x8_SFLOAT_BLOCK
- B8G8R8_SINT
- B8G8R8_SNORM
- B8G8R8_UINT
- B8G8R8_UNORM
- None