FauxVkDB
Português

Turnip_v27.0.0-R1 vs Turnip-Rutabaga-v3

Na Adreno (TM) 610 (HONOR Pad X8a, HONOR X8c, POCO M7, Redmi Note 11, Redmi Note 12, Redmi Note 13, Samsung Galaxy A05s, Xiaomi 220333QAG). O primeiro driver citado é comparado com o segundo, que é a referência.

SistemaTurnip-Rutabaga-v3Mesa 26.3.0-devel (git-b00479181d)
vs
CustomizadoTurnip_v27.0.0-R1Mesa 27.0.0-devel (git-f28352d117)
Versão do sistema gráfico (Vulkan)1.0.359 a 1.3.363
Recursos opcionais (extensões)145 a 158+17 -4
Recursos que passam na verificação (validados)47 a 47os dois passam nas mesmas verificações
Cenas do teste de velocidade (benchmark)0 mais rápidas 4 mais lentas7% 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
  • hdr_2160p9% mais lento
  • oit_linked_lists4% mais lento
  • pipeline_barriers6% mais lento
  • subpasses7% 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: 1482 de 2304 células). A imagem bate no geral, então isto é uma falha local de renderização, não uma cena diferente.

Nem sempre iniciou: compute_nbody (do sistema 0 de 3, customizado 3 de 3).

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

Detalhes do Turnip-Rutabaga-v3 Detalhes do Turnip_v27.0.0-R1

Verificações de recursos que diferem (0)

Toda verificação de recurso termina igual nos dois drivers.

Cenas do teste de velocidade (benchmark)

CenaTurnip-Rutabaga-v3 msTurnip_v27.0.0-R1 msDiferençaIníciosClock da GPU, MHzImagem vs driver do sistema
compute_nbodyn/a89.38 típico 89.17só um lado0 de 3 vs 3 de 3? vs 1115 clock desconhecidonão verificado
hdr_2160p317.11 típico 310.72347.46 típico 347.299% mais lento3 de 3 vs 3 de 31068 vs 1115 sem diferença grande 0.0 sem diferença pequena pior 0.0 64x36
oit_linked_lists94.48 típico 94.2998.08 típico 96.184% mais lento3 de 3 vs 3 de 31115 vs 1115 sem diferença grande 0.0 sem diferença pequena pior 0.0 64x36
pipeline_barriers42.19 típico 42.5945.04 típico 45.356% mais lento3 de 3 vs 3 de 31115 vs 1115 sem diferença grande 10.6 difere em 1482 áreas pequenas pior 62.3 64x36
subpasses82.30 típico 82.2988.72 típico 88.737% mais lento3 de 3 vs 3 de 31115 vs 982 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_v27.0.0-R1 em relação a Turnip-Rutabaga-v3. “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_v27.0.0-R1 (17)
  • VK_EXT_global_priority
  • VK_EXT_global_priority_query
  • VK_EXT_subgroup_size_control
  • VK_KHR_global_priority
  • VK_KHR_maintenance4
  • VK_KHR_maintenance5
  • VK_KHR_maintenance6
  • VK_KHR_maintenance7
  • VK_KHR_multiview
  • VK_KHR_shader_float_controls2
  • VK_KHR_shader_subgroup_extended_types
  • VK_KHR_shader_subgroup_uniform_control_flow
  • VK_KHR_spirv_1_4
  • VK_KHR_swapchain_mutable_format
  • VK_QCOM_rotated_copy_commands
  • VK_VALVE_buffer_device_address_allocation_alignment
  • VK_VALVE_fragment_density_map_layered
Extensões só no Turnip-Rutabaga-v3 (4)
  • VK_EXT_depth_range_unrestricted
  • VK_EXT_frame_boundary
  • VK_EXT_pipeline_robustness
  • VK_KHR_cooperative_matrix
Recursos básicos que diferem (57)
multiview Vulkan 1.1sem suporte a passou
samplerYcbcrConversion Vulkan 1.1sem suporte a passou
shaderDrawParameters 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
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
Limites que diferem (0)
LimiteTurnip-Rutabaga-v3Turnip_v27.0.0-R1
Formatos suportados por só um driver (2 ganhos, 0 perdidos)

Só no Turnip_v27.0.0-R1:

  • A1B5G5R5_UNORM_PACK16
  • A8_UNORM

Só no Turnip-Rutabaga-v3:

  • Nenhum