turnip_faux123_v1.2.1-rc4 contre Qualcomm Technologies Inc. Adreno Vulkan Driver
Sur Adreno (TM) 650 (blackshark SHARK PAR-A0, MANGMI Pocket Max, Moorechip Retroid Pocket 5, Moorechip Retroid Pocket Flip2, motorola moto g(100), POCO F3, POCO F4, Samsung Galaxy S20 FE, Samsung Galaxy S20 FE 5G, Samsung Galaxy S20 FE 5G, Samsung Galaxy S20+ 5G, Samsung Galaxy Tab S7+, Sony Xperia 5 II, Xiaomi Mi 10 Ultra, Xiaomi Pad 6). Le premier pilote cité est comparé au second, qui sert de référence.
- compute_nbody7% plus lent
- hdr_2160p23% plus lent
- oit_linked_lists13% plus lent
- pipeline_barriers_2160p10% plus lent
- subpasses13% plus lent
De petites zones de l'image diffèrent de celles du pilote système dans 2 scènes (pipeline_barriers : 1261 cellules sur 2304, pipeline_barriers_2160p : 1211 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.
Détails de Qualcomm Technologies Inc. Adreno Vulkan Driver Détails de turnip_faux123_v1.2.1-rc4
Vérifications des fonctionnalités qui diffèrent (37)
| Fonctionnalité | Système | Personnalisé | Variation |
|---|---|---|---|
| borderColorSwizzle | non pris en charge | réussi | gagné |
| colorWriteEnable | non pris en charge | réussi | gagné |
| depthClipControl | non pris en charge | réussi | gagné |
| extendedDynamicState2 | non pris en charge | réussi | gagné |
| extendedDynamicState2LogicOp | non pris en charge | réussi | gagné |
| 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é |
| inlineUniformBlock | non pris en charge | réussi | gagné |
| depthClamp | non testé | réussi | gagné |
| largePoints | non testé | réussi | gagné |
| core.copy_wide_row_length | échec | réussi | gagné |
| perf.fb_local_barrier_large_draws | non testé | réussi | gagné |
| perf.fb_local_barrier_overdraw | non testé | réussi | gagné |
| stress.scratch_per_batch | non testé | réussi | gagné |
| stress.spill_helper_lanes | non testé | réussi | gagné |
| borderColorSwizzleFromImage | non pris en charge | non testé | modifié |
| extendedDynamicState2PatchControlPoints | non pris en charge | non testé | modifié |
| extendedDynamicState3AlphaToCoverageEnable | non pris en charge | non testé | modifié |
| extendedDynamicState3AlphaToOneEnable | non pris en charge | non testé | modifié |
| extendedDynamicState3DepthClipEnable | non pris en charge | non testé | modifié |
| extendedDynamicState3DepthClipNegativeOneToOne | 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é |
| descriptorBindingInlineUniformBlockUpdateAfterBind | non pris en charge | non testé | modifié |
| logicOp | non pris en charge | non testé | modifié |
| shaderInt64 | non pris en charge | non testé | modifié |
| shaderResourceMinLod | non pris en charge | non testé | modifié |
| variableMultisampleRate | 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 | 11.65 | 12.52 | 7% plus lent | 3 sur 3 contre 3 sur 3 | 670 contre ? | pas de grande différence pas de petite différence |
| hdr_2160p | 43.11 | 56.04 | 23% plus lent | 3 sur 3 contre 3 sur 3 | 670 contre ? | pas de grande différence pas de petite différence |
| oit_linked_lists | 33.03 | 37.98 | 13% plus lent | 3 sur 3 contre 3 sur 3 | 670 contre ? | pas de grande différence pas de petite différence |
| pipeline_barriers | 5.06 | 5.60 | trop légère, voir pipeline_barriers_2160p | 3 sur 3 contre 3 sur 3 | 670 contre ? | pas de grande différence diffère dans 1261 petites zones |
| pipeline_barriers_2160p | 17.31 | 19.22 | 10% plus lent | 3 sur 3 contre 3 sur 3 | 670 contre ? | pas de grande différence diffère dans 1211 petites zones |
| subpasses | 7.92 | 9.14 | 13% plus lent | 3 sur 3 contre 3 sur 3 | 670 contre ? | non vérifié |
| subpasses_2160p | 29.07 | n/a | un seul côté | ? contre ? | ? contre ? | non vérifié |
Différences techniques (Vulkan)
Extensions uniquement dans turnip_faux123_v1.2.1-rc4 (77)
- VK_AMD_buffer_marker
- VK_ARM_rasterization_order_attachment_access
- VK_EXT_4444_formats
- VK_EXT_attachment_feedback_loop_dynamic_state
- VK_EXT_attachment_feedback_loop_layout
- VK_EXT_border_color_swizzle
- VK_EXT_color_write_enable
- VK_EXT_conditional_rendering
- VK_EXT_custom_resolve
- VK_EXT_debug_marker
- VK_EXT_depth_clamp_control
- VK_EXT_depth_clamp_zero_one
- VK_EXT_depth_clip_control
- VK_EXT_descriptor_buffer
- VK_EXT_device_address_binding_report
- VK_EXT_dynamic_rendering_unused_attachments
- VK_EXT_extended_dynamic_state2
- 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_2d_view_of_3d
- VK_EXT_image_compression_control
- VK_EXT_image_drm_format_modifier
- VK_EXT_image_view_min_lod
- VK_EXT_inline_uniform_block
- VK_EXT_legacy_dithering
- VK_EXT_legacy_vertex_attributes
- VK_EXT_load_store_op_none
- VK_EXT_map_memory_placed
- VK_EXT_memory_budget
- VK_EXT_multi_draw
- VK_EXT_multisampled_render_to_single_sampled
- 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_module_identifier
- VK_EXT_shader_replicated_composites
- VK_EXT_shader_stencil_export
- VK_EXT_shader_uniform_buffer_unsized_array
- VK_EXT_shader_viewport_index_layer
- VK_EXT_texel_buffer_alignment
- VK_EXT_tooling_info
- VK_EXT_zero_initialize_device_memory
- VK_GOOGLE_decorate_string
- VK_GOOGLE_hlsl_functionality1
- VK_KHR_compute_shader_derivatives
- VK_KHR_deferred_host_operations
- VK_KHR_dynamic_rendering
- VK_KHR_dynamic_rendering_local_read
- VK_KHR_format_feature_flags2
- VK_KHR_index_type_uint8
- VK_KHR_line_rasterization
- VK_KHR_load_store_op_none
- VK_KHR_maintenance4
- VK_KHR_maintenance5
- VK_KHR_maintenance6
- VK_KHR_maintenance7
- VK_KHR_map_memory2
- VK_KHR_pipeline_library
- VK_KHR_shader_clock
- VK_KHR_shader_expect_assume
- VK_KHR_shader_float_controls2
- VK_KHR_shader_integer_dot_product
- VK_KHR_shader_relaxed_extended_instruction
- VK_KHR_shader_subgroup_rotate
- VK_KHR_shader_subgroup_uniform_control_flow
- VK_KHR_vertex_attribute_divisor
- VK_KHR_workgroup_memory_explicit_layout
- VK_KHR_zero_initialize_workgroup_memory
- 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_fragment_shading_rate
- VK_KHR_shared_presentable_image
- 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 (60)
| multiview | non pris en charge à réussi |
| samplerYcbcrConversion | non pris en charge à réussi |
| shaderDrawParameters | non pris en charge à réussi |
| storageBuffer16BitAccess | non pris en charge à réussi |
| variablePointers | non pris en charge à réussi |
| variablePointersStorageBuffer | non pris en charge à réussi |
| bufferDeviceAddress | non pris en charge à réussi |
| bufferDeviceAddressCaptureReplay | non pris en charge à réussi |
| descriptorBindingPartiallyBound | non pris en charge à réussi |
| descriptorBindingSampledImageUpdateAfterBind | non pris en charge à réussi |
| descriptorBindingStorageBufferUpdateAfterBind | non pris en charge à réussi |
| descriptorBindingStorageImageUpdateAfterBind | non pris en charge à réussi |
| descriptorBindingStorageTexelBufferUpdateAfterBind | non pris en charge à réussi |
| descriptorBindingUniformBufferUpdateAfterBind | non pris en charge à réussi |
| descriptorBindingUniformTexelBufferUpdateAfterBind | non pris en charge à réussi |
| descriptorBindingUpdateUnusedWhilePending | non pris en charge à réussi |
| descriptorBindingVariableDescriptorCount | non pris en charge à réussi |
| descriptorIndexing | non pris en charge à réussi |
| drawIndirectCount | non pris en charge à réussi |
| hostQueryReset | non pris en charge à réussi |
| imagelessFramebuffer | non pris en charge à réussi |
| runtimeDescriptorArray | non pris en charge à réussi |
| samplerFilterMinmax | non pris en charge à réussi |
| samplerMirrorClampToEdge | non pris en charge à réussi |
| scalarBlockLayout | non pris en charge à réussi |
| separateDepthStencilLayouts | non pris en charge à réussi |
| shaderFloat16 | non pris en charge à réussi |
| shaderInt8 | non pris en charge à réussi |
| shaderOutputLayer | non pris en charge à réussi |
| shaderOutputViewportIndex | non pris en charge à réussi |
| shaderSampledImageArrayNonUniformIndexing | non pris en charge à réussi |
| shaderStorageBufferArrayNonUniformIndexing | non pris en charge à réussi |
| shaderStorageImageArrayNonUniformIndexing | non pris en charge à réussi |
| shaderStorageTexelBufferArrayDynamicIndexing | non pris en charge à réussi |
| shaderStorageTexelBufferArrayNonUniformIndexing | non pris en charge à réussi |
| shaderSubgroupExtendedTypes | non pris en charge à réussi |
| shaderUniformBufferArrayNonUniformIndexing | non pris en charge à réussi |
| shaderUniformTexelBufferArrayDynamicIndexing | non pris en charge à réussi |
| shaderUniformTexelBufferArrayNonUniformIndexing | non pris en charge à réussi |
| subgroupBroadcastDynamicId | non pris en charge à réussi |
| timelineSemaphore | non pris en charge à réussi |
| uniformBufferStandardLayout | non pris en charge à réussi |
| vulkanMemoryModel | non pris en charge à réussi |
| vulkanMemoryModelAvailabilityVisibilityChains | non pris en charge à réussi |
| vulkanMemoryModelDeviceScope | non pris en charge à réussi |
| computeFullSubgroups | non pris en charge à réussi |
| descriptorBindingInlineUniformBlockUpdateAfterBind | non pris en charge à réussi |
| dynamicRendering | non pris en charge à réussi |
| inlineUniformBlock | non pris en charge à réussi |
| maintenance4 | non pris en charge à réussi |
| pipelineCreationCacheControl | non pris en charge à réussi |
| privateData | non pris en charge à réussi |
| robustImageAccess | non pris en charge à réussi |
| shaderDemoteToHelperInvocation | non pris en charge à réussi |
| shaderIntegerDotProduct | non pris en charge à réussi |
| shaderTerminateInvocation | non pris en charge à réussi |
| shaderZeroInitializeWorkgroupMemory | non pris en charge à réussi |
| subgroupSizeControl | non pris en charge à réussi |
| synchronization2 | non pris en charge à réussi |
| textureCompressionASTC_HDR | non pris en charge à réussi |
Limites qui diffèrent (32)
| Limite | Système | Personnalisé |
|---|---|---|
| maxPushConstantsSize | 128 | 256 |
| maxMemoryAllocationCount | 4096 | 4294967295 |
| maxSamplerAllocationCount | 4000 | 65536 |
| bufferImageGranularity | 1 | 64 |
| maxPerStageDescriptorSamplers | 524288 | 16777216 |
| maxPerStageDescriptorUniformBuffers | 524288 | 16777216 |
| maxPerStageDescriptorStorageBuffers | 524288 | 16777216 |
| maxPerStageDescriptorSampledImages | 524288 | 16777216 |
| maxPerStageDescriptorStorageImages | 524288 | 16777216 |
| maxPerStageResources | 1572864 | 16777216 |
| maxDescriptorSetSamplers | 524288 | 16777216 |
| maxDescriptorSetUniformBuffers | 524288 | 16777216 |
| maxDescriptorSetUniformBuffersDynamic | 32 | 16 |
| maxDescriptorSetStorageBuffers | 524288 | 16777216 |
| maxDescriptorSetStorageBuffersDynamic | 16 | 8 |
| maxDescriptorSetSampledImages | 524288 | 16777216 |
| maxDescriptorSetStorageImages | 524288 | 16777216 |
| maxVertexInputAttributeOffset | 4096 | 4095 |
| maxGeometryInputComponents | 128 | 64 |
| maxGeometryOutputVertices | 1024 | 256 |
| maxGeometryTotalOutputComponents | 131072 | 1024 |
| maxFragmentInputComponents | 112 | 128 |
| maxFragmentCombinedOutputResources | 72 | 33554440 |
| maxComputeWorkGroupInvocations | 1024 | 2048 |
| maxComputeWorkGroupSize | 1024, 1024, 64 | 1024, 1024, 1024 |
| minMemoryMapAlignment | 64 | 4096 |
| minStorageBufferOffsetAlignment | 64 | 4 |
| maxFramebufferLayers | 2048 | 1024 |
| discreteQueuePriorities | 3 | 2 |
| optimalBufferCopyOffsetAlignment | 64 | 128 |
| optimalBufferCopyRowPitchAlignment | 64 | 128 |
| nonCoherentAtomSize | 1 | 64 |
Formats pris en charge par un seul pilote (34 gagnés, 1 perdus)
- A1B5G5R5_UNORM_PACK16
- A2B10G10R10_SSCALED_PACK32
- A2B10G10R10_USCALED_PACK32
- A2R10G10B10_SSCALED_PACK32
- A2R10G10B10_USCALED_PACK32
- A4B4G4R4_UNORM_PACK16
- A4R4G4B4_UNORM_PACK16
- A8B8G8R8_SSCALED_PACK32
- A8B8G8R8_USCALED_PACK32
- A8_UNORM
- B8G8R8A8_SINT
- B8G8R8A8_SNORM
- B8G8R8A8_SSCALED
- B8G8R8A8_UINT
- B8G8R8A8_USCALED
- B8G8R8_SINT
- B8G8R8_SNORM
- B8G8R8_UINT
- R16G16B16A16_SSCALED
- R16G16B16A16_USCALED
- R16G16B16_SSCALED
- R16G16B16_USCALED
- R16G16_SSCALED
- R16G16_USCALED
- R16_SSCALED
- R16_USCALED
- R8G8B8A8_SSCALED
- R8G8B8A8_USCALED
- R8G8B8_SSCALED
- R8G8B8_USCALED
- R8G8_SSCALED
- R8G8_USCALED
- R8_SSCALED
- R8_USCALED
- G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16