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

Introduit sortie d'une implémentation gratuite de l'API OpenGL et Vulkan - Mesa 19.3.0. La première version de la branche Mesa 19.3.0 a un statut expérimental - après la stabilisation finale du code, une version stable 19.3.1 sera publiée. Dans Mesa 19.3 mis en œuvre Prise en charge complète d'OpenGL 4.6 pour les GPU Intel (i965, pilotes iris), prise en charge d'OpenGL 4.5 pour les GPU AMD (r600, radeonsi) et NVIDIA (nvc0) et prise en charge de Vulkan 1.1 pour les cartes Intel et AMD. Modifications d'hier pour prendre également en charge OpenGL 4.6 ajoutée dans le pilote radeonsi, mais ils n'étaient pas inclus dans la branche Mesa 19.3.

parmi changements:

  • Un nouveau backend de compilation de shaders a été proposé pour RADV (pilote Vulkan pour puces AMD) "ACO», qui est développé par Valve comme alternative au compilateur de shader LLVM. Le backend vise à garantir une génération de code aussi optimale que possible pour les shaders d'applications de jeux, ainsi qu'à atteindre une vitesse de compilation très élevée. ACO est écrit en C++, conçu pour la compilation JIT et utilise des structures de données itératives rapides, évitant les structures basées sur des pointeurs. La représentation intermédiaire du code est entièrement basée sur SSA (Static Single Assignment) et permet l'allocation de registre en pré-calculant précisément le registre en fonction du shader. ACO peut être activé pour les GPU Vega 8, Vega 9, Vega 10 et Navi 10 en définissant la variable d'environnement « RADV_PERFTEST=aco » ;
  • Pilote Gallium3D inclus dans la base de code Zink, qui implémente l'API OpenGL au-dessus de Vulkan. Zink vous permet d'obtenir une accélération matérielle OpenGL si le système dispose de pilotes limités à la prise en charge uniquement de l'API Vulkan ;
  • Le pilote ANV Vulkan et le pilote iris OpenGL fournissent une prise en charge initiale de la 12e génération de puces Intel (Tiger Lake, gen12). Dans le noyau Linux, les composants prenant en charge Tiger Lake ont été inclus depuis la version 5.4 ;
  • Les pilotes i965 et iris prennent en charge une représentation intermédiaire des shaders SPIR-V, ce qui a permis d'obtenir une prise en charge complète dans ces pilotes OpenGL 4.6;
  • Le pilote RadeonSI ajoute la prise en charge des GPU AMD Navi 14 et améliore l'accélération du décodage vidéo, par exemple en ajoutant la prise en charge du décodage de la vidéo 8K aux formats H.265 et VP9 ;
  • Ajout de la prise en charge du pilote RADV Vulkan compilation protégée, dans lequel les threads lancés pour compiler les shaders sont isolés à l'aide du mécanisme seccomp. Le mode est activé à l'aide de la variable d'environnement RADV_SECURE_COMPILE_THREADS ;
  • Les pilotes pour les puces AMD utilisent l'AMDGPU apparu dans le module du noyau interface logicielle pour réinitialiser le GPU ;
  • Des travaux ont été effectués pour améliorer les performances des systèmes équipés d'APU AMD Radeon. Les performances du pilote Gallium3D Iris pour les GPU Intel ont également été améliorées ;
  • Dans le pilote Gallium3D LLVMpipe, qui assure le rendu logiciel, apparu prise en charge des shaders informatiques ;
  • Système de mise en cache des shaders sur disque optimisé pour les systèmes avec plus de 4 cœurs de processeur ;
  • Activation du système de construction Meson pour compiler sous Windows à l'aide de MSVC et MinGW. L'utilisation de scons pour construire est obsolète sur les systèmes non Windows ;
  • Extension EGL implémentée EGL_EXT_image_flush_external ;
  • Ajout de nouvelles extensions OpenGL :
  • Ajout d'extensions au pilote RADV Vulkan (pour les cartes AMD) :
  • Extensions ajoutées au pilote ANV Vulkan (pour les cartes Intel) :

De plus, on peut noter la publication de par AMD documentation selon l'architecture de commande de l'APU « Vega » 7 nm basée sur la microarchitecture GCN (Graphics Core Next).

Source: opennet.ru

Ajouter un commentaire