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

La version de l'implémentation gratuite des API OpenGL et Vulkan - Mesa 21.0.0 - a été présentée. La première version de la branche Mesa 21.0.0 a un statut expérimental - après la stabilisation finale du code, une version stable 21.0.1 sera publiée. Mesa 21.0 inclut la 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), ainsi que la prise en charge d'OpenGL 4.3 pour virgl (GPU virtuel Virgil3D pour QEMU/KVM). La prise en charge de Vulkan 1.2 est implémentée pour les cartes Intel et AMD, et de Vulkan 1.0 pour VideoCore VI (Raspberry Pi 4).

Principales nouveautés :

  • Le pilote Zink (implémentation de l'API OpenGL au-dessus de Vulkan) prend en charge OpenGL 4.6. Zink vous permet d'obtenir OpenGL à accélération matérielle si le système dispose de pilotes limités à la prise en charge uniquement de l'API Vulkan. Les performances de Zink sont proches de celles des implémentations natives d'OpenGL.
  • Le pilote llvmpipe, conçu pour le rendu logiciel, prend en charge OpenGL 4.6.
  • Le pilote Freedreno, utilisé pour le sous-système graphique des puces Qualcomm, prend en charge OpenGL ES 6 pour le GPU Adreno a3.0xx.
  • Le pilote Panfrost pour les GPU Midgard (Mali-T7xx, Mali-T8xx) et Bifrost (Mali G3x, G5x, G7x) prend en charge OpenGL 3.1, ainsi que la prise en charge d'OpenGL ES 3.0 pour les GPU Bifrost.
  • Le pilote radeonsi prend désormais en charge les extensions OpenGL GL_EXT_demote_to_helper_invocation et GL_NV_compute_shader_derivatives. Pour le jeu "Counter-Strike : Global Offensive", le mode d'optimisation "mesa_glthread" est activé par défaut, permettant d'augmenter les performances de 10 à 20 %. Implémentation d'optimisations qui affectent la réussite des tests SPECViewPerf. Ajout de la prise en charge de l'outil de profilage Radeon GPU Profiler (RGP). Pour GPU Zen 3 et RDNA 2, la prise en charge de la technologie Smart Access Memory a été ajoutée. Ajout de la prise en charge des encodeurs HEVC SAO (Sample Adaptive Offset, pour les GPU prenant en charge les moteurs VCN2, VCN2.5 et VCN3) et des décodeurs AV1 (pour RDNA 2/RX 6000 et uniquement via l'interface OpenMAX).
  • Le pilote RADV Vulkan (pour les cartes AMD) a ajouté la prise en charge de la technologie mathématique Rapid Packed (vectorisation 16 bits) et de la mémoire Sparse (permet de placer des ressources telles que des images et des textures de manière incohérente et de les rattacher à différentes opérations d'allocation de mémoire). Une optimisation des performances a été effectuée pour les cartes de la série RX 6000. Les extensions VK_VALVE_mutable_descriptor_type et VK_KHR_fragment_shading_rate ont été ajoutées (RDNA2 uniquement).
  • Les pilotes Intel ANV et Iris ajoutent des optimisations de performances et offrent une prise en charge initiale des extensions de traçage de rayons Vulkan implémentées dans les cartes graphiques Xe HPG.
  • Ajout de la prise en charge de l'extension EGL_MESA_platform_xcb, qui permet aux applications de créer des ressources EGL à partir de ressources X11 sans accéder à Xlib.
  • Le pilote Vulkan V3DV, développé pour l'accélérateur graphique VideoCore VI utilisé dans les cartes Raspberry Pi 4 basées sur la puce Broadcom BCM2711, a ajouté la prise en charge de Wayland WSI (Windowing System Integration), permettant l'accès à l'API Vulkan à partir d'environnements basés sur Wayland.
  • L'implémentation initiale d'une couche qui traduit les appels OpenGL dans l'API DirectX 12 a été adoptée pour organiser le travail des applications graphiques dans un environnement WSL (Windows Subsystem for Linux). De plus, la bibliothèque spirv_to_dxil pour convertir la représentation intermédiaire des shaders SPIR-V en DXIL (DirectX Intermediate Language), développée par Microsoft, est incluse.
  • Prise en charge retravaillée et considérablement améliorée de Haiku OS.
  • Les paramètres glx_disable_oml_sync_control, glx_disable_sgi_video_sync et glx_disable_ext_buffer_age ont été supprimés de driconf.
  • Suppression de la prise en charge de DRI1 et arrêt du chargement des pilotes DRI à partir des versions Mesa antérieures à 8.0.
  • Le pilote swrast, construit sur la base de l'interface DRI classique et destiné au rendu logiciel OpenGL, a été supprimé (les pilotes de rendu logiciel restants llvmpipe et softpipe sont sensiblement en avance sur swrast en termes de performances et de fonctionnalités). La suppression de swrast a été facilitée par la présence de nombreux problèmes non résolus et l'apparition de régressions, malgré le fait que ce pilote n'est plus utilisé dans les distributions.
  • L'ancienne version classique de l'interface logicielle OSMesa a été supprimée (OSMesa basé sur Gallium reste), ce qui permet le rendu non pas à l'écran, mais dans un tampon en mémoire.

    Source: opennet.ru

Ajouter un commentaire