Lansarea Mesa 19.3.0, o implementare gratuită a OpenGL și Vulkan

Introdus lansarea unei implementări gratuite a API-ului OpenGL și Vulkan - Mesa 19.3.0. Prima lansare a ramurii Mesa 19.3.0 are un statut experimental - după stabilizarea finală a codului, va fi lansată o versiune stabilă 19.3.1. În Mesa 19.3 implementate Suport complet OpenGL 4.6 pentru GPU-uri Intel (i965, drivere iris), suport OpenGL 4.5 pentru GPU-uri AMD (r600, radeonsi) și NVIDIA (nvc0) și suport Vulkan 1.1 pentru carduri Intel și AMD. Modificările de ieri pentru a suporta și OpenGL 4.6 adăugat în șoferul radeonsi, dar nu au fost incluși în filiala Mesa 19.3.

Printre schimbări:

  • Un nou backend pentru compilarea shaderelor a fost propus pentru RADV (driver Vulkan pentru cipuri AMD) "ACO„, care este dezvoltat de Valve ca o alternativă la compilatorul de shader LLVM. Backend-ul are ca scop asigurarea unei generări de cod cât mai optime pentru aplicațiile de umbrare a jocurilor, precum și atingerea unei viteze foarte mari de compilare. ACO este scris în C++, proiectat având în vedere compilarea JIT și utilizează structuri de date iterative rapide, evitând structurile bazate pe pointeri. Reprezentarea intermediară a codului se bazează în întregime pe SSA (Static Single Assignment) și permite alocarea registrului prin precalcularea precisă a registrului în funcție de shader. ACO poate fi activat pentru GPU-urile Vega 8, Vega 9, Vega 10 și Navi 10 prin setarea variabilei de mediu „RADV_PERFTEST=aco”;
  • Driver Gallium3D inclus în baza de cod Zink, care implementează API-ul OpenGL pe Vulkan. Zink vă permite să obțineți OpenGL accelerat hardware dacă sistemul are drivere limitate la suportarea doar API-ul Vulkan;
  • Driverul ANV Vulkan și driverul iris OpenGL oferă suport inițial pentru a 12-a generație de cipuri Intel (Tiger Lake, gen12). În nucleul Linux, componentele pentru a suporta Tiger Lake au fost incluse începând cu lansarea 5.4;
  • Driverele i965 și iris oferă suport pentru o reprezentare intermediară a shaderelor SPIR-V, ceea ce a făcut posibilă obținerea unui suport complet în aceste drivere OpenGL 4.6;
  • Driverul RadeonSI adaugă suport pentru GPU-urile AMD Navi 14 și îmbunătățește accelerarea decodării video, de exemplu, adăugând suport pentru decodarea video 8K în formatele H.265 și VP9;
  • S-a adăugat suport pentru driverul RADV Vulkan compilare protejată, în care firele lansate pentru a compila shaders sunt izolate folosind mecanismul seccomp. Modul este activat folosind variabila de mediu RADV_SECURE_COMPILE_THREADS;
  • Driverele pentru cipuri AMD folosesc AMDGPU care a apărut în modulul kernel interfata software pentru a reseta GPU-ul;
  • S-a lucrat pentru a îmbunătăți performanța sistemelor cu APU-uri AMD Radeon. Performanța driverului Gallium3D Iris pentru GPU Intel a fost, de asemenea, îmbunătățită;
  • În driverul Gallium3D LLVMpipe, care oferă redare software, a apărut suport pentru shaders computaționali;
  • Sistem de stocare în cache Shader pe disc optimizat pentru sisteme cu mai mult de 4 nuclee CPU;
  • S-a activat sistemul de compilare Meson pentru a compila pe Windows folosind MSVC și MinGW. Utilizarea scons pentru a construi a fost depreciată pe sistemele non-Windows;
  • Extensia EGL implementată EGL_EXT_image_flush_external;
  • S-au adăugat noi extensii OpenGL:
  • Următoarele extensii au fost adăugate la driverul RADV Vulkan (pentru cardurile AMD):
  • S-au adăugat extensii la driverul ANV Vulkan (pentru plăcile Intel):

În plus, se poate observa publicare de AMD documentație conform arhitecturii de comandă a APU-ului „Vega” 7nm bazat pe microarhitectura GCN (Graphics Core Next).

Sursa: opennet.ru

Adauga un comentariu