FauxVkDB
Português

turnip_faux123_v1.2.1-rc4 vs Qualcomm Technologies Inc. Adreno Vulkan Driver

Na Adreno (TM) 722 (Moorechip Retroid Pocket Duo, Nothing Phone (4a) Pro). O primeiro driver citado é comparado com o segundo, que é a referência.

SistemaQualcomm Technologies Inc. Adreno Vulkan DriverDriver Build: 061cb3b5d1, I3474a54b00, 1776174995
vs
Customizadoturnip_faux123_v1.2.1-rc4Mesa 26.3.0-devel (git-dd45fd0baa)
Versão do sistema gráfico (Vulkan)1.3.284 a 1.4.359
Recursos opcionais (extensões)145 a 168+40 -17
Recursos que passam na verificação (validados)61 a 687 passaram só no turnip_faux123_v1.2.1-rc4 0 passaram só no Qualcomm Technologies Inc. Adreno Vulkan Driver
Cenas do teste de velocidade (benchmark)2 mais rápidas 3 mais lentas40% mais lento 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_nbody30% mais rápido
  • hdr_2160p16% mais lento
  • oit_linked_lists9% mais rápido
  • pipeline_barriers67% mais lento
  • subpasses81% mais lento

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: 1333 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 5 dessas cenas (por exemplo compute_nbody: do sistema a 69% do máximo do aparelho, customizado a 100%). 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.2.1-rc4

Verificações de recursos que diferem (28)

RecursoSistemaCustomizadoMudança
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
core.copy_wide_row_length
core
falhoupassouganhos
extendedDynamicState3AlphaToCoverageEnable
VK_EXT_extended_dynamic_state3
sem suportenão testadomudou
extendedDynamicState3AlphaToOneEnable
VK_EXT_extended_dynamic_state3
sem suportenão testadomudou
extendedDynamicState3ConservativeRasterizationMode
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
extendedDynamicState3ExtraPrimitiveOverestimationSize
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
shaderResourceMinLod
VkPhysicalDeviceFeatures
sem suportenão testadomudou
shaderResourceResidency
VkPhysicalDeviceFeatures
sem suportenão testadomudou
sparseResidency16Samples
VkPhysicalDeviceFeatures
não testadosem suportemudou
sparseResidency2Samples
VkPhysicalDeviceFeatures
não testadosem suportemudou
sparseResidency4Samples
VkPhysicalDeviceFeatures
não testadosem suportemudou
sparseResidency8Samples
VkPhysicalDeviceFeatures
não testadosem suportemudou
sparseResidencyAliased
VkPhysicalDeviceFeatures
sem suportenão testadomudou
sparseResidencyImage2D
VkPhysicalDeviceFeatures
não testadosem suportemudou

Cenas do teste de velocidade (benchmark)

CenaSistema msCustomizado msDiferençaIníciosClock da GPU, MHzImagem vs driver do sistema
compute_nbody15.32 típico 15.2911.75 típico 11.7730% mais rápido3 de 3 vs 3 de 3796 vs 1150 não comparávelsem diferença grande 0.0 sem diferença pequena pior 0.0 64x36
hdr_2160p41.15 típico 41.0549.09 típico 48.9916% mais lento3 de 3 vs 3 de 3796 vs 1150 não comparávelsem diferença grande 0.0 sem diferença pequena pior 0.3 64x36
oit_linked_lists28.96 típico 28.8426.69 típico 26.649% mais rápido3 de 3 vs 3 de 3796 vs 1150 não comparávelsem diferença grande 0.0 sem diferença pequena pior 0.0 64x36
pipeline_barriers5.79 típico 5.7517.29 típico 4.4967% mais lento3 de 3 vs 3 de 3784 vs 1150 não comparávelsem diferença grande 7.0 difere em 1333 áreas pequenas pior 48.0 64x36
pipeline_barriers_2160p20.38 típico 20.44n/asó um lado3 de 3 vs ?796 vs ? clock desconhecidonão verificado
subpasses8.92 típico 8.9246.05 típico 6.7081% mais lento3 de 3 vs 3 de 3784 vs 1150 não comparávelnã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.2.1-rc4 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.2.1-rc4 (40)
  • 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_conditional_rendering
  • 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_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_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_compute_shader_derivatives
  • VK_KHR_deferred_host_operations
  • VK_KHR_maintenance7
  • VK_KHR_pipeline_library
  • VK_KHR_shader_relaxed_extended_instruction
  • VK_NV_compute_shader_derivatives
  • VK_VALVE_fragment_density_map_layered
  • VK_VALVE_mutable_descriptor_type
