Release av Mesa 19.3.0, en gratis implementering av OpenGL och Vulkan

Introducerad release av en gratis implementering av OpenGL och Vulkan API - Mesa 19.3.0. Den första utgåvan av Mesa 19.3.0-grenen har en experimentell status - efter den slutliga stabiliseringen av koden kommer en stabil version 19.3.1 att släppas. I Mesa 19.3 genomförs Fullständigt OpenGL 4.6-stöd för Intel GPU:er (i965, iris-drivrutiner), OpenGL 4.5-stöd för AMD (r600, radeonsi) och NVIDIA (nvc0) GPU:er och Vulkan 1.1-stöd för Intel- och AMD-kort. Gårdagens ändringar för att stödja OpenGL 4.6 också Lagt till in i radeonsi-drivrutinen, men de ingick inte i Mesa 19.3-grenen.

Bland ändringar:

  • En ny backend för att kompilera shaders har föreslagits för RADV (Vulkan-drivrutin för AMD-chips) "ACO", som utvecklas av Valve som ett alternativ till LLVM shader-kompilatorn. Backend är inriktat på att säkerställa kodgenerering som är så optimal som möjligt för spelapplikationsshaders, samt att uppnå mycket hög kompileringshastighet. ACO är skrivet i C++, designat med JIT-kompilering i åtanke, och använder snabba iterativa datastrukturer och undviker pekarbaserade strukturer. Den mellanliggande representationen av koden är helt baserad på SSA (Static Single Assignment) och tillåter registerallokering genom att noggrant förberäkna registret beroende på shader. ACO kan aktiveras för Vega 8, Vega 9, Vega 10 och Navi 10 GPU:er genom att ställa in miljövariabeln "RADV_PERFTEST=aco";
  • Gallium3D-drivrutin ingår i kodbasen Zink, som implementerar OpenGL API ovanpå Vulkan. Zink låter dig få hårdvaruaccelererad OpenGL om systemet har drivrutiner begränsade till att endast stödja Vulkan API;
  • ANV Vulkan-drivrutinen och iris OpenGL-drivrutinen ger initialt stöd för den 12:e generationen Intel-chips (Tiger Lake, gen12). I Linux-kärnan har komponenter för att stödja Tiger Lake inkluderats sedan release 5.4;
  • i965 och iris drivrutiner ger stöd för en mellanrepresentation av SPIR-V shaders, vilket gjorde det möjligt att uppnå fullt stöd i dessa drivrutiner OpenGL 4.6;
  • RadeonSI-drivrutinen lägger till stöd för AMD Navi 14 GPU:er och förbättrar videoavkodningsaccelerationen, till exempel genom att lägga till stöd för avkodning av 8K-video i H.265- och VP9-format;
  • Lagt till stöd för RADV Vulkan-drivrutinen skyddad sammanställning, där trådarna som lanseras för att kompilera shaders är isolerade med hjälp av seccomp-mekanismen. Läget är aktiverat med miljövariabeln RADV_SECURE_COMPILE_THREADS;
  • Drivrutiner för AMD-chips använder AMDGPU som dök upp i kärnmodulen mjukvarugränssnitt för att återställa GPU:n;
  • Arbete har gjorts för att förbättra prestandan på system med AMD Radeon APU:er. Prestanda för Gallium3D-drivrutinen Iris för Intel GPU:er har också förbättrats;
  • I Gallium3D-drivrutinen LLVMpipe, som tillhandahåller mjukvarurendering, dök stöd för beräkningsskuggning;
  • Shader-cachesystem på disk optimerad för system med fler än 4 CPU-kärnor;
  • Aktiverade Meson-byggsystem för att kompilera på Windows med MSVC och MinGW. Användningen av scons för att bygga har fasats ut på icke-Windows-system;
  • Implementerad EGL-tillägg EGL_EXT_image_flush_external;
  • Lade till nya OpenGL-tillägg:
  • Tillägg till RADV Vulkan-drivrutinen (för AMD-kort):
  • Tillägg till ANV Vulkan-drivrutinen (för Intel-kort):

Dessutom kan det noteras offentliggörande av AMD dokumentation enligt kommandoarkitekturen för "Vega" 7nm APU baserad på GCN (Graphics Core Next) mikroarkitektur.

Källa: opennet.ru

Lägg en kommentar