Veröffentlichung von Mesa 25.3, einer OpenGL- und Vulkan-Implementierung

Nach drei Monaten Entwicklung wurde die Veröffentlichung der freien API-Implementierung OpenGL und Vulkan – Mesa 25.3.0 – vorgestellt. Das Tag der neuen Version im Git wurde am 15. November veröffentlicht, jedoch erschien die Ankündigung auf der Website erst gestern (in der Mailingliste wurde die Veröffentlichung bisher nicht bekannt gegeben). Die erste Version des Branches Mesa 25.3.0 hat den Status experimentell – nach endgültiger Stabilisierung des Codes wird die stabile Version 25.3.1 veröffentlicht.

Mesa 25.3 bietet 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, HoneyKrisp (hk) für Apple-GPUs, Turnip für Qualcomm-GPUs, PanVK für ARM Mali-GPUs, im Software-Rasterizer lavapipe (lvp) sowie im Emulator-Modus (vn). In den v3dv-Treibern (Broadcom VideoCore für Raspberry Pi 4+) und dzn (Vulkan-Implementierung über Direct3D 12) wird Vulkan 1.0 unterstützt; im kk-Treiber (KosmicKrisp, Vulkan über Metal) – Vulkan 1.1, und im pvr-Treiber (GPU Imagination PowerVR) – Vulkan 1.2.

Mesa bietet zudem vollständige Unterstützung für OpenGL 4.6 in den Treibern iris (Intel GPUs Gen 8+), radeonsi (AMD), Crocus (alte Intel GPUs Gen4-Gen7), AMD (r600), zink, llvmpipe, virgl (virtuelle GPU Virgil3D für QEMU/KVM), freedreno (Qualcomm Adreno), d3d12 (Schicht zur Nutzung von OpenGL über DirectX 12) und asahi (GPU AGX, die in den Apple M1 und M2 Chips verwendet wird). Die Unterstützung für OpenGL 4.5 ist für NVIDIA-GPUs (nvc0) verfügbar. Unterstützung für OpenGL 3.3 ist in den Treibern softpipe (Software-Rasterizer) und nv50 (NVIDIA NV50) vorhanden. In den Treibern panfrost (GPU ARM Mali) und v3d (GPU Broadcom VideoCore) wird OpenGL 3.1 unterstützt.

