FauxVkDB
Português

turnip_faux123_v1.1.9-rc14 vs Qualcomm Technologies Inc. Adreno Vulkan Driver

Na Adreno (TM) 660 (Asus ROG Phone 5 series, Razer Edge, Samsung Galaxy S21 Ultra 5G, Samsung Galaxy S21+ 5G, Sony Xperia PRO-I). O primeiro driver citado é comparado com o segundo, que é a referência.

SistemaQualcomm Technologies Inc. Adreno Vulkan DriverDriver Build: 9ad1b67875, Ib48d2dada6, 1746950435
vs
Customizadoturnip_faux123_v1.1.9-rc14Mesa 26.3.0-devel (git-dd45fd0baa)
Versão do sistema gráfico (Vulkan)1.1.128 a 1.3.359
Recursos opcionais (extensões)75 a 164+95 -6
Recursos que passam na verificação (validados)31 a 5019 passaram só no turnip_faux123_v1.1.9-rc14 0 passaram só no Qualcomm Technologies Inc. Adreno Vulkan Driver
Cenas do teste de velocidade (benchmark)2 mais rápidas 3 mais lentas27% mais rápido no geral (média geométrica)
Jogos que cada driver poderia rodar (uma estimativa a partir da lista de recursos): verde provável, amarelo talvez, laranja limitado, vermelho não
SistemaDX92002+DX102006+DX112009+DX122015+Switch
CustomizadoDX92002+DX102006+DX112009+DX122015+Switch
  • compute_nbody8% mais lento
  • hdr_2160p15% mais lento
  • oit_linked_lists4% mais lento
  • pipeline_barriers_2160p88% mais rápido
  • subpasses130% mais rápido

Driver customizado contra o do sistema, por cena. Barras à direita são mais rápidas, à esquerda mais lentas.

Pequenas áreas da imagem diferem do driver do sistema em 1 cena (pipeline_barriers: 1199 de 2304 células). A imagem bate no geral, então isto é uma falha local de renderização, não uma cena diferente.

Condições diferentes: o clock da GPU foi diferente em 1 dessas cenas (por exemplo compute_nbody: do sistema a 100% do máximo do aparelho, customizado a 83%). Parte da diferença de frametime vem do clock que o aparelho escolheu, não do driver.

Detalhes do Qualcomm Technologies Inc. Adreno Vulkan Driver Detalhes do turnip_faux123_v1.1.9-rc14

Verificações de recursos que diferem (40)

