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.
- compute_nbody_2x20% schneller
- hdr_2160p27% schneller
- oit_linked_lists53% schneller
- pipeline_barriers_2160p7% schneller
Kleine Bildbereiche weichen vom System-Treiber ab in 2 Szenen (pipeline_barriers: 1502 von 2304 Zellen, pipeline_barriers_2160p: 1463 von 2304 Zellen). Das Bild stimmt insgesamt überein, es ist also ein lokaler Darstellungsfehler und keine andere Szene.
Qualcomm Technologies Inc. Adreno Vulkan Driver: Details Turnip_Gen8_V38: Details
Feature-Checks mit Unterschieden (29)
| Feature | System | Custom | Änderung |
|---|---|---|---|
| compat.nested_map | bestanden | Crash | verloren |
| core.compute_udiv | bestanden | fehlgeschlagen | verloren |
| stress.scratch_per_batch | bestanden | nicht getestet | 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 |
| 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 |
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.95 | n/a | zu leicht, siehe compute_nbody_2x | 3 von 3 vs. 3 von 3 | ? vs. ? | kein großer Unterschied kein kleiner Unterschied |
| compute_nbody_2x | 12.68 | 10.55 | 20% schneller | 3 von 3 vs. 3 von 3 | ? vs. ? | kein großer Unterschied kein kleiner Unterschied |
| hdr_2160p | 11.32 | 8.91 | 27% schneller | 3 von 3 vs. 3 von 3 | ? vs. ? | kein großer Unterschied kein kleiner Unterschied |
| oit_linked_lists | 19.66 | 12.89 | 53% schneller | 3 von 3 vs. 3 von 3 | ? vs. ? | kein großer Unterschied kein kleiner Unterschied |
| pipeline_barriers | 2.78 | 1.56 | zu leicht, siehe pipeline_barriers_2160p | 3 von 3 vs. 3 von 3 | ? vs. ? | kein großer Unterschied weicht in 1502 kleinen Bereichen ab |
| pipeline_barriers_2160p | 7.17 | 6.71 | 7% schneller | 3 von 3 vs. 3 von 3 | ? vs. ? | kein großer Unterschied weicht in 1463 kleinen Bereichen ab |
| subpasses | n/a | n/a | nur eine Seite | 3 von 3 vs. 3 von 3 | ? vs. ? | nicht geprüft |
| subpasses_2160p | 15.18 | 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