turnip_faux123_v1.2.1-rc4 vs Qualcomm Technologies Inc. Adreno Vulkan Driver
Na 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). O primeiro driver citado é comparado com o segundo, que é a referência.
- compute_nbody6% mais lento
- hdr_2160p0% mais lento
- oit_linked_lists12% mais lento
- pipeline_barriers68% mais rápido
- subpasses87% mais rápido
Pequenas áreas da imagem diferem do driver do sistema em 1 cena (pipeline_barriers: 1572 de 2304 células). A imagem bate no geral, então isto é uma falha local de renderização, não uma cena diferente.
Detalhes do Qualcomm Technologies Inc. Adreno Vulkan Driver Detalhes do turnip_faux123_v1.2.1-rc4
Verificações de recursos que diferem (46)
| Recurso | Sistema | Customizado | Mudança |
|---|---|---|---|
| borderColorSwizzle | sem suporte | passou | ganhos |
| colorWriteEnable | sem suporte | passou | ganhos |
| customBorderColors | sem suporte | passou | ganhos |
| depthClipControl | sem suporte | passou | ganhos |
| extendedDynamicState | sem suporte | passou | ganhos |
| extendedDynamicState2 | sem suporte | passou | ganhos |
| extendedDynamicState2LogicOp | sem suporte | passou | ganhos |
| extendedDynamicState3ColorBlendEnable | sem suporte | passou | ganhos |
| extendedDynamicState3ColorBlendEquation | sem suporte | passou | ganhos |
| extendedDynamicState3ColorWriteMask | sem suporte | passou | ganhos |
| extendedDynamicState3DepthClampEnable | sem suporte | passou | ganhos |
| extendedDynamicState3LogicOpEnable | sem suporte | passou | ganhos |
| extendedDynamicState3PolygonMode | sem suporte | passou | ganhos |
| inlineUniformBlock | sem suporte | passou | ganhos |
| robustBufferAccess2 | sem suporte | passou | ganhos |
| robustImageAccess2 | sem suporte | passou | ganhos |
| vertexInputDynamicState | sem suporte | passou | ganhos |
| timelineSemaphore | sem suporte | passou | ganhos |
| multiViewport | sem suporte | passou | ganhos |
| textureCompressionBC | sem suporte | passou | ganhos |
| core.copy_wide_row_length | falhou | passou | ganhos |
| limit.color_attachments | falhou | passou | ganhos |
| stage.geometry_point_size | sem suporte | passou | ganhos |
| stress.scratch_per_batch | não testado | passou | ganhos |
| stress.spill_helper_lanes | não testado | passou | ganhos |
| borderColorSwizzleFromImage | sem suporte | não testado | mudou |
| customBorderColorWithoutFormat | sem suporte | não testado | mudou |
| extendedDynamicState2PatchControlPoints | sem suporte | não testado | mudou |
| extendedDynamicState3AlphaToCoverageEnable | sem suporte | não testado | mudou |
| extendedDynamicState3AlphaToOneEnable | sem suporte | não testado | mudou |
| extendedDynamicState3DepthClipEnable | sem suporte | não testado | mudou |
| extendedDynamicState3DepthClipNegativeOneToOne | sem suporte | não testado | mudou |
| extendedDynamicState3LineRasterizationMode | sem suporte | não testado | mudou |
| extendedDynamicState3ProvokingVertexMode | sem suporte | não testado | mudou |
| extendedDynamicState3RasterizationSamples | sem suporte | não testado | mudou |
| extendedDynamicState3RasterizationStream | sem suporte | não testado | mudou |
| extendedDynamicState3SampleLocationsEnable | sem suporte | não testado | mudou |
| extendedDynamicState3SampleMask | sem suporte | não testado | mudou |
| extendedDynamicState3TessellationDomainOrigin | sem suporte | não testado | mudou |
| descriptorBindingInlineUniformBlockUpdateAfterBind | sem suporte | não testado | mudou |
| nullDescriptor | sem suporte | não testado | mudou |
| logicOp | sem suporte | não testado | mudou |
| shaderInt64 | sem suporte | não testado | mudou |
| shaderResourceMinLod | sem suporte | não testado | mudou |
| shaderTessellationAndGeometryPointSize | sem suporte | não testado | mudou |
| variableMultisampleRate | sem suporte | não testado | mudou |
Cenas do teste de velocidade (benchmark)
Os dois drivers não foram medidos no mesmo conjunto de modelos de aparelho. Frametimes de aparelhos diferentes não servem para comparar drivers, então leia esses números com isso em mente.
| Cena | Sistema ms | Customizado ms | Diferença | Inícios | Clock da GPU, MHz | Imagem vs driver do sistema |
|---|---|---|---|---|---|---|
| compute_nbody | 11.82 | 12.52 | 6% mais lento | 3 de 3 vs 3 de 3 | ? vs ? | sem diferença grande sem diferença pequena |
| hdr_2160p | 55.77 | 56.04 | 0% mais lento | 3 de 3 vs 3 de 3 | ? vs ? | sem diferença grande sem diferença pequena |
| oit_linked_lists | 33.32 | 37.98 | 12% mais lento | 3 de 3 vs 3 de 3 | ? vs ? | sem diferença grande sem diferença pequena |
| pipeline_barriers | 9.40 | 5.60 | 68% mais rápido | 3 de 3 vs 3 de 3 | ? vs ? | sem diferença grande difere em 1572 áreas pequenas |
| pipeline_barriers_2160p | n/a | 19.22 | só um lado | ? vs 3 de 3 | ? vs ? | não verificado |
| subpasses | 17.07 | 9.14 | 87% mais rápido | 3 de 3 vs 3 de 3 | ? vs ? | não verificado |
Diferenças técnicas (Vulkan)
Extensões só no turnip_faux123_v1.2.1-rc4 (101)
- 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_border_color
- 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_depth_clip_enable
- VK_EXT_descriptor_buffer
- VK_EXT_descriptor_indexing
- VK_EXT_device_address_binding_report
- VK_EXT_dynamic_rendering_unused_attachments
- VK_EXT_extended_dynamic_state
- VK_EXT_extended_dynamic_state2
- VK_EXT_extended_dynamic_state3
- VK_EXT_external_memory_dma_buf
- VK_EXT_fragment_density_map_offset
- VK_EXT_global_priority_query
- 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_robustness
- 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_primitive_topology_list_restart
- VK_EXT_primitives_generated_query
- VK_EXT_private_data
- VK_EXT_provoking_vertex
- VK_EXT_rasterization_order_attachment_access
- VK_EXT_robustness2
- VK_EXT_shader_atomic_float
- VK_EXT_shader_demote_to_helper_invocation
- 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_vertex_input_dynamic_state
- VK_EXT_zero_initialize_device_memory
- VK_GOOGLE_decorate_string
- VK_GOOGLE_hlsl_functionality1
- VK_KHR_compute_shader_derivatives
- VK_KHR_copy_commands2
- VK_KHR_deferred_host_operations
- VK_KHR_dynamic_rendering
- VK_KHR_dynamic_rendering_local_read
- VK_KHR_format_feature_flags2
- VK_KHR_global_priority
- VK_KHR_imageless_framebuffer
- 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_executable_properties
- 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_non_semantic_info
- VK_KHR_shader_relaxed_extended_instruction
- VK_KHR_shader_subgroup_rotate
- VK_KHR_shader_subgroup_uniform_control_flow
- VK_KHR_shader_terminate_invocation
- VK_KHR_synchronization2
- VK_KHR_timeline_semaphore
- VK_KHR_vertex_attribute_divisor
- VK_KHR_workgroup_memory_explicit_layout
- VK_KHR_zero_initialize_workgroup_memory
- VK_NV_compute_shader_derivatives
- VK_QCOM_fragment_density_map_offset
- VK_QCOM_multiview_per_view_render_areas
- VK_QCOM_multiview_per_view_viewports
- VK_VALVE_fragment_density_map_layered
- VK_VALVE_mutable_descriptor_type
Extensões só no Qualcomm Technologies Inc. Adreno Vulkan Driver (4)
- VK_EXT_astc_decode_mode
- VK_KHR_shared_presentable_image
- VK_QCOM_render_pass_store_ops
- VK_QCOM_render_pass_transform
Recursos básicos que diferem (60)
| multiview | sem suporte a passou |
| samplerYcbcrConversion | sem suporte a passou |
| shaderDrawParameters | sem suporte a passou |
| storageBuffer16BitAccess | sem suporte a passou |
| variablePointers | sem suporte a passou |
| variablePointersStorageBuffer | sem suporte a passou |
| bufferDeviceAddress | sem suporte a passou |
| bufferDeviceAddressCaptureReplay | sem suporte a passou |
| descriptorBindingPartiallyBound | sem suporte a passou |
| descriptorBindingSampledImageUpdateAfterBind | sem suporte a passou |
| descriptorBindingStorageBufferUpdateAfterBind | sem suporte a passou |
| descriptorBindingStorageImageUpdateAfterBind | sem suporte a passou |
| descriptorBindingStorageTexelBufferUpdateAfterBind | sem suporte a passou |
| descriptorBindingUniformBufferUpdateAfterBind | sem suporte a passou |
| descriptorBindingUniformTexelBufferUpdateAfterBind | sem suporte a passou |
| descriptorBindingUpdateUnusedWhilePending | sem suporte a passou |
| descriptorBindingVariableDescriptorCount | sem suporte a passou |
| descriptorIndexing | sem suporte a passou |
| drawIndirectCount | sem suporte a passou |
| hostQueryReset | sem suporte a passou |
| imagelessFramebuffer | sem suporte a passou |
| runtimeDescriptorArray | sem suporte a passou |
| samplerFilterMinmax | sem suporte a passou |
| samplerMirrorClampToEdge | sem suporte a passou |
| scalarBlockLayout | sem suporte a passou |
| separateDepthStencilLayouts | sem suporte a passou |
| shaderFloat16 | sem suporte a passou |
| shaderInt8 | sem suporte a passou |
| shaderOutputLayer | sem suporte a passou |
| shaderOutputViewportIndex | sem suporte a passou |
| shaderSampledImageArrayNonUniformIndexing | sem suporte a passou |
| shaderStorageBufferArrayNonUniformIndexing | sem suporte a passou |
| shaderStorageImageArrayNonUniformIndexing | sem suporte a passou |
| shaderStorageTexelBufferArrayDynamicIndexing | sem suporte a passou |
| shaderStorageTexelBufferArrayNonUniformIndexing | sem suporte a passou |
| shaderSubgroupExtendedTypes | sem suporte a passou |
| shaderUniformBufferArrayNonUniformIndexing | sem suporte a passou |
| shaderUniformTexelBufferArrayDynamicIndexing | sem suporte a passou |
| shaderUniformTexelBufferArrayNonUniformIndexing | sem suporte a passou |
| subgroupBroadcastDynamicId | sem suporte a passou |
| timelineSemaphore | sem suporte a passou |
| uniformBufferStandardLayout | sem suporte a passou |
| vulkanMemoryModel | sem suporte a passou |
| vulkanMemoryModelAvailabilityVisibilityChains | sem suporte a passou |
| vulkanMemoryModelDeviceScope | sem suporte a passou |
| computeFullSubgroups | sem suporte a passou |
| descriptorBindingInlineUniformBlockUpdateAfterBind | sem suporte a passou |
| dynamicRendering | sem suporte a passou |
| inlineUniformBlock | sem suporte a passou |
| maintenance4 | sem suporte a passou |
| pipelineCreationCacheControl | sem suporte a passou |
| privateData | sem suporte a passou |
| robustImageAccess | sem suporte a passou |
| shaderDemoteToHelperInvocation | sem suporte a passou |
| shaderIntegerDotProduct | sem suporte a passou |
| shaderTerminateInvocation | sem suporte a passou |
| shaderZeroInitializeWorkgroupMemory | sem suporte a passou |
| subgroupSizeControl | sem suporte a passou |
| synchronization2 | sem suporte a passou |
| textureCompressionASTC_HDR | sem suporte a passou |
Limites que diferem (34)
| Limite | Sistema | Customizado |
|---|---|---|
| maxStorageBufferRange | 536870912 | 134217728 |
| 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 |
| maxViewports | 1 | 16 |
| minMemoryMapAlignment | 64 | 4096 |
| minStorageBufferOffsetAlignment | 64 | 4 |
| maxFramebufferLayers | 2048 | 1024 |
| discreteQueuePriorities | 3 | 2 |
| optimalBufferCopyOffsetAlignment | 64 | 128 |
| optimalBufferCopyRowPitchAlignment | 64 | 128 |
| nonCoherentAtomSize | 1 | 64 |
Formatos suportados por só um driver (50 ganhos, 0 perdidos)
- 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
- BC1_RGBA_SRGB_BLOCK
- BC1_RGBA_UNORM_BLOCK
- BC1_RGB_SRGB_BLOCK
- BC1_RGB_UNORM_BLOCK
- BC2_SRGB_BLOCK
- BC2_UNORM_BLOCK
- BC3_SRGB_BLOCK
- BC3_UNORM_BLOCK
- BC4_SNORM_BLOCK
- BC4_UNORM_BLOCK
- BC5_SNORM_BLOCK
- BC5_UNORM_BLOCK
- BC6H_SFLOAT_BLOCK
- BC6H_UFLOAT_BLOCK
- BC7_SRGB_BLOCK
- BC7_UNORM_BLOCK
- 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
- Nenhum