Extensões só no Qualcomm Technologies Inc. Adreno Vulkan Driver (17)
  • VK_ANDROID_external_format_resolve
  • VK_EXT_astc_decode_mode
  • VK_EXT_blend_operation_advanced
  • VK_EXT_device_fault
  • VK_EXT_external_memory_acquire_unmodified
  • VK_EXT_fragment_density_map2
  • VK_EXT_pipeline_protected_access
  • VK_EXT_shader_subgroup_ballot
  • VK_KHR_shader_maximal_reconvergence
  • VK_KHR_shader_quad_control
  • VK_KHR_shared_presentable_image
  • VK_NV_optical_flow
  • VK_QCOM_image_processing
  • VK_QCOM_render_pass_store_ops
  • VK_QCOM_render_pass_transform
  • VK_QCOM_rotated_copy_commands
  • VK_QCOM_tile_properties
Recursos básicos que diferem (20)
multiviewGeometryShader Vulkan 1.1sem suporte a passou
protectedMemory Vulkan 1.1passou a sem suporte
shaderInputAttachmentArrayDynamicIndexing Vulkan 1.2passou a sem suporte
shaderInputAttachmentArrayNonUniformIndexing Vulkan 1.2passou a sem suporte
bresenhamLines Vulkan 1.4sem suporte a passou
dynamicRenderingLocalRead Vulkan 1.4sem suporte a passou
globalPriorityQuery Vulkan 1.4sem suporte a passou
hostImageCopy Vulkan 1.4sem suporte a passou
indexTypeUint8 Vulkan 1.4sem suporte a passou
maintenance5 Vulkan 1.4sem suporte a passou
maintenance6 Vulkan 1.4sem suporte a passou
pipelineRobustness Vulkan 1.4sem suporte a passou
pushDescriptor Vulkan 1.4sem suporte a passou
rectangularLines Vulkan 1.4sem suporte a passou
shaderExpectAssume Vulkan 1.4sem suporte a passou
shaderFloatControls2 Vulkan 1.4sem suporte a passou
shaderSubgroupRotate Vulkan 1.4sem suporte a passou
shaderSubgroupRotateClustered Vulkan 1.4sem suporte a passou
vertexAttributeInstanceRateDivisor Vulkan 1.4sem suporte a passou
vertexAttributeInstanceRateZeroDivisor Vulkan 1.4sem suporte a passou
Limites que diferem (19)
LimiteSistemaCustomizado
bufferImageGranularity164
sparseAddressSpaceSize562949953421311274877906944
maxPerStageResources5033164816777216
maxDescriptorSetUniformBuffersDynamic3216
maxDescriptorSetStorageBuffersDynamic168
maxVertexInputAttributeOffset40964095
maxGeometryInputComponents12864
maxGeometryOutputVertices1024256
maxGeometryTotalOutputComponents1310721024
maxFragmentInputComponents112128
maxComputeWorkGroupInvocations10242048
minMemoryMapAlignment644096
minStorageBufferOffsetAlignment644
maxFramebufferLayers20481024
discreteQueuePriorities32
pointSizeRange1, 40951, 4092
optimalBufferCopyOffsetAlignment64128
optimalBufferCopyRowPitchAlignment64128
nonCoherentAtomSize164
Formatos suportados por só um driver (5 ganhos, 1 perdidos)

Só no turnip_faux123_v1.2.1-rc4:

  • B8G8R8A8_SSCALED
  • B8G8R8A8_USCALED
  • B8G8R8_SINT
  • B8G8R8_SNORM
  • B8G8R8_UINT

Só no Qualcomm Technologies Inc. Adreno Vulkan Driver:

  • G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16