Nach vier Monaten Entwicklungszeit wurde die Veröffentlichung einer kostenlosen Implementierung der OpenGL- und Vulkan-APIs – Mesa 21.3.0 – veröffentlicht. Die erste Veröffentlichung des Mesa 21.3.0-Zweigs hat einen experimentellen Status – nach der endgültigen Stabilisierung des Codes wird eine stabile Version 21.3.1 veröffentlicht.
Mesa 21.3 bietet volle OpenGL 4.6-Unterstützung für die Treiber 965, Iris (Intel), Radeonsi (AMD), Zink und llvmpipe. OpenGL 4.5-Unterstützung ist für AMD- (r600) und NVIDIA- (nvc0) GPUs sowie OpenGL 4.3 für Virgl (virtuelle Virgil3D-GPU für QEMU/KVM) verfügbar. Vulkan 1.2-Unterstützung ist für Intel- und AMD-Karten sowie im Emulatormodus (vn) und im Lavapipe-Software-Rasterizer verfügbar. Vulkan 1.1-Unterstützung ist für Qualcomm-GPUs und den Lavapipe-Software-Rasterizer verfügbar. Vulkan 1.0 ist für die Broadcom VideoCore VI (Raspberry Pi 4) GPU verfügbar.
Wichtigste Neuerungen:
- Der Zink-Treiber (eine Implementierung der OpenGL-API auf Vulkan, die Ihnen hardwarebeschleunigtes OpenGL ermöglicht, wenn Ihr System über Treiber verfügt, die nur die Vulkan-API unterstützen) implementiert Unterstützung für OpenGL ES 3.2.
- Der Panfrost-Treiber, der für die Verwendung mit GPUs auf Basis der Mikroarchitekturen Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) und Bifrost (Mali G3x, G5x, G7x) entwickelt wurde, ist offiziell für die Kompatibilität mit OpenGL ES 3.1 zertifiziert.
- Der v3dv-Treiber, der für den Grafikbeschleuniger VideoCore VI entwickelt wurde, der ab dem Raspberry Pi 4-Modell verwendet wird, bietet zertifizierte Unterstützung für die Grafik-API Vulkan 1.1 und bietet Unterstützung für geometrische Shader. Die Leistung des vom Shader-Compiler generierten Codes wurde deutlich gesteigert, was sich positiv auf die Geschwindigkeit von Programmen auswirkt, die aktiv Shader verwenden, wie beispielsweise Spiele auf Basis der Unreal Engine 4.
- Der AMD RADV Vulkan-Treiber wurde um experimentelle Unterstützung für Raytracing und Raytracing-Shader erweitert. Primitive Culling mit Next-Gen Geometry (NGG)-Shader-Engines ist für GFX10.3-Karten standardmäßig aktiviert.
- Der Iris OpenGL-Treiber (neuer Treiber für Intel-GPUs) hat die Möglichkeit zur Multithread-Shader-Kompilierung hinzugefügt.
- Der Lavapipe-Treiber, der einen Software-Rasterizer für die Vulkan-API implementiert (ähnlich wie llvmpipe, aber für Vulkan, indem er Vulkan-API-Aufrufe in die Gallium-API übersetzt), implementiert Unterstützung für anisotrope Texturfilterung und fügt Unterstützung für Vulkan 1.2 hinzu.
- Der llvmpipe OpenGL-Treiber für Software-Rendering bietet eine zwei- bis dreifache Leistungssteigerung bei 2D-Operationen. Unterstützung für FP3-Operationen, anisotrope Texturfilterung (GL_ARB_texture_filter_anisotrop) und Memory Pinning (GL_AMD_pinned_memory) wurde hinzugefügt. Unterstützung für das OpenGL 2-Kompatibilitätsprofil wurde bereitgestellt.
- Der VA-API-Status-Tracker (Video Acceleration API) wurde aktualisiert, um die Beschleunigung der AV1-Videokodierung und -dekodierung bei Verwendung von AMD-GPU-Treibern zu unterstützen.
- Für Plattform Windows EGL-Unterstützung wurde implementiert.
- Unterstützung für die Erweiterung EGL_EXT_present_opaque für Wayland hinzugefügt. Probleme mit der Transparenzanzeige in Spielen, die in Umgebungen mit dem Wayland-Protokoll ausgeführt werden, wurden behoben.
- Den Vulkan-Treibern RADV (AMD), ANV (Intel) und Lavapipe wurde Unterstützung für Erweiterungen hinzugefügt:
- VK_EXT_shader_atomic_float2 (Intel, RADV).
- VK_EXT_vertex_input_dynamic_state (RADV).
- VK_EXT_primitive_topology_list_restart (RADV, Lavapipe).
- VK_KHR_shader_integer_dot_product (RADV).
- VK_KHR_synchronization2 (Intel).
- VK_KHR_maintenance4 (RADV).
- VK_KHR_format_feature_flags2 (RADV).
- VK_KHR_shader_subgroup_extended_types (Lavapipe).
- VK_KHR_spirv_1_4 (Lavapipe).
- VK_KHR_timeline_semaphore (Lavapipe).
- VK_EXT_external_memory_host (Lavapipe).
- VK_KHR_depth_stencil_resolve (Lavapipe).
- VK_KHR_shader_float16_int8 (Lavapipe).
- VK_EXT_color_write_enable (Lavapipe).
Source: opennet.ru