RecursoSistemaCustomizadoMudança
borderColorSwizzle
VK_EXT_border_color_swizzle
sem suportepassouganhos
colorWriteEnable
VK_EXT_color_write_enable
sem suportepassouganhos
customBorderColors
VK_EXT_custom_border_color
sem suportepassouganhos
depthClipControl
VK_EXT_depth_clip_control
sem suportepassouganhos
extendedDynamicState2
VK_EXT_extended_dynamic_state2
sem suportepassouganhos
extendedDynamicState2LogicOp
VK_EXT_extended_dynamic_state2
sem suportepassouganhos
extendedDynamicState3ColorBlendEnable
VK_EXT_extended_dynamic_state3
sem suportepassouganhos
extendedDynamicState3ColorBlendEquation
VK_EXT_extended_dynamic_state3
sem suportepassouganhos
extendedDynamicState3ColorWriteMask
VK_EXT_extended_dynamic_state3
sem suportepassouganhos
extendedDynamicState3DepthClampEnable
VK_EXT_extended_dynamic_state3
sem suportepassouganhos
extendedDynamicState3LogicOpEnable
VK_EXT_extended_dynamic_state3
sem suportepassouganhos
extendedDynamicState3PolygonMode
VK_EXT_extended_dynamic_state3
sem suportepassouganhos
inlineUniformBlock
VK_EXT_inline_uniform_block
sem suportepassouganhos
robustBufferAccess2
VK_EXT_robustness2
sem suportepassouganhos
robustImageAccess2
VK_EXT_robustness2
sem suportepassouganhos
vertexInputDynamicState
VK_EXT_vertex_input_dynamic_state
sem suportepassouganhos
multiViewport
VkPhysicalDeviceFeatures
sem suportepassouganhos
textureCompressionBC
VkPhysicalDeviceFeatures
sem suportepassouganhos
core.copy_wide_row_length
core
falhoupassouganhos
borderColorSwizzleFromImage
VK_EXT_border_color_swizzle
sem suportenão testadomudou
customBorderColorWithoutFormat
VK_EXT_custom_border_color
sem suportenão testadomudou
extendedDynamicState2PatchControlPoints
VK_EXT_extended_dynamic_state2
sem suportenão testadomudou
extendedDynamicState3AlphaToCoverageEnable
VK_EXT_extended_dynamic_state3
sem suportenão testadomudou
extendedDynamicState3AlphaToOneEnable
VK_EXT_extended_dynamic_state3
sem suportenão testadomudou
extendedDynamicState3DepthClipEnable
VK_EXT_extended_dynamic_state3
sem suportenão testadomudou
extendedDynamicState3DepthClipNegativeOneToOne
VK_EXT_extended_dynamic_state3
sem suportenão testadomudou
extendedDynamicState3LineRasterizationMode
VK_EXT_extended_dynamic_state3
sem suportenão testadomudou
extendedDynamicState3ProvokingVertexMode
VK_EXT_extended_dynamic_state3
sem suportenão testadomudou
extendedDynamicState3RasterizationSamples
VK_EXT_extended_dynamic_state3
sem suportenão testadomudou
extendedDynamicState3RasterizationStream
VK_EXT_extended_dynamic_state3
sem suportenão testadomudou
extendedDynamicState3SampleLocationsEnable
VK_EXT_extended_dynamic_state3
sem suportenão testadomudou
extendedDynamicState3SampleMask
VK_EXT_extended_dynamic_state3
sem suportenão testadomudou
extendedDynamicState3TessellationDomainOrigin
VK_EXT_extended_dynamic_state3
sem suportenão testadomudou
descriptorBindingInlineUniformBlockUpdateAfterBind
VK_EXT_inline_uniform_block
sem suportenão testadomudou
nullDescriptor
VK_EXT_robustness2
sem suportenão testadomudou
logicOp
VkPhysicalDeviceFeatures
sem suportenão testadomudou
shaderInt64
VkPhysicalDeviceFeatures
sem suportenão testadomudou
shaderResourceMinLod
VkPhysicalDeviceFeatures
sem suportenão testadomudou
shaderTessellationAndGeometryPointSize
VkPhysicalDeviceFeatures
sem suportenão testadomudou
variableMultisampleRate
VkPhysicalDeviceFeatures
sem suportenão testadomudou

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.

CenaSistema msCustomizado msDiferençaIníciosClock da GPU, MHzImagem vs driver do sistema
compute_nbody11.62 típico 11.8312.65 típico 12.938% mais lento3 de 3 vs 3 de 3840 vs 697 não comparávelsem diferença grande 0.0 sem diferença pequena pior 0.0 64x36
hdr_2160p58.90 típico 58.9169.31 típico 67.5815% mais lento3 de 3 vs 3 de 3840 vs 809 sem diferença grande 0.0 sem diferença pequena pior 0.0 64x36
oit_linked_lists29.63 típico 29.7230.88 típico 30.964% mais lento3 de 3 vs 3 de 3840 vs 840 sem diferença grande 0.0 sem diferença pequena pior 0.0 64x36
pipeline_barriers8.21 típico 8.243.78 típico 3.78leve demais, veja pipeline_barriers_2160p3 de 3 vs 3 de 3774 vs 792 sem diferença grande 6.3 difere em 1199 áreas pequenas pior 46.7 64x36
pipeline_barriers_2160p27.06 típico 27.2014.42 típico 14.3488% mais rápido? vs 3 de 3? vs 745 clock desconhecidonão verificado
subpasses14.23 típico 14.236.18 típico 6.08130% mais rápido3 de 3 vs 3 de 3840 vs 819 não verificado
subpasses_2160pn/a23.48 típico 23.62só um lado? vs 3 de 3? vs 775 clock desconhecidonão verificado

Tempo para desenhar um frame, por cena: o frametime médio da melhor rodada da cena, que indica quantos frames o driver entregou; menor é mais rápido. “Típico” ao lado é o frame mediano, que pode ficar bem abaixo da média quando os frames de um driver chegam em duas velocidades. Um par de relatórios feitos antes de as médias por rodada serem registradas é comparado pela mediana. Uma cena cujas rodadas divergem em mais de 15% fica de fora. Uma cena marcada “capada” foi mantida nesse frametime médio pelo driver ou pela fila de exibição, junto com pelo menos outra cena da mesma execução; o tempo dela diz como os frames foram espaçados, não quão rápido o driver renderizou, então não é comparada. Uma cena marcada “leve demais” levou menos de 8 ms no tamanho padrão (1920 por 1080) nos dois drivers, onde a fila de frames da tela espaça os frames mais do que o chip; a execução mais pesada é a comparada: a linha terminada em _2160p é a cena desenhada em 3840 por 2160, e compute_nbody_2x é essa cena com o dobro de partículas. “Mais rápido” e “mais lento” descrevem turnip_faux123_v1.1.9-rc14 em relação a Qualcomm Technologies Inc. Adreno Vulkan Driver. “Imagem vs driver do sistema” compara um frame fixo por cena como uma grade de cores grosseira (0 é idêntico, acima de 40 é uma imagem diferente); ela detecta uma cena que não foi desenhada. Quando os dois relatórios trazem a grade mais fina de 64x36, o segundo número é quantas das 2.304 células diferem em mais de 4 de 255, e “pior” é a maior célula individual; é isso que detecta um pequeno erro de renderização em uma imagem que, no mais, bate. Uma linha marcada 16x9 vem de um relatório feito antes de existir a grade mais fina. “Inícios” é quantos inícios de processo de uma cena chegaram a uma rodada medida. Um clock da GPU marcado “não comparável” diferiu em mais de 5% do máximo do aparelho entre as duas medições.

Diferenças técnicas (Vulkan)

Extensões só no turnip_faux123_v1.1.9-rc14 (95)
  • 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_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_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_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_provoking_vertex
  • VK_EXT_rasterization_order_attachment_access
  • VK_EXT_robustness2
  • VK_EXT_shader_atomic_float
  • VK_EXT_shader_module_identifier
  • VK_EXT_shader_replicated_composites
  • VK_EXT_shader_stencil_export
  • VK_EXT_shader_subgroup_vote
  • 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_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_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 (6)
  • VK_EXT_astc_decode_mode
  • VK_EXT_blend_operation_advanced
  • VK_EXT_fragment_density_map2
  • VK_KHR_shared_presentable_image
  • VK_QCOM_render_pass_store_ops
  • VK_QCOM_render_pass_transform
