Release von Mesa 25.0, einer freien Implementierung von OpenGL und Vulkan.

Nach drei Monaten Entwicklung wurde die freie Implementierung der OpenGL- und Vulkan-API veröffentlicht — Mesa 25.0.0. Die erste Version der Reihe Mesa 25.0.0 hat den Status experimentell — nach der abschließenden Stabilisierung des Codes wird die stabile Version 25.0.1 veröffentlicht.

In Mesa 25.0 ist Unterstützung für die Grafik-API Vulkan 1.4 in den ANV-Treibern für Intel-GPUs, RADV für AMD-GPUs, NVK für NVIDIA-GPUs, Asahi für Apple-GPUs, Turnip für Qualcomm-GPUs und im Software-Rasterizer lavapipe (lvp) verfügbar. Im Emulator-Modus (vn) wird die API Vulkan 1.3 unterstützt, im PanVK-Treiber für ARM Mali-GPUs — Vulkan 1.1, und in den Treibern v3dv (GPU Broadcom VideoCore für Raspberry Pi 4+) und dzn (Implementierung von Vulkan über Direct3D 12) — Vulkan 1.0.

Mesa bietet ebenfalls umfassende Unterstützung für OpenGL 4.6 in den Treibern iris (Intel Gen 8+ GPU), radeonsi (AMD), Crocus (ältere Intel Gen 4-7 GPUs), zink, llvmpipe, virgl (virtuelle GPU Virgil3D für QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (Schicht zur Verwendung von OpenGL über DirectX 12) und asahi (GPU AGX, die in Apple M1- und M2-Chips verwendet wird). Die Unterstützung von OpenGL 4.5 ist für AMD-GPUs (r600) und NVIDIA (nvc0) verfügbar. OpenGL 3.3 wird in den Treibern softpipe (Software-Rasterizer) und nv50 (NVIDIA NV50) unterstützt.

Hauptneuheiten:

  • In den Vulkan-Treibern ANV (Intel), RADV (AMD), NVK (NVIDIA), Asahi (Apple), PanVK (ARM Mali) und Turnip (Qualcomm), sowie im Software-Rasterizer lavapipe (lvp) ist Unterstützung für die API Vulkan 1.4 erklärt (zuvor wurde die Version Vulkan 1.3 unterstützt).
  • Im Vulkan-Treiber RADV wurde die erste Unterstützung für die AMD RDNA4-GPU (GFX12, Serie AMD Radeon RX 9000) hinzugefügt.
  • Der RadeonSI-Treiber wurde auf die Verwendung des von Valve entwickelten ACO-Shader-Compiler-Backends umgestellt, das als Alternative zum LLVM-Shader-Compiler dient. Das ACO-Backend zielt darauf ab, die Codegenerierung für die Shader von Gaming-Anwendungen so optimiert wie möglich zu gewährleisten und dabei eine sehr hohe Kompilierungsgeschwindigkeit zu erreichen. ACO ist in C++ geschrieben, wird mit Blick auf die Anwendungsfähigkeit für JIT-Kompilierung entwickelt und nutzt schnell durchsuchbare Datenstrukturen, um pointerbasierte Strukturen zu vermeiden.
  • Ein amdgpu_virtio-Treiber wurde hinzugefügt, der es dem Gastsystem ermöglicht, die OpenGL- und Vulkan-Treiber radeonsi, radeonsi_drv_video und radv des Host-Umfelds zu verwenden. Der Zugriff erfolgt über VirtIO, was eine hohe Leistung bei der 3D-Beschleunigung ermöglicht. virtuellen Maschine. Die Leistung von amdgpu_virtio soll höher sein als die der zuvor entwickelten virgl- und venus-Treiber, die den Zugang zu Vulkan und OpenGL von Gastsystemen aus ermöglichen.
  • Die Möglichkeiten des OpenGL-Treibers Panfrost für ARM Mali GPU wurden erweitert.
    • Die Funktion "Transaktionseliminierung" ist standardmäßig aktiviert, die überflüssige Vorgänge (z. B. das Überschreiben von Fragmenten, die sich seit der letzten Darstellung nicht geändert haben) verwirft.
    • Die Unterstützung für inkrementelles Rendering wurde hinzugefügt, was den Speicherverbrauch beim Rendern einer großen Anzahl von Objekten durch getrennte Verarbeitung von Fragmenten (Tiles) reduziert.
    • Die Unterstützung für den AFBC 32×8 Modus wurde hinzugefügt, der zur Optimierung der Arbeit mit dem Scan-Out-Puffer in bestimmten Display-Controllern verwendet wird.
    • Die maximal unterstützte Breite und Höhe von Texturen wurde von 8192 auf 32768 Pixel erhöht.
    • Die Unterstützung für den Texturierungsmodus MTK_FMT_MOD_TILE_16L32S wurde hinzugefügt, bei dem fragmentierte Daten vor der Darstellung in einen temporären nicht fragmentierten Puffer kopiert werden (dies wird für die Arbeit mit den in SoC MediaTek vorhandenen Hardware-Videodekodierern verwendet).
  • Im ANV-Treiber (Intel) wurde die Unterstützung für Vulkan-Erweiterungen zum Dekodieren von Video im AV1-Format hinzugefügt.
  • Im Vulkan-Treiber PanVK für ARM Mali GPUs der V10 Architektur, wie Mali-G610 und Mali-G310, wurde die Unterstützung für die Vulkan-API 1.1 implementiert (zuvor wurde nur die Version Vulkan 1.0 unterstützt). PanVK ist standardmäßig in der Liste der verfügbaren Treiber in Mesa aufgeführt (zuvor war PanVK nicht in der Liste der Treiber sichtbar und musste durch Setzen einer Umgebungsvariable aktiviert werden). Auf ARM-Systemen ist die PanVK-Version standardmäßig aktiviert.
  • Der PanVK-Treiber implementiert jetzt folgende Vulkan-Erweiterungen:
    • VK_KHR_8bit_storage
    • VK_KHR_dedicated_allocation
    • VK_KHR_global_priority 
    • VK_KHR_index_type_uint8
    • VK_KHR_map_memory2 
    • VK_KHR_multiview
    • VK_KHR_shader_draw_parameters
    • VK_KHR_shader_float16_int8
    • VK_KHR_shader_non_semantic_info
    • VK_KHR_shader_relaxed_extended_instruction
    • VK_KHR_shader_subgroup_rotate
    • VK_KHR_vertex_attribute_divisor
    • VK_KHR_zero_initialize_workgroup_memory
    • VK_EXT_4444_formats
    • VK_EXT_global_priority_query
    • VK_EXT_global_priority 
    • VK_EXT_host_query_reset
    • VK_EXT_image_robustness 
    • VK_EXT_pipeline_robustness
    • VK_EXT_provoking_vertex 
    • VK_EXT_queue_family_foreign
    • VK_EXT_sampler_filter_minmax
    • VK_EXT_scalar_block_layout
    • VK_EXT_subgroup_size_control
    • VK_EXT_tooling_info
    • VK_EXT_subgroup_size_control
  • Im RADV-Treiber (AMD) wurde die Unterstützung für die Vulkan-Erweiterungen VK_KHR_maintenance8 und VK_KHR_depth_clamp_zero_one hinzugefügt.
  • Im Rusticl-Treiber wurde die Unterstützung für die OpenCL-Erweiterung cl_khr_depth_images hinzugefügt.

    Quelle: opennet.ru

  • Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster