Veröffentlichung der freien Implementierung der APIs OpenGL und Vulkan — . Der erste Release der Mesa 20.1.0-Serie hat den Status experimentell — nach der endgültigen Stabilisierung des Codes wird die stabile Version 20.1.1 veröffentlicht. In Mesa 20.1 vollständige Unterstützung für OpenGL 4.6 für Intel-GPUs (i965, iris Treiber) und AMD (radeonsi), Unterstützung für OpenGL 4.5 für AMD-GPUs (r600) und NVIDIA (nvc0), OpenGL 4.3 für virgl (virtuelle GPU) für QEMU/KVM), sowie Unterstützung von Vulkan 1.2 für Intel- und AMD-Karten.
:
- eine Schicht zur Auswahl des aktiven Geräts für die Vulkan-API in Systemen mit mehreren Vulkan-fähigen GPUs, die ähnlich wie DRI_PRIME für OpenGL funktioniert. Für die Auswahl des aktiven Treibers und der GPU ist die Umgebungsvariable MESA_VK_DEVICE_SELECT vorgesehen (wenn nicht gesetzt, wird DRI_PRIME verwendet).
- Daten über die unterstützten im nächsten Jahr erwarteten Chips basierend auf einer neuen Mikroarchitektur wurden in die i965- und iris-Treiber für Intel-GPUs hinzugefügt. .
- Im entwickelten Vulkan-Treiber ANV für Intel-GPUs optimierungen für Chips basierend auf der Mikroarchitektur Icelake (Gen11), die die Verwendung reiner Farben beim Texturieren ermöglicht. Bei Tests in Dota2 konnte die Anzahl der Farbtransformationsoperationen um 95% gesenkt und die Leistung um 3,5% gesteigert werden.
- Im Vulkan-Treiber ANV Die Effizienz der Cache-Nutzung in Systemen mit Intel Ivybridge- und Haswell-Chips. Die Nutzung der Vulkan-Berechnungstests aus dem Geekbench 5-Test hat einen Leistungszuwachs von 330 % auf der Haswell GT3-Hardware gezeigt (der Zuwachs resultiert daraus, dass der Cache unter bestimmten Bedingungen zuvor nicht verwendet wurde).
- In Treiber für Intel-GPUs (, ) der „Schwarze Loch“-Modus (OpenGL-Erweiterung INTEL_blackhole_render), der alle Rendering-Operationen, die an die GPU übergeben werden, deaktiviert, aber die Verarbeitung von OpenGL-Operationen beibehält.
- Für Intel-Grafikchips wurde die zuvor für AMD-Chips hinzugefügte Unterstützung für Vektorisierung portiert , typeloses Zwischenformat (IR) von Shadern, das darauf abzielt, auf der untersten Ebene unter GLSL IR und dem internen IR von Mesa zu arbeiten. Praktisch gesehen hat die verbesserte Optimierung der Shader die Leistung von OpenGL und Vulkan in vielen Spielen auf Systemen mit Intel-GPU verbessert. Zum Beispiel in dem Spiel
Rise of the Tomb Raider lag der Leistungszuwachs bei 3 %, während es in Shadow of the Tomb Raider 10 % betrug. - Im Backend zur Kompilierung von Shadern „«, die von Valve als Alternative zum LLVM-Shader-Compiler entwickelt wird, unterstützt jetzt den Datentyp shaderInt16 für GPUs der GFX9+-Serie, was die Verwendung von 16-Bit-Ganzzahlen im Shader-Code ermöglicht. Für
AMD Navi-GPUs (GFX10) die Verwendung von NGG-Engines (Next-Gen Geometry) bei der Arbeit mit Vertex- und Tessellation-Shadern. - Für die GPUs AMD Navi 12 und Navi 14 wurde der angezeigte DCC-Modus (Delta Color Compression) unterstützt, der die Arbeit mit komprimierten Farbdatensätzen beim Bildschirm-Output ermöglicht.
- experimentelle Unterstützung von NIR für den klassischen Gallium3D-Treiber R600 (AMD Radeon HD 2000-6000) mit Unterstützung für geometrische, fragmentäre, vertex- und Shader.
- Im Vulkan-Treiber RADV optimiert ein Patch die Speicherverwaltung und erhöht die Leistung von Id Tech-Spielen auf Systemen mit AMD-APUs.
- Im Panfrost-Treiber wurde experimentelle Unterstützung für OpenGL ES 3.0 und die 3D-Darstellung für Bifrost-GPUs (Mali G31) implementiert. Eine erste Implementierung des Shader-Compilers, der einen GPU-spezifischen Bifrost-Befehlssatz unterstützt, wurde vorbereitet.
- Im Vulkan-Treiber TURNIP, der für Qualcomm Adreno-GPUs entwickelt wird, wurde die Unterstützung für geometrische Shader und .
- Im Gallium3D-Treiber LLVMpipe, der die Software-Rendering bereitstellt, Unterstützung von Tesselations-Shadern.
- eine große in glthread (Multithread-Implementierung von OpenGL). Nach den Änderungen erhöhte sich die Leistung des Rennsimulators Torcs um 16 % in der Standardkonfiguration und um 40 % bei Aktivierung von glthread.
- Option allow_draw_out_of_order (aktivierbar über driconf) zur Aktivierung von Optimierungen für die Beschleunigung von nicht geordneten Zeichenoperationen, wie sie in CAD-Systemen vorkommen. Bei Aktivierung dieser Option zeigt der Viewperf11-Test für Catia eine Beschleunigung um 7 %.
- Neue OpenGL-Erweiterungen wurden hinzugefügt:
- für i965.
- für Iris.
- für radeonsi und nvc0.
- für gles2.
- für radeonsi
- für alle Gallium-Treiber.
- für alle Gallium-Treiber sowie i915, i965 und swrast.
- für nvc0 (GM200+).
- für nvc0 (GM200+).
- Im Vulkan-Treiber RADV (für AMD-Karten) wurden folgende Erweiterungen hinzugefügt:
- für GFX8+ Karten bei Verwendung des Shader-Kompilierungs-Backends 'ACO'
- für GFX8+ Karten bei Verwendung des Shader-Kompilierungs-Backends 'ACO' (ausgenommen Unterstützung für storageInputOutput16)
- für GFX8+ Karten bei Verwendung des Shader-Kompilierungs-Backends 'ACO' (ausgenommen Unterstützung für storageInputOutput16)
- Im Vulkan-Treiber ANV (für Intel-Karten) wurden Erweiterungen hinzugefügt:
Quelle: opennet.ru
