Turnip_v26.3.0-R5 contre Qualcomm Technologies Inc. Adreno Vulkan Driver
Sur Adreno (TM) 750 (LENOVO TB321FU, OnePlus 13R, OnePlus 13R, Redmi K70 Pro, Samsung Galaxy S24, Samsung Galaxy S24 Ultra, Samsung Galaxy S24 Ultra, Samsung Galaxy Z Flip6, Samsung Galaxy Z Fold6, Samsung Galaxy Z Fold6, ZTE REDMAGIC 9). Le premier pilote cité est comparé au second, qui sert de référence.
- hdr_2160p4% plus lent
- oit_linked_lists40% plus rapide
- pipeline_barriers68% plus rapide
- subpasses_2160p28% plus rapide
De petites zones de l'image diffèrent de celles du pilote système dans 2 scènes (pipeline_barriers : 1694 cellules sur 2304, pipeline_barriers_2160p : 1037 cellules sur 2304). L'image correspond globalement, il s'agit donc d'un défaut d'affichage local, pas d'une scène différente.
N'a pas démarré à chaque fois : compute_nbody (système 3 sur 3, personnalisé 0 sur 3).
Non comparé : 2 scènes avec une cadence plafonnée (compute_nbody, pipeline_barriers_2160p). Au moins l'un des deux pilotes était maintenu à une cadence fixe, donc les deux temps ne mesurent pas la même chose.
Détails de Qualcomm Technologies Inc. Adreno Vulkan Driver Détails de Turnip_v26.3.0-R5
Vérifications des fonctionnalités qui diffèrent (24)
| Fonctionnalité | Système | Personnalisé | Variation |
|---|---|---|---|
| core.compute_udiv | réussi | échec | perdu |
| extendedDynamicState3ColorBlendEnable | non pris en charge | réussi | gagné |
| extendedDynamicState3ColorBlendEquation | non pris en charge | réussi | gagné |
| extendedDynamicState3ColorWriteMask | non pris en charge | réussi | gagné |
| extendedDynamicState3DepthClampEnable | non pris en charge | réussi | gagné |
| extendedDynamicState3LogicOpEnable | non pris en charge | réussi | gagné |
| extendedDynamicState3PolygonMode | non pris en charge | réussi | gagné |
| extendedDynamicState3AlphaToCoverageEnable | non pris en charge | non testé | modifié |
| extendedDynamicState3AlphaToOneEnable | non pris en charge | non testé | modifié |
| extendedDynamicState3ConservativeRasterizationMode | non pris en charge | non testé | modifié |
| extendedDynamicState3DepthClipEnable | non pris en charge | non testé | modifié |
| extendedDynamicState3DepthClipNegativeOneToOne | non pris en charge | non testé | modifié |
| extendedDynamicState3ExtraPrimitiveOverestimationSize | non pris en charge | non testé | modifié |
| extendedDynamicState3LineRasterizationMode | non pris en charge | non testé | modifié |
| extendedDynamicState3ProvokingVertexMode | non pris en charge | non testé | modifié |
| extendedDynamicState3RasterizationSamples | non pris en charge | non testé | modifié |
| extendedDynamicState3RasterizationStream | non pris en charge | non testé | modifié |
| extendedDynamicState3SampleLocationsEnable | non pris en charge | non testé | modifié |
| extendedDynamicState3SampleMask | non pris en charge | non testé | modifié |
| extendedDynamicState3TessellationDomainOrigin | non pris en charge | non testé | modifié |
| shaderResourceMinLod | non pris en charge | non testé | modifié |
| shaderResourceResidency | non pris en charge | non testé | modifié |
| sparseResidency16Samples | non testé | non pris en charge | modifié |
| sparseResidencyAliased | non pris en charge | non testé | modifié |
Scènes du benchmark
Les deux pilotes n'ont pas été mesurés sur les mêmes modèles d'appareils. Des temps de frame venant d'appareils différents ne permettent pas de comparer des pilotes : lisez ces chiffres en en tenant compte.
| Scène | Système ms | Personnalisé ms | Écart | Démarrages | Fréquence du GPU, MHz | Image vs système |
|---|---|---|---|---|---|---|
| compute_nbody | n/a | non comparé | 3 sur 3 contre 0 sur 3 | ? contre ? | non vérifié | |
| hdr_2160p | 19.16 | 19.99 | 4% plus lent | 3 sur 3 contre 3 sur 3 | ? contre 903 | pas de grande différence pas de petite différence |
| oit_linked_lists | 27.91 | 19.92 | 40% plus rapide | 3 sur 3 contre 3 sur 3 | ? contre 1000 | pas de grande différence pas de petite différence |
| pipeline_barriers | 3.87 | 2.30 | 68% plus rapide | 3 sur 3 contre 3 sur 3 | ? contre 896 | pas de grande différence diffère dans 1694 petites zones |
| pipeline_barriers_2160p | 6.53 | non comparé | 3 sur 3 contre 3 sur 3 | ? contre 791 | pas de grande différence diffère dans 1037 petites zones | |
| subpasses | 4.07 | n/a | trop légère, voir subpasses_2160p | 3 sur 3 contre 3 sur 3 | ? contre 952 | non vérifié |
| subpasses_2160p | 13.41 | 10.44 | 28% plus rapide | 3 sur 3 contre 3 sur 3 | ? contre 935 | non vérifié |
Différences techniques (Vulkan)
Extensions uniquement dans Turnip_v26.3.0-R5 (55)
- 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_descriptor_buffer
- 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_graphics_pipeline_library
- VK_EXT_host_image_copy
- VK_EXT_image_compression_control
- VK_EXT_image_drm_format_modifier
- VK_EXT_legacy_dithering
- VK_EXT_legacy_vertex_attributes
- VK_EXT_map_memory_placed
- VK_EXT_memory_budget
- VK_EXT_multi_draw
- VK_EXT_mutable_descriptor_type
- VK_EXT_nested_command_buffer
- VK_EXT_non_seamless_cube_map
- VK_EXT_primitive_restart_index
- VK_EXT_primitives_generated_query
- VK_EXT_rasterization_order_attachment_access
- VK_EXT_shader_image_atomic_int64
- VK_EXT_shader_replicated_composites
- VK_EXT_shader_subgroup_vote
- VK_EXT_shader_uniform_buffer_unsized_array
- VK_EXT_zero_initialize_device_memory
- VK_GOOGLE_decorate_string
- VK_GOOGLE_hlsl_functionality1
- VK_KHR_calibrated_timestamps
- VK_KHR_compute_shader_derivatives
- 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_pipeline_library
- VK_KHR_ray_tracing_maintenance1
- VK_KHR_shader_expect_assume
- VK_KHR_shader_float_controls2
- VK_KHR_shader_relaxed_extended_instruction
- VK_KHR_shader_subgroup_rotate
- VK_KHR_swapchain_mutable_format
- VK_KHR_vertex_attribute_divisor
- VK_NV_compute_shader_derivatives
- VK_VALVE_fragment_density_map_layered
- VK_VALVE_mutable_descriptor_type
Extensions uniquement dans Qualcomm Technologies Inc. Adreno Vulkan Driver (10)
- VK_EXT_astc_decode_mode
- VK_EXT_blend_operation_advanced
- VK_EXT_device_fault
- VK_EXT_fragment_density_map2
- VK_KHR_shared_presentable_image
- VK_NV_optical_flow
- VK_QCOM_render_pass_store_ops
- VK_QCOM_render_pass_transform
- VK_QCOM_rotated_copy_commands
- VK_QCOM_tile_properties
Fonctionnalités de base qui diffèrent (20)
| multiviewGeometryShader | non pris en charge à réussi |
| protectedMemory | réussi à non pris en charge |
| shaderInputAttachmentArrayDynamicIndexing | réussi à non pris en charge |
| shaderInputAttachmentArrayNonUniformIndexing | réussi à non pris en charge |
| bresenhamLines | non pris en charge à réussi |
| dynamicRenderingLocalRead | non pris en charge à réussi |
| globalPriorityQuery | non pris en charge à réussi |
| hostImageCopy | non pris en charge à réussi |
| indexTypeUint8 | non pris en charge à réussi |
| maintenance5 | non pris en charge à réussi |
| maintenance6 | non pris en charge à réussi |
| pipelineRobustness | non pris en charge à réussi |
| pushDescriptor | non pris en charge à réussi |
| rectangularLines | non pris en charge à réussi |
| shaderExpectAssume | non pris en charge à réussi |
| shaderFloatControls2 | non pris en charge à réussi |
| shaderSubgroupRotate | non pris en charge à réussi |
| shaderSubgroupRotateClustered | non pris en charge à réussi |
| vertexAttributeInstanceRateDivisor | non pris en charge à réussi |
| vertexAttributeInstanceRateZeroDivisor | non pris en charge à réussi |
Limites qui diffèrent (20)
| Limite | Système | Personnalisé |
|---|---|---|
| bufferImageGranularity | 1 | 64 |
| sparseAddressSpaceSize | 562949953421311 | 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 |
| maxComputeWorkGroupInvocations | 1024 | 2048 |
| minMemoryMapAlignment | 64 | 4096 |
| minUniformBufferOffsetAlignment | 256 | 64 |
| minStorageBufferOffsetAlignment | 64 | 4 |
| maxFramebufferLayers | 2048 | 1024 |
| discreteQueuePriorities | 3 | 2 |
| pointSizeRange | 1, 4095 | 1, 4092 |
| optimalBufferCopyOffsetAlignment | 64 | 128 |
| optimalBufferCopyRowPitchAlignment | 64 | 128 |
| nonCoherentAtomSize | 1 | 64 |
Formats pris en charge par un seul pilote (31 gagnés, 1 perdus)
- A1B5G5R5_UNORM_PACK16
- A2B10G10R10_SSCALED_PACK32
- A2B10G10R10_USCALED_PACK32
- A2R10G10B10_SSCALED_PACK32
- A2R10G10B10_USCALED_PACK32
- A8B8G8R8_SSCALED_PACK32
- A8B8G8R8_USCALED_PACK32
- A8_UNORM
- B8G8R8A8_SSCALED
- B8G8R8A8_USCALED
- B8G8R8_SINT
- B8G8R8_SNORM
- B8G8R8_UINT
- R16G16B16A16_SSCALED
- R16G16B16A16_USCALED
- R16G16B16_SSCALED
- R16G16B16_USCALED
- R16G16_SSCALED
- R16G16_USCALED
- R16_SSCALED
- R16_USCALED
- R64_SINT
- R64_UINT
- R8G8B8A8_SSCALED
- R8G8B8A8_USCALED
- R8G8B8_SSCALED
- R8G8B8_USCALED
- R8G8_SSCALED
- R8G8_USCALED
- R8_SSCALED
- R8_USCALED
- G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16