Recursos básicos que diferem (60)
multiview Vulkan 1.1sem suporte a passou
samplerYcbcrConversion Vulkan 1.1sem suporte a passou
shaderDrawParameters Vulkan 1.1sem suporte a passou
storageBuffer16BitAccess Vulkan 1.1sem suporte a passou
variablePointers Vulkan 1.1sem suporte a passou
variablePointersStorageBuffer Vulkan 1.1sem suporte a passou
bufferDeviceAddress Vulkan 1.2sem suporte a passou
bufferDeviceAddressCaptureReplay Vulkan 1.2sem suporte a passou
descriptorBindingPartiallyBound Vulkan 1.2sem suporte a passou
descriptorBindingSampledImageUpdateAfterBind Vulkan 1.2sem suporte a passou
descriptorBindingStorageBufferUpdateAfterBind Vulkan 1.2sem suporte a passou
descriptorBindingStorageImageUpdateAfterBind Vulkan 1.2sem suporte a passou
descriptorBindingStorageTexelBufferUpdateAfterBind Vulkan 1.2sem suporte a passou
descriptorBindingUniformBufferUpdateAfterBind Vulkan 1.2sem suporte a passou
descriptorBindingUniformTexelBufferUpdateAfterBind Vulkan 1.2sem suporte a passou
descriptorBindingUpdateUnusedWhilePending Vulkan 1.2sem suporte a passou
descriptorBindingVariableDescriptorCount Vulkan 1.2sem suporte a passou
descriptorIndexing Vulkan 1.2sem suporte a passou
drawIndirectCount Vulkan 1.2sem suporte a passou
hostQueryReset Vulkan 1.2sem suporte a passou
imagelessFramebuffer Vulkan 1.2sem suporte a passou
runtimeDescriptorArray Vulkan 1.2sem suporte a passou
samplerFilterMinmax Vulkan 1.2sem suporte a passou
samplerMirrorClampToEdge Vulkan 1.2sem suporte a passou
scalarBlockLayout Vulkan 1.2sem suporte a passou
separateDepthStencilLayouts Vulkan 1.2sem suporte a passou
shaderFloat16 Vulkan 1.2sem suporte a passou
shaderInt8 Vulkan 1.2sem suporte a passou
shaderOutputLayer Vulkan 1.2sem suporte a passou
shaderOutputViewportIndex Vulkan 1.2sem suporte a passou
shaderSampledImageArrayNonUniformIndexing Vulkan 1.2sem suporte a passou
shaderStorageBufferArrayNonUniformIndexing Vulkan 1.2sem suporte a passou
shaderStorageImageArrayNonUniformIndexing Vulkan 1.2sem suporte a passou
shaderStorageTexelBufferArrayDynamicIndexing Vulkan 1.2sem suporte a passou
shaderStorageTexelBufferArrayNonUniformIndexing Vulkan 1.2sem suporte a passou
shaderSubgroupExtendedTypes Vulkan 1.2sem suporte a passou
shaderUniformBufferArrayNonUniformIndexing Vulkan 1.2sem suporte a passou
shaderUniformTexelBufferArrayDynamicIndexing Vulkan 1.2sem suporte a passou
shaderUniformTexelBufferArrayNonUniformIndexing Vulkan 1.2sem suporte a passou
subgroupBroadcastDynamicId Vulkan 1.2sem suporte a passou
timelineSemaphore Vulkan 1.2sem suporte a passou
uniformBufferStandardLayout Vulkan 1.2sem suporte a passou
vulkanMemoryModel Vulkan 1.2sem suporte a passou
vulkanMemoryModelAvailabilityVisibilityChains Vulkan 1.2sem suporte a passou
vulkanMemoryModelDeviceScope Vulkan 1.2sem suporte a passou
computeFullSubgroups Vulkan 1.3sem suporte a passou
descriptorBindingInlineUniformBlockUpdateAfterBind Vulkan 1.3sem suporte a passou
dynamicRendering Vulkan 1.3sem suporte a passou
inlineUniformBlock Vulkan 1.3sem suporte a passou
maintenance4 Vulkan 1.3sem suporte a passou
pipelineCreationCacheControl Vulkan 1.3sem suporte a passou
privateData Vulkan 1.3sem suporte a passou
robustImageAccess Vulkan 1.3sem suporte a passou
shaderDemoteToHelperInvocation Vulkan 1.3sem suporte a passou
shaderIntegerDotProduct Vulkan 1.3sem suporte a passou
shaderTerminateInvocation Vulkan 1.3sem suporte a passou
shaderZeroInitializeWorkgroupMemory Vulkan 1.3sem suporte a passou
subgroupSizeControl Vulkan 1.3sem suporte a passou
synchronization2 Vulkan 1.3sem suporte a passou
textureCompressionASTC_HDR Vulkan 1.3sem suporte a passou
Limites que diferem (34)
LimiteSistemaCustomizado
maxStorageBufferRange536870912134217728
maxPushConstantsSize128256
maxMemoryAllocationCount40964294967295
maxSamplerAllocationCount400065536
bufferImageGranularity164
maxPerStageDescriptorSamplers52428816777216
maxPerStageDescriptorUniformBuffers52428816777216
maxPerStageDescriptorStorageBuffers52428816777216
maxPerStageDescriptorSampledImages52428816777216
maxPerStageDescriptorStorageImages52428816777216
maxPerStageResources157286416777216
maxDescriptorSetSamplers52428816777216
maxDescriptorSetUniformBuffers52428816777216
maxDescriptorSetUniformBuffersDynamic3216
maxDescriptorSetStorageBuffers52428816777216
maxDescriptorSetStorageBuffersDynamic168
maxDescriptorSetSampledImages52428816777216
maxDescriptorSetStorageImages52428816777216
maxVertexInputAttributeOffset40964095
maxGeometryInputComponents12864
maxGeometryOutputVertices1024256
maxGeometryTotalOutputComponents1310721024
maxFragmentInputComponents112128
maxFragmentCombinedOutputResources7233554440
maxComputeWorkGroupInvocations10242048
maxComputeWorkGroupSize1024, 1024, 641024, 1024, 1024
maxViewports116
minMemoryMapAlignment644096
minStorageBufferOffsetAlignment644
maxFramebufferLayers20481024
discreteQueuePriorities32
optimalBufferCopyOffsetAlignment64128
optimalBufferCopyRowPitchAlignment64128
nonCoherentAtomSize164
Formatos suportados por só um driver (39 ganhos, 1 perdidos)

Só no turnip_faux123_v1.1.9-rc14:

  • 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_RGB_SRGB_BLOCK
  • BC2_SRGB_BLOCK
  • BC3_SRGB_BLOCK
  • BC7_SRGB_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

Só no Qualcomm Technologies Inc. Adreno Vulkan Driver:

  • G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16