Turnip_Gen8_V38 vs. Qualcomm Technologies Inc. Adreno Vulkan Driver
Auf Adreno (TM) 840 (HONOR Magic8 pro, iQOO 15, LENOVO TB324ZC, nubia NX809J, OnePlus 15, POCO F8 Ultra, POCO F9 Ultra, realme RMX5210, 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 17, Xiaomi 2512BPNDAG). Der zuerst genannte Treiber wird mit dem zweiten verglichen, der die Referenz ist.
- hdr_2160p88% schneller
- oit_linked_lists24% schneller
- pipeline_barriers_2160p13% langsamer
Kleine Bildbereiche weichen vom System-Treiber ab in 2 Szenen (pipeline_barriers: 1605 von 2304 Zellen, pipeline_barriers_2160p: 1207 von 2304 Zellen). Das Bild stimmt insgesamt überein, es ist also ein lokaler Darstellungsfehler und keine andere Szene.
Nicht verglichen: 2 Szenen mit gedeckelter Framerate (pipeline_barriers, subpasses). Mindestens einer der beiden Treiber war dort auf eine feste Framerate gedeckelt, deshalb messen die beiden Zeiten nicht dasselbe.
Qualcomm Technologies Inc. Adreno Vulkan Driver: Details Turnip_Gen8_V38: Details
Feature-Checks mit Unterschieden (42)
| Feature | System | Custom | Änderung |
|---|---|---|---|
| core.compute_udiv | bestanden | fehlgeschlagen | verloren |
| extendedDynamicState3ColorBlendEnable | nicht unterstützt | bestanden | dazugekommen |
| extendedDynamicState3ColorBlendEquation | nicht unterstützt | bestanden | dazugekommen |
| extendedDynamicState3ColorWriteMask | nicht unterstützt | bestanden | dazugekommen |
| extendedDynamicState3DepthClampEnable | nicht unterstützt | bestanden | dazugekommen |
| extendedDynamicState3LogicOpEnable | nicht unterstützt | bestanden | dazugekommen |
| extendedDynamicState3PolygonMode | nicht unterstützt | bestanden | dazugekommen |
| depthClamp | nicht getestet | bestanden | dazugekommen |
| largePoints | nicht getestet | bestanden | dazugekommen |
| compat.helper_loop_terminator | nicht getestet | bestanden | dazugekommen |
| core.blend_advertised_formats | nicht getestet | bestanden | dazugekommen |
| core.compute_big_stack | nicht getestet | bestanden | dazugekommen |
| core.host_coherent_readback | nicht getestet | bestanden | dazugekommen |
| core.mrt_partial_kill | nicht getestet | bestanden | dazugekommen |
| core.ubo_update_buffer | nicht getestet | bestanden | dazugekommen |
| core.ubo_written_after_record | nicht getestet | bestanden | dazugekommen |
| core.varying_subset | nicht getestet | bestanden | dazugekommen |
| mem.image_padding | nicht getestet | bestanden | dazugekommen |
| perf.fb_local_barrier_large_draws | nicht getestet | bestanden | dazugekommen |
| perf.fb_local_barrier_overdraw | nicht getestet | bestanden | dazugekommen |
| stage.geometry_max_output | nicht getestet | bestanden | dazugekommen |
| stage.geometry_point_size | nicht getestet | bestanden | dazugekommen |
| sync.first_submit_clear_then_compute | nicht getestet | bestanden | dazugekommen |
| extendedDynamicState3AlphaToCoverageEnable | nicht unterstützt | nicht getestet | geändert |
| extendedDynamicState3AlphaToOneEnable | nicht unterstützt | nicht getestet | geändert |
| extendedDynamicState3ConservativeRasterizationMode | nicht unterstützt | nicht getestet | geändert |
| extendedDynamicState3DepthClipEnable | nicht unterstützt | nicht getestet | geändert |
| extendedDynamicState3DepthClipNegativeOneToOne | nicht unterstützt | nicht getestet | geändert |
| extendedDynamicState3ExtraPrimitiveOverestimationSize | nicht unterstützt | nicht getestet | geändert |
| extendedDynamicState3LineRasterizationMode | nicht unterstützt | nicht getestet | geändert |
| extendedDynamicState3ProvokingVertexMode | nicht unterstützt | nicht getestet | geändert |
| extendedDynamicState3RasterizationSamples | nicht unterstützt | nicht getestet | geändert |
| extendedDynamicState3RasterizationStream | nicht unterstützt | nicht getestet | geändert |
| extendedDynamicState3SampleLocationsEnable | nicht unterstützt | nicht getestet | geändert |
| extendedDynamicState3SampleMask | nicht unterstützt | nicht getestet | geändert |
| extendedDynamicState3TessellationDomainOrigin | nicht unterstützt | nicht getestet | geändert |
| shaderSharedInt64Atomics | nicht getestet | nicht unterstützt | geändert |
| shaderResourceMinLod | nicht unterstützt | nicht getestet | geändert |
| shaderResourceResidency | nicht unterstützt | nicht getestet | geändert |
| sparseResidency16Samples | nicht getestet | nicht unterstützt | geändert |
| sparseResidencyAliased | nicht unterstützt | nicht getestet | geändert |
| compat.nested_map | nicht getestet | Crash | geändert |
Benchmark-Szenen
Die beiden Treiber wurden nicht auf denselben Gerätemodellen gemessen. Frametimes von verschiedenen Geräten vergleichen keine Treiber, lies diese Werte also mit Vorsicht.
| Szene | System ms | Custom ms | Unterschied | Starts | GPU-Takt, MHz | Bild vs. System-Treiber |
|---|---|---|---|---|---|---|
| compute_nbody | 5.91 | n/a | nur eine Seite | 3 von 3 vs. 3 von 3 | ? vs. ? | kein großer Unterschied kein kleiner Unterschied |
| compute_nbody_2x | n/a | 10.64 | nur eine Seite | 3 von 3 vs. 3 von 3 | ? vs. ? | kein großer Unterschied kein kleiner Unterschied |
| hdr_2160p | 16.73 | 8.91 | 88% schneller | 3 von 3 vs. 3 von 3 | ? vs. ? | kein großer Unterschied kein kleiner Unterschied |
| oit_linked_lists | 16.03 | 12.89 | 24% schneller | 3 von 3 vs. 3 von 3 | ? vs. ? | kein großer Unterschied kein kleiner Unterschied |
| pipeline_barriers | 1.56 | zu leicht, siehe pipeline_barriers_2160p | 3 von 3 vs. 3 von 3 | ? vs. ? | kein großer Unterschied weicht in 1605 kleinen Bereichen ab | |
| pipeline_barriers_2160p | 5.82 | 6.71 | 13% langsamer | 3 von 3 vs. 3 von 3 | ? vs. ? | kein großer Unterschied weicht in 1207 kleinen Bereichen ab |
| subpasses | n/a | nicht verglichen | 3 von 3 vs. 3 von 3 | ? vs. ? | nicht geprüft | |
| subpasses_2160p | 11.95 | n/a | nur eine Seite | 3 von 3 vs. 3 von 3 | ? vs. ? | nicht geprüft |
Technische Unterschiede (Vulkan)
Extensions nur in Turnip_Gen8_V38 (33)
- 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_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_non_seamless_cube_map
- VK_EXT_present_mode_fifo_latest_ready
- VK_EXT_present_timing
- 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_present_id
- VK_KHR_present_id2
- VK_KHR_present_wait2
- VK_KHR_shader_relaxed_extended_instruction
- VK_KHR_swapchain_maintenance1
- VK_NV_compute_shader_derivatives
- VK_VALVE_buffer_device_address_allocation_alignment
- VK_VALVE_fragment_density_map_layered
- VK_VALVE_mutable_descriptor_type
Extensions nur in Qualcomm Technologies Inc. Adreno Vulkan Driver (31)
- VK_ANDROID_external_format_resolve
- VK_ARM_data_graph
- VK_ARM_tensors
- 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_mesh_shader
- VK_EXT_pipeline_protected_access
- VK_EXT_pipeline_robustness
- VK_EXT_shader_subgroup_ballot
- 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_shared_presentable_image
- VK_NV_optical_flow
- VK_QCOM_data_graph_model
- VK_QCOM_filter_cubic_weights
- VK_QCOM_image_processing2
- VK_QCOM_render_pass_store_ops
- VK_QCOM_render_pass_transform
- VK_QCOM_tile_memory_heap
- VK_QCOM_tile_properties
- VK_QCOM_tile_shading
- VK_QCOM_ycbcr_degamma
Kern-Features mit Unterschieden (6)
| multiviewGeometryShader | nicht unterstützt → bestanden |
| protectedMemory | bestanden → nicht unterstützt |
| shaderInputAttachmentArrayDynamicIndexing | bestanden → nicht unterstützt |
| shaderInputAttachmentArrayNonUniformIndexing | bestanden → nicht unterstützt |
| shaderSharedInt64Atomics | bestanden → nicht unterstützt |
| pipelineProtectedAccess | bestanden → nicht unterstützt |
Limits mit Unterschieden (22)
| Limit | System | 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 |
| maxComputeSharedMemorySize | 32768 | 65536 |
| maxComputeWorkGroupInvocations | 1024 | 2048 |
| 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 |
Formate, die nur ein Treiber unterstützt (5 dazugekommen, 3 verloren)
- 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