FauxVkDB
Français

Turnip-Rutabaga-v3 contre Turnip_v27.0.0-R1

Sur Adreno (TM) 610 (HONOR Pad X8a, HONOR X8c, POCO M7, Redmi Note 11, Redmi Note 12, Redmi Note 13, Samsung Galaxy A05s, Xiaomi 220333QAG). Le premier pilote cité est comparé au second, qui sert de référence.

SystèmeTurnip_v27.0.0-R1Mesa 27.0.0-devel (git-f28352d117)
contre
PersonnaliséTurnip-Rutabaga-v3Mesa 26.3.0-devel (git-b00479181d)
Version du système graphique (Vulkan)1.3.363 à 1.0.359
Fonctionnalités optionnelles (extensions)158 à 145+4 -17
Fonctionnalités qui réussissent leur vérification (validées)47 à 47réussissent les mêmes vérifications
Scènes du benchmark4 plus rapides 0 plus lente7% plus rapide globalement (moyenne géométrique)
Jeux que chaque pilote pourrait faire tourner (estimation d'après sa liste de fonctionnalités) : vert probable, jaune peut-être, orange limité, rouge non
SystèmeDX92002+DX102006+DX112009+DX122015+Switch
PersonnaliséDX92002+DX102006+DX112009+DX122015+Switch
  • hdr_2160p10% plus rapide
  • oit_linked_lists4% plus rapide
  • pipeline_barriers7% plus rapide
  • subpasses8% plus rapide

Pilote personnalisé contre pilote système, par scène. Les barres vers la droite sont plus rapides, vers la gauche plus lentes.

De petites zones de l'image diffèrent de celles du pilote système dans 1 scène (pipeline_barriers : 1482 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.

N'a pas démarré à chaque fois : compute_nbody (système 3 sur 3, personnalisé 0 sur 3).

Conditions inégales : la fréquence du GPU différait pendant 1 de ces scènes (par exemple subpasses : système à 88% du maximum de l'appareil, personnalisé à 100%). Une partie de l'écart de temps de frame vient de la fréquence choisie par l'appareil, pas du pilote.

Détails de Turnip_v27.0.0-R1 Détails de Turnip-Rutabaga-v3

Vérifications des fonctionnalités qui diffèrent (0)

Chaque vérification de fonctionnalité se termine de la même façon sur les deux pilotes.

Scènes du benchmark

ScèneTurnip_v27.0.0-R1 msTurnip-Rutabaga-v3 msÉcartDémarragesFréquence du GPU, MHzImage vs système
compute_nbody89.38 typique 89.17n/aun seul côté3 sur 3 contre 0 sur 31115 contre ? fréquence inconnuenon vérifié
hdr_2160p347.46 typique 347.29317.11 typique 310.7210% plus rapide3 sur 3 contre 3 sur 31115 contre 1068 pas de grande différence 0.0 pas de petite différence pire 0.0 64x36
oit_linked_lists98.08 typique 96.1894.48 typique 94.294% plus rapide3 sur 3 contre 3 sur 31115 contre 1115 pas de grande différence 0.0 pas de petite différence pire 0.0 64x36
pipeline_barriers45.04 typique 45.3542.19 typique 42.597% plus rapide3 sur 3 contre 3 sur 31115 contre 1115 pas de grande différence 10.6 diffère dans 1482 petites zones pire 62.3 64x36
subpasses88.72 typique 88.7382.30 typique 82.298% plus rapide3 sur 3 contre 3 sur 3982 contre 1115 non comparablenon vérifié

Temps pour dessiner une frame, par scène : le temps de frame moyen de la meilleure passe de la scène, ce qui correspond au nombre de frames livrées par le pilote ; plus c'est bas, plus c'est rapide. « Typique » à côté est la frame médiane, qui peut être bien sous la moyenne quand les frames d'un pilote arrivent à deux vitesses. Deux rapports faits avant l'enregistrement des moyennes par passe sont comparés sur la médiane. Une scène dont les passes diffèrent de plus de 15% est écartée. Une scène marquée « plafonné » a été maintenue à ce temps de frame moyen par le pilote ou par la file d'affichage, avec au moins une autre scène du même test ; son temps indique comment les frames étaient espacées, pas la vitesse de rendu du pilote, donc elle n'est pas comparée. Une scène marquée « trop légère » a pris moins de 8 ms à la taille standard (1920 par 1080) sur les deux pilotes, où la file de frames de l'écran espace les frames plus que la puce ; c'est sa version plus lourde qui est comparée : la ligne se terminant par _2160p est la scène dessinée en 3840 par 2160, et compute_nbody_2x est cette scène avec deux fois plus de particules. « Plus rapide » et « plus lent » décrivent Turnip-Rutabaga-v3 par rapport à Turnip_v27.0.0-R1. « Image vs système » compare une frame fixe par scène sous forme de grille de couleurs grossière (0 signifie identique, au-dessus de 40 c'est une image différente) ; elle repère une scène qui n'a pas été dessinée. Quand les deux rapports contiennent la grille 64x36 plus fine, le second chiffre est le nombre de ses 2 304 cellules qui diffèrent de plus de 4 sur 255, et « pire » est la plus grande différence sur une seule cellule ; c'est ce qui repère une petite erreur de rendu dans une image qui correspond par ailleurs. Une ligne marquée 16x9 vient d'un rapport fait avant l'existence de la grille plus fine. « Démarrages » est le nombre de lancements de processus d'une scène qui ont atteint une passe mesurée. Une fréquence du GPU marquée « non comparable » différait de plus de 5% du maximum de l'appareil entre les deux mesures.

Différences techniques (Vulkan)

Extensions uniquement dans Turnip-Rutabaga-v3 (4)
  • VK_EXT_depth_range_unrestricted
  • VK_EXT_frame_boundary
  • VK_EXT_pipeline_robustness
  • VK_KHR_cooperative_matrix
Extensions uniquement dans 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
Fonctionnalités de base qui diffèrent (57)
multiview Vulkan 1.1réussi à non pris en charge
samplerYcbcrConversion Vulkan 1.1réussi à non pris en charge
shaderDrawParameters Vulkan 1.1réussi à non pris en charge
variablePointers Vulkan 1.1réussi à non pris en charge
variablePointersStorageBuffer Vulkan 1.1réussi à non pris en charge
bufferDeviceAddress Vulkan 1.2réussi à non pris en charge
bufferDeviceAddressCaptureReplay Vulkan 1.2réussi à non pris en charge
descriptorBindingPartiallyBound Vulkan 1.2réussi à non pris en charge
descriptorBindingSampledImageUpdateAfterBind Vulkan 1.2réussi à non pris en charge
descriptorBindingStorageBufferUpdateAfterBind Vulkan 1.2réussi à non pris en charge
descriptorBindingStorageImageUpdateAfterBind Vulkan 1.2réussi à non pris en charge
descriptorBindingStorageTexelBufferUpdateAfterBind Vulkan 1.2réussi à non pris en charge
descriptorBindingUniformBufferUpdateAfterBind Vulkan 1.2réussi à non pris en charge
descriptorBindingUniformTexelBufferUpdateAfterBind Vulkan 1.2réussi à non pris en charge
descriptorBindingUpdateUnusedWhilePending Vulkan 1.2réussi à non pris en charge
descriptorBindingVariableDescriptorCount Vulkan 1.2réussi à non pris en charge
descriptorIndexing Vulkan 1.2réussi à non pris en charge
drawIndirectCount Vulkan 1.2réussi à non pris en charge
hostQueryReset Vulkan 1.2réussi à non pris en charge
imagelessFramebuffer Vulkan 1.2réussi à non pris en charge
runtimeDescriptorArray Vulkan 1.2réussi à non pris en charge
samplerMirrorClampToEdge Vulkan 1.2réussi à non pris en charge
scalarBlockLayout Vulkan 1.2réussi à non pris en charge
separateDepthStencilLayouts Vulkan 1.2réussi à non pris en charge
shaderFloat16 Vulkan 1.2réussi à non pris en charge
shaderInt8 Vulkan 1.2réussi à non pris en charge
shaderOutputLayer Vulkan 1.2réussi à non pris en charge
shaderOutputViewportIndex Vulkan 1.2réussi à non pris en charge
shaderSampledImageArrayNonUniformIndexing Vulkan 1.2réussi à non pris en charge
shaderStorageBufferArrayNonUniformIndexing Vulkan 1.2réussi à non pris en charge
shaderStorageImageArrayNonUniformIndexing Vulkan 1.2réussi à non pris en charge
shaderStorageTexelBufferArrayDynamicIndexing Vulkan 1.2réussi à non pris en charge
shaderStorageTexelBufferArrayNonUniformIndexing Vulkan 1.2réussi à non pris en charge
shaderSubgroupExtendedTypes Vulkan 1.2réussi à non pris en charge
shaderUniformBufferArrayNonUniformIndexing Vulkan 1.2réussi à non pris en charge
shaderUniformTexelBufferArrayDynamicIndexing Vulkan 1.2réussi à non pris en charge
shaderUniformTexelBufferArrayNonUniformIndexing Vulkan 1.2réussi à non pris en charge
subgroupBroadcastDynamicId Vulkan 1.2réussi à non pris en charge
timelineSemaphore Vulkan 1.2réussi à non pris en charge
uniformBufferStandardLayout Vulkan 1.2réussi à non pris en charge
vulkanMemoryModel Vulkan 1.2réussi à non pris en charge
vulkanMemoryModelAvailabilityVisibilityChains Vulkan 1.2réussi à non pris en charge
vulkanMemoryModelDeviceScope Vulkan 1.2réussi à non pris en charge
computeFullSubgroups Vulkan 1.3réussi à non pris en charge
descriptorBindingInlineUniformBlockUpdateAfterBind Vulkan 1.3réussi à non pris en charge
dynamicRendering Vulkan 1.3réussi à non pris en charge
inlineUniformBlock Vulkan 1.3réussi à non pris en charge
maintenance4 Vulkan 1.3réussi à non pris en charge
pipelineCreationCacheControl Vulkan 1.3réussi à non pris en charge
privateData Vulkan 1.3réussi à non pris en charge
robustImageAccess Vulkan 1.3réussi à non pris en charge
shaderDemoteToHelperInvocation Vulkan 1.3réussi à non pris en charge
shaderIntegerDotProduct Vulkan 1.3réussi à non pris en charge
shaderTerminateInvocation Vulkan 1.3réussi à non pris en charge
shaderZeroInitializeWorkgroupMemory Vulkan 1.3réussi à non pris en charge
subgroupSizeControl Vulkan 1.3réussi à non pris en charge
synchronization2 Vulkan 1.3réussi à non pris en charge
Limites qui diffèrent (0)
LimiteTurnip_v27.0.0-R1Turnip-Rutabaga-v3
Formats pris en charge par un seul pilote (0 gagnés, 2 perdus)

Uniquement dans Turnip-Rutabaga-v3 :

  • Aucun

Uniquement dans Turnip_v27.0.0-R1 :

  • A1B5G5R5_UNORM_PACK16
  • A8_UNORM