Hauptneuheiten:

  • In dieser Version ist der neue Vulkan-Treiber KosmicKrisp (kk) enthalten, der die Grafik-API Vulkan über die von Apple entwickelte API Metal implementiert, die in macOS verwendet wird. Der Treiber wurde von LunarG für Computer mit Apple Silicon-Chips entwickelt. Der Treiber ist derzeit vollständig kompatibel mit der Vulkan API 1.1, es wird jedoch vermerkt, dass er bereits sehr nah an der Unterstützung von Vulkan 1.3 ist.
  • Ein Ethos-Treiber für die NPU Arm Ethos-U65 wurde hinzugefügt.
  • Im Vulkan-Treiber pvr, der für die GPU Imagination PowerVR entwickelt wurde, wird die Unterstützung für Vulkan 1.2 bereitgestellt.
  • Im Vulkan-Treiber RADV wurden Optimierungen implementiert, die die Ausführungsgeschwindigkeit des Engines für große Sprachmodelle Llama.cpp bei Verwendung des Vulkan-Backends auf Systemen mit AMD-GPU erheblich steigern. In einigen Tests wurde die RADV-Treiberkonfiguration im Vergleich zum AMDVLK-Treiber und dem ROCm-Stack um 31 % schneller bei der Verarbeitung von Anfragen (Tests „pp“ – Prompt-Prozessierung) und um 4 % schneller bei der Token-Generierung (Tests „tg“ – Token-Generierung).
  • Die Unterstützung der VDPAU-Schnittstelle (Video Decode and Presentation API for Unix), die von NVIDIA entwickelt wurde, wurde entfernt. Als Gründe für die Entfernung wird angeführt, dass VDPAU nur auf Systemen mit X11 und OpenGL verwendet werden kann, da keine Unterstützung für Wayland und Vulkan vorhanden ist. Darüber hinaus weist die VDPAU-API Einschränkungen auf, die eine korrekte Dekodierung bestimmter Videoströme verhindern. Statt VDPAU wird die VA-API (Video Acceleration API) empfohlen, die mit Wayland und Vulkan verwendet werden kann und besser in Anwendungen unterstützt wird.
  • Der Zink-Treiber, der OpenGL 4.6 über Vulkan implementiert, hat die Unterstützung von Mesh-Shadern eingeführt, die eine alternative Methode zur Generierung von Sammlungen geometrischer Primitiven bieten.
  • Im Rusticl-Treiber wurde die Unterstützung für OpenCL-Erweiterungen zur Arbeit mit Semaphore (cl_khr_semaphore und cl_khr_external_semaphore) hinzugefügt.
  • Dem Shader-Compiler wurde eine Funktionalität zur Ersetzung von SPIR-V-Shadern hinzugefügt.
  • Ein Vulkan-Layer wurde implementiert, um die AMD Anti-Lag-Technologie zu unterstützen, die die Verzögerung zwischen den Aufrufen von vkQueueSubmit oder vkQueueSubmit2 und dem Beginn der Durchführung von Operationen minimiert, um die Latenz bei der Bildschirmdarstellung in Spielen zu verringern.
  • Die Unterstützung von OpenGL-Erweiterungen wurde hinzugefügt:
    • GL_EXT_mesh_shader für Zink
    • GL_ARB_robust_buffer_access_behavior für Panfrost
    • GL_KHR_robust_buffer_access_behavior für Panfrost
    • GL_KHR_robustness für Panfrost und v3d
    • GL_ATI_meminfo für r300
    • GL_NVX_gpu_memory_info für r300
    • GL_NV_shader_atomic_int64 für radeonsi und Panfrost V9+
    • GL_NV_representative_fragment_test für zink
    • EGL_EXT_create_context_robustness für Panfrost V10+
  • Im ANV (Intel) Treiber ist die Vulkan-Erweiterung implementiert: VK_KHR_shader_untyped_pointers
  • Im RADV-Treiber (AMD) wurden die Vulkan-Erweiterungen implementiert:
    • VK_EXT_ycbcr_2plane_444_formats
    • VK_KHR_shader_untyped_pointers
    • VK_KHR_video_encode_intra_refresh
    • VK_KHR_video_encode_quantization_map
  • Im NVK-Treiber (NVIDIA) wurden die Vulkan-Erweiterungen implementiert:
    • VK_AMD_buffer_marker
    • VK_KHR_maintenance8
    • VK_KHR_maintenance9
    • VK_NVX_image_view_handle
  • Im HoneyKrisp (Apple) Treiber ist die OpenGL-Erweiterung implementiert: VK_KHR_maintenance9
  • Im PanVK (GPU ARM Mali) Treiber sind die Vulkan-Erweiterungen implementiert: '
    • VK_ARM_shader_core_builtins
    • VK_EXT_mutable_descriptor_type
    • VK_KHR_maintenance7
    • VK_KHR_maintenance8
    • VK_KHR_maintenance9
  • Im pvr (GPU Imagination PowerVR) Treiber sind die Vulkan-Erweiterungen implementiert:
    • VK_EXT_border_color_swizzle
    • VK_EXT_color_write_enable
    • VK_EXT_custom_border_color
    • VK_EXT_depth_clamp_zero_one
    • VK_EXT_depth_clip_enable
    • VK_EXT_extended_dynamic_state
    • VK_EXT_extended_dynamic_state2
    • VK_EXT_extended_dynamic_state3
    • VK_EXT_image_2d_view_of_3d
    • VK_EXT_line_rasterization
    • VK_EXT_map_memory_placed
    • VK_EXT_physical_device_drm
    • VK_EXT_provoking_vertex
    • VK_EXT_queue_family_foreign
    • VK_EXT_robustness2
    • VK_EXT_separate_stencil_usage
    • VK_EXT_shader_demote_to_helper_invocation
    • VK_EXT_shader_replicated_composites
    • VK_EXT_vertex_attribute_divisor
    • VK_EXT_zero_initialize_device_memory
    • VK_KHR_buffer_device_address
    • VK_KHR_create_renderpass2
    • VK_KHR_dedicated_allocation
    • VK_KHR_depth_stencil_resolve
    • VK_KHR_descriptor_update_template
    • VK_KHR_device_group
    • VK_KHR_device_group_creation
    • VK_KHR_imageless_framebuffer
    • VK_KHR_line_rasterization
    • VK_KHR_maintenance1
    • VK_KHR_maintenance2
    • VK_KHR_maintenance3
    • VK_KHR_map_memory2
    • VK_KHR_multiview
    • VK_KHR_robustness2
    • VK_KHR_sampler_mirror_clamp_to_edge
    • VK_KHR_separate_depth_stencil_layouts
    • VK_KHR_shader_draw_parameters
    • VK_KHR_shader_float_controls
    • VK_KHR_shader_non_semantic_info
    • VK_KHR_shader_relaxed_extended_instruction
    • VK_KHR_shader_subgroup_extended_types
    • VK_KHR_shader_terminate_invocation
    • VK_KHR_spirv_1_4
    • VK_KHR_swapchain_mutable_format
    • VK_KHR_vertex_attribute_divisor
    • VK_KHR_wayland_surface
  • Realisiert OpenCL-Erweiterungen:
    • cl_ext_immutable_memory_objects
    • cl_khr_external_semaphore für radeonsi und zink
    • cl_khr_external_semaphore_sync_fd für radeonsi und zink
    • cl_khr_semaphore für radeonsi und zink

Zusätzlich wurde die neue Version der Vulkan-Spezifikation 1.4.333 veröffentlicht, die eine neue Erweiterung VK_EXT_ray_tracing_invocation_reorder enthält, die die Raytracing-Leistung in durchgeführten Tests um 47 % bei Verwendung von SER (Shader Execution Reordering) im vk_gltf_renderer verbessert.

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