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

Après deux mois de développement, la sortie d'une implémentation gratuite des API OpenGL et Vulkan - Mesa 22.1.0 - a été publiée. La première version de la branche Mesa 22.1.0 a un statut expérimental - après la stabilisation finale du code, une version stable 22.1.1 sera publiée.

Dans Mesa 22.1, la prise en charge de l'API graphique Vulkan 1.3 est disponible dans les pilotes anv pour les GPU Intel, radv pour les GPU AMD et le rastériseur du logiciel lavapipe. La prise en charge de Vulkan 1.2 est implémentée en mode émulateur (vn), Vulkan 1.1 est implémentée dans le pilote des GPU Qualcomm (tu). et Vulkan 1.0 dans le pilote pour GPU Broadcom VideoCore VI (Raspberry Pi 4). Mesa 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 :

  • Le pilote ANV Vulkan (Intel) et le pilote Iris OpenGL prennent en charge les cartes graphiques discrètes Intel DG2 (Arc Alchemist) et Arctic Sound-M.
  • Le pilote D3D12 avec une couche pour organiser le travail OpenGL au-dessus de l'API DirectX 12 (D3D12) garantit la compatibilité avec OpenGL 4.2. Le pilote est utilisé dans la couche WSL2 pour exécuter des applications graphiques Linux sous Windows.
  • Le pilote lavapipe, qui implémente un rastériseur logiciel pour l'API Vulkan (similaire à llvmpipe, mais pour Vulkan, traduisant les appels de l'API Vulkan vers l'API Gallium), prend en charge Vulkan 1.3.
  • Ajout de la prise en charge des GPU AMD GFX1036 et GFX1037.
  • Le pilote RADV (AMD) a implémenté l'élimination des primitives de rayons, qui améliore la prise en charge du lancer de rayons pour des jeux tels que DOOM Eternal.
  • Une première implémentation du pilote Vulkan pour GPU basé sur l'architecture PowerVR Rogue développée par Imagination a été proposée.
  • Le pilote Nouveau pour les anciens GPU GeForce 6/7/8 a été converti pour utiliser une représentation intermédiaire (IR) sans type des shaders NIR. La prise en charge NIR vous permet également d'obtenir la prise en charge de la représentation intermédiaire TGSI (Tungsten Graphics Shader Infrastructure) grâce à l'utilisation d'une couche de traduction NIR en TGSI.
  • La composition comprend un compilateur OpenCL compact, proposé par Intel et utilisé pour le lancer de rayons.
  • Le pilote OpenGL v3d, développé pour l'accélérateur graphique VideoCore VI, utilisé à partir du modèle Raspberry Pi 4, implémente la prise en charge de la mise en cache des shaders sur disque.
  • Pour les GPU AMD équipés du moteur de traitement vidéo VCN 2.0, la prise en charge EFC (Encoder Format Conversion) a été implémentée, permettant l'utilisation d'un encodeur vidéo matériel pour lire directement les surfaces RVB sans conversions RVB->YUV effectuées par les shaders.
  • Le pilote Crocus, développé pour les anciens GPU Intel basés sur des microarchitectures Gen4-Gen7 qui ne sont pas prises en charge par le pilote Iris, inclut un profil de compatibilité avec les anciennes versions d'OpenGL.
  • Le pilote PanVk, qui prend en charge l'API graphique Vulkan pour les GPU ARM Mali Midgard et Bifrost, a commencé à travailler sur la prise en charge des shaders de calcul.
  • Le pilote Venus avec une implémentation de GPU virtuel (virtio-gpu) basée sur l'API Vulkan a ajouté la prise en charge de la couche ANGLE, qui est responsable de la traduction des appels OpenGL ES vers OpenGL, Direct3D 9/11, Desktop GL et Vulkan.
  • Ajout de la prise en charge de l'extension OpenGL de NVIDIA GL_NV_pack_subimage, conçue pour mettre à jour les rectangles dans la mémoire hôte à l'aide des données du framebuffer ou de la texture.
  • La prise en charge des extensions a été ajoutée aux pilotes Vulkan RADV (AMD), ANV (Intel) et lavapipe :
    • VK_EXT_degree_clip_control pour lavapipe et RADV.
    • VK_EXT_graphics_pipeline_library pour lavapipe.
    • VK_EXT_primitives_generated_query pour lavapipe.
    • VK_EXT_image_2d_view_of_3d pour ANV et lavapipe.
    • VK_KHR_swapchain_mutable_format pour lavapipe.

Source: opennet.ru

Ajouter un commentaire