Sortie de Mesa 22.0, une implémentation gratuite d'OpenGL et de Vulkan

Après quatre mois de développement, la sortie d'une implémentation gratuite des API OpenGL et Vulkan - Mesa 22.0.0 - a été publiée. La première version de la branche Mesa 22.0.0 a un statut expérimental - après la stabilisation finale du code, une version stable 22.0.1 sera publiée. La nouvelle version se distingue par l'implémentation de l'API graphique Vulkan 1.3 dans le pilote anv pour les GPU Intel et radv pour les GPU AMD.

La prise en charge de Vulkan 1.2 est disponible en mode émulateur (vn), la prise en charge de Vulkan 1.1 est disponible pour les GPU Qualcomm (tu) et le rastériseur du logiciel lavapipe, et la prise en charge de Vulkan 1.0 est disponible pour les GPU Broadcom VideoCore VI (Raspberry Pi 4). Mesa 22.0 fournit également une prise en charge complète d'OpenGL 4.6 pour les pilotes 965, iris (Intel), radeonsi (AMD), zink et llvmpipe. La prise en charge d'OpenGL 4.5 est disponible pour les GPU AMD (r600) et NVIDIA (nvc0), et la prise en charge d'OpenGL 4.3 pour virgl (GPU virtuel Virgil3D pour QEMU/KVM) et vmwgfx (VMware).

Principales nouveautés :

  • Ajout de la prise en charge de l'API graphique Vulkan 1.3.
  • Le code des pilotes OpenGL classiques qui n'utilisent pas l'interface Gallium3D a été déplacé du Mesa principal vers une branche distincte "Amber", comprenant les pilotes i915 et i965 pour les GPU Intel, r100 et r200 pour les GPU AMD et Nouveau pour les GPU NVIDIA. Le pilote SWR, qui proposait un rastériseur logiciel OpenGL basé sur le projet Intel OpenSWR, a également été déplacé vers la branche « Amber ». La bibliothèque xlib classique est exclue de la structure principale, à la place de laquelle il est recommandé d'utiliser la variante gallium-xlib.
  • Le pilote Gallium D3D12 avec une couche pour organiser le travail OpenGL au-dessus de l'API DirectX 12 (D3D12) garantit la compatibilité avec OpenGL ES 3.1. Le pilote est utilisé dans la couche WSL2 pour exécuter des applications graphiques Linux sous Windows.
  • La prise en charge des puces Intel Alderlake (S et N) a été ajoutée au pilote OpenGL « iris » et au pilote Vulkan « ANV ».
  • Les pilotes GPU Intel incluent par défaut la prise en charge de la technologie Adaptive-Sync (VRR), vous permettant de modifier de manière adaptative le taux de rafraîchissement du moniteur pour un affichage fluide et sans déchirure.
  • Le pilote RADV Vulkan (AMD) continue de mettre en œuvre la prise en charge du lancer de rayons et des shaders pour le traçage de rayons.
  • Le pilote v3dv, développé pour l'accélérateur graphique VideoCore VI, utilisé à partir du modèle Raspberry Pi 4, offre la possibilité de travailler sur la plateforme Android.
  • Pour EGL, un mécanisme « dma-buf feedback » est implémenté, qui fournit des informations supplémentaires sur les GPU disponibles et permet d'augmenter l'efficacité de l'échange de données entre le GPU principal et secondaire, par exemple pour organiser la sortie sans mise en mémoire tampon intermédiaire.
  • La prise en charge d'OpenGL 3 a été ajoutée au pilote vmwgfx, utilisé pour implémenter l'accélération 4.3D dans les environnements VMware.
  • La prise en charge des extensions a été ajoutée aux pilotes Vulkan RADV (AMD), ANV (Intel) et zink (OpenGL sur Vulkan) :
    • VK_KHR_dynamic_rendering (lavapipe, radv, anv)
    • VK_EXT_image_view_min_lod (radv) KHR_synchronization2.txt VK_KHR_synchronization2]] (radv)
    • VK_EXT_memory_object (zink)
    • VK_EXT_memory_object_fd (zink)
    • VK_EXT_sémaphore (zink)
    • VK_EXT_semaphore_fd (zink)
    • VK_VALVE_mutable_descriptor_type (zink)
  • Ajout de nouvelles extensions OpenGL :
    • GL_ARB_sparse_texture (radeonsi, zinc)
    • GL_ARB_sparse_texture2 (radeonsi, zinc)
    • GL_ARB_sparse_texture_clamp (radeonsi, zinc)
    • GL_ARB_framebuffer_no_attachments
    • GL_ARB_sample_shading

    Source: opennet.ru

Ajouter un commentaire