FauxVkDB
Français

Turnip_v27.0.0-R1 contre Turnip-Rutabaga-v3

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-Rutabaga-v3Mesa 26.3.0-devel (git-b00479181d)
contre
PersonnaliséTurnip_v27.0.0-R1Mesa 27.0.0-devel (git-f28352d117)
Version du système graphique (Vulkan)1.0.359 à 1.3.363
Fonctionnalités optionnelles (extensions)145 à 158+17 -4
Fonctionnalités qui réussissent leur vérification (validées)47 à 47réussissent les mêmes vérifications
Scènes du benchmark0 plus rapide 4 plus lentes7% plus lent 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_2160p9% plus lent
  • oit_linked_lists4% plus lent
  • pipeline_barriers6% plus lent
  • subpasses7% plus lent

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 0 sur 3, personnalisé 3 sur 3).

Conditions inégales : la fréquence du GPU différait pendant 1 de ces scènes (par exemple subpasses : système à 100% du maximum de l'appareil, personnalisé à 88%). 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-Rutabaga-v3 Détails de Turnip_v27.0.0-R1

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-Rutabaga-v3 msTurnip_v27.0.0-R1 msÉcartDémarragesFréquence du GPU, MHzImage vs système
compute_nbodyn/a89.38 typique 89.17un seul côté0 sur 3 contre 3 sur 3? contre 1115 fréquence inconnuenon vérifié
hdr_2160p317.11 typique 310.72347.46 typique 347.299% plus lent3 sur 3 contre 3 sur 31068 contre 1115 pas de grande différence 0.0 pas de petite différence pire 0.0 64x36
oit_linked_lists94.48 typique 94.2998.08 typique 96.184% plus lent3 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_barriers42.19 typique 42.5945.04 typique 45.356% plus lent3 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
subpasses82.30 typique 82.2988.72 typique 88.737% plus lent3 sur 3 contre 3 sur 31115 contre 982 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_v27.0.0-R1 par rapport à Turnip-Rutabaga-v3. « 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_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
Extensions uniquement dans Turnip-Rutabaga-v3 (4)
  • VK_EXT_depth_range_unrestricted
  • VK_EXT_frame_boundary
  • VK_EXT_pipeline_robustness
  • VK_KHR_cooperative_matrix
Fonctionnalités de base qui diffèrent (57)
multiview Vulkan 1.1non pris en charge à réussi
samplerYcbcrConversion Vulkan 1.1non pris en charge à réussi
shaderDrawParameters Vulkan 1.1non pris en charge à réussi
variablePointers Vulkan 1.1non pris en charge à réussi
variablePointersStorageBuffer Vulkan 1.1non pris en charge à réussi
bufferDeviceAddress Vulkan 1.2non pris en charge à réussi
bufferDeviceAddressCaptureReplay Vulkan 1.2non pris en charge à réussi
descriptorBindingPartiallyBound Vulkan 1.2non pris en charge à réussi
descriptorBindingSampledImageUpdateAfterBind Vulkan 1.2non pris en charge à réussi
descriptorBindingStorageBufferUpdateAfterBind Vulkan 1.2non pris en charge à réussi
descriptorBindingStorageImageUpdateAfterBind Vulkan 1.2non pris en charge à réussi
descriptorBindingStorageTexelBufferUpdateAfterBind Vulkan 1.2non pris en charge à réussi
descriptorBindingUniformBufferUpdateAfterBind Vulkan 1.2non pris en charge à réussi
descriptorBindingUniformTexelBufferUpdateAfterBind Vulkan 1.2non pris en charge à réussi
descriptorBindingUpdateUnusedWhilePending Vulkan 1.2non pris en charge à réussi
descriptorBindingVariableDescriptorCount Vulkan 1.2non pris en charge à réussi
descriptorIndexing Vulkan 1.2non pris en charge à réussi
drawIndirectCount Vulkan 1.2non pris en charge à réussi
hostQueryReset Vulkan 1.2non pris en charge à réussi
imagelessFramebuffer Vulkan 1.2non pris en charge à réussi
runtimeDescriptorArray Vulkan 1.2non pris en charge à réussi
samplerMirrorClampToEdge Vulkan 1.2non pris en charge à réussi
scalarBlockLayout Vulkan 1.2non pris en charge à réussi
separateDepthStencilLayouts Vulkan 1.2non pris en charge à réussi
shaderFloat16 Vulkan 1.2non pris en charge à réussi
shaderInt8 Vulkan 1.2non pris en charge à réussi
shaderOutputLayer Vulkan 1.2non pris en charge à réussi
shaderOutputViewportIndex Vulkan 1.2non pris en charge à réussi
shaderSampledImageArrayNonUniformIndexing Vulkan 1.2non pris en charge à réussi
shaderStorageBufferArrayNonUniformIndexing Vulkan 1.2non pris en charge à réussi
shaderStorageImageArrayNonUniformIndexing Vulkan 1.2non pris en charge à réussi
shaderStorageTexelBufferArrayDynamicIndexing Vulkan 1.2non pris en charge à réussi
shaderStorageTexelBufferArrayNonUniformIndexing Vulkan 1.2non pris en charge à réussi
shaderSubgroupExtendedTypes Vulkan 1.2non pris en charge à réussi
shaderUniformBufferArrayNonUniformIndexing Vulkan 1.2non pris en charge à réussi
shaderUniformTexelBufferArrayDynamicIndexing Vulkan 1.2non pris en charge à réussi
shaderUniformTexelBufferArrayNonUniformIndexing Vulkan 1.2non pris en charge à réussi
subgroupBroadcastDynamicId Vulkan 1.2non pris en charge à réussi
timelineSemaphore Vulkan 1.2non pris en charge à réussi
uniformBufferStandardLayout Vulkan 1.2non pris en charge à réussi
vulkanMemoryModel Vulkan 1.2non pris en charge à réussi
vulkanMemoryModelAvailabilityVisibilityChains Vulkan 1.2non pris en charge à réussi
vulkanMemoryModelDeviceScope Vulkan 1.2non pris en charge à réussi
computeFullSubgroups Vulkan 1.3non pris en charge à réussi
descriptorBindingInlineUniformBlockUpdateAfterBind Vulkan 1.3non pris en charge à réussi
dynamicRendering Vulkan 1.3non pris en charge à réussi
inlineUniformBlock Vulkan 1.3non pris en charge à réussi
maintenance4 Vulkan 1.3non pris en charge à réussi
pipelineCreationCacheControl Vulkan 1.3non pris en charge à réussi
privateData Vulkan 1.3non pris en charge à réussi
robustImageAccess Vulkan 1.3non pris en charge à réussi
shaderDemoteToHelperInvocation Vulkan 1.3non pris en charge à réussi
shaderIntegerDotProduct Vulkan 1.3non pris en charge à réussi
shaderTerminateInvocation Vulkan 1.3non pris en charge à réussi
shaderZeroInitializeWorkgroupMemory Vulkan 1.3non pris en charge à réussi
subgroupSizeControl Vulkan 1.3non pris en charge à réussi
synchronization2 Vulkan 1.3non pris en charge à réussi
Limites qui diffèrent (0)
LimiteTurnip-Rutabaga-v3Turnip_v27.0.0-R1
Formats pris en charge par un seul pilote (2 gagnés, 0 perdus)

Uniquement dans Turnip_v27.0.0-R1 :

  • A1B5G5R5_UNORM_PACK16
  • A8_UNORM

Uniquement dans Turnip-Rutabaga-v3 :

  • Aucun