Release van Mesa 21.2, een gratis implementatie van OpenGL en Vulkan

Na drie maanden ontwikkeling werd de release van een gratis implementatie van de OpenGL en Vulkan API - Mesa 21.2.0 - gepubliceerd. De eerste release van de Mesa 21.2.0-tak heeft een experimentele status - na de definitieve stabilisatie van de code zal een stabiele versie 21.2.1 worden uitgebracht.

Mesa 21.2 bevat volledige ondersteuning voor OpenGL 4.6 voor de 965, iris (Intel), radeonsi (AMD), zink en llvmpipe drivers. OpenGL 4.5-ondersteuning is beschikbaar voor AMD (r600) en NVIDIA (nvc0) GPU's, en OpenGL 4.3-ondersteuning voor virgl (Virgil3D virtuele GPU voor QEMU/KVM). Vulkan 1.2-ondersteuning is beschikbaar voor Intel- en AMD-kaarten, evenals in emulatormodus (vn), Vulkan 1.1-ondersteuning is beschikbaar voor Qualcomm GPU's en de lavapipe-softwarerasterizer, en Vulkan 1.0 is beschikbaar voor Broadcom VideoCore VI GPU's (Raspberry Pi 4) .

Belangrijkste innovaties:

  • De asahi OpenGL-driver wordt meegeleverd met initiële ondersteuning voor de GPU in Apple M1-chips. De driver maakt gebruik van de Gallium-interface en ondersteunt de meeste functies van OpenGL 2.1 en OpenGL ES 2.0, maar is nog niet geschikt voor het draaien van de meeste games. De drivercode is gebaseerd op de Gallium-referentie-noop-driver, waarbij een deel van de code is overgenomen van de Panfrost-driver die wordt ontwikkeld voor de ARM Mali GPU.
  • Het Crocus OpenGL-stuurprogramma wordt meegeleverd met ondersteuning voor oudere Intel GPU's (gebaseerd op Gen4-Gen7-microarchitecturen), die niet worden ondersteund door het Iris-stuurprogramma. In tegenstelling tot de i965-driver is de nieuwe driver gebaseerd op de Gallium3D-architectuur, die geheugenbeheertaken uitbesteedt aan de DRI-driver in de Linux-kernel en een kant-en-klare statustracker biedt met ondersteuning voor een hergebruikcache van uitvoerobjecten.
  • De PanVk-driver is inbegrepen en biedt ondersteuning voor de Vulkan grafische API voor ARM Mali Midgard en Bifrost GPU's. PanVk wordt ontwikkeld door medewerkers van Collabora en is gepositioneerd als een voortzetting van de ontwikkeling van het Panfrost-project, dat ondersteuning biedt voor OpenGL.
  • Het Panfrost-stuurprogramma voor Midgard GPU's (Mali T760 en nieuwer) en Bifrost GPU's (Mali G31, G52, G76) ondersteunt OpenGL ES 3.1. Toekomstige plannen omvatten werkzaamheden om de prestaties van Bifrost-chips te verbeteren en de implementatie van GPU-ondersteuning op basis van de Valhall-architectuur (Mali G77 en nieuwer).
  • 32-bits x86-builds gebruiken sse87-instructies in plaats van x2-instructies voor wiskundige berekeningen.
  • Het Nouveau nv50-stuurprogramma voor de NVIDIA GT21x GPU (GeForce GT 2×0) ondersteunt OpenGL ES 3.1.
  • De Vulkan-driver TURNIP en de OpenGL-driver Freedreno, ontwikkeld voor de Qualcomm Adreno GPU, hebben initiële ondersteuning voor de Adreno a6xx gen4 GPU (a660, a635).
  • Het RADV (AMD) Vulkan-stuurprogramma heeft ondersteuning toegevoegd voor primitieve ruiming met behulp van NGG-shader-engines (Next-Gen Geometry). De mogelijkheid om het RADV-stuurprogramma op het Windows-platform te bouwen met behulp van de MSVC-compiler is geïmplementeerd.
  • Er zijn voorbereidende werkzaamheden uitgevoerd in de ANV Vulkan driver (Intel) en de Iris OpenGL driver om ondersteuning te bieden voor de komende Intel Xe-HPG (DG2) grafische kaarten. Dit omvat initiële functies met betrekking tot ray tracing en ondersteuning voor ray tracing shaders.
  • De lavapipe-driver, die een software-rasterizer voor de Vulkan API implementeert (analoog aan llvmpipe, maar voor Vulkan, waarbij Vulkan API-aanroepen naar de Gallium API worden vertaald), ondersteunt de “wideLines”-modus (biedt ondersteuning voor lijnen met een breedte groter dan 1.0).
  • Ondersteuning voor het dynamisch ontdekken en laden van alternatieve GBM-backends (Generic Buffer Manager) is geïmplementeerd. De wijziging is gericht op het verbeteren van Wayland-ondersteuning op systemen met NVIDIA-stuurprogramma's.
  • Het Zink-stuurprogramma (een implementatie van de OpenGL API bovenop Vulkan, waarmee u hardwareversnelde OpenGL kunt krijgen als het systeem stuurprogramma's heeft die beperkt zijn tot ondersteuning van alleen de Vulkan API) ondersteunt OpenGL-extensies GL_ARB_sample_locations, GL_ARB_sparse_buffer, GL_ARB_shader_group_vote, GL_ARB_texture_filter_minmax en GL_ARB_shader_clock. DRM-formaatmodifiers toegevoegd (Direct Rendering Manager, VK_EXT_image_drm_format_modifier-extensie ingeschakeld).
  • Ondersteuning voor extensies is toegevoegd aan de Vulkan-drivers RADV (AMD), ANV (Intel) en lavapipe:
    • VK_EXT_provoking_vertex (RADV);
    • VK_EXT_extended_dynamic_state2 (RADV);
    • VK_EXT_global_priority_query (RADV);
    • VK_EXT_fysiek_apparaat_drm (RADV);
    • VK_KHR_shader_subgroup_uniform_control_flow (RADV, ANV);
    • VK_EXT_color_write_enable (RADV);
    • VK_EXT_acquire_drm_display (RADV, ANV);
    • VK_EXT_vertex_input_dynamic_state(lavapijp);
    • VK_EXT_line_rasterization(lavapijp);
    • VK_EXT_multi_draw(ANV, lavapijp, RADV);
    • VK_KHR_separate_diepte_stencil_layouts(lavapijp);
    • VK_EXT_separate_stencil_usage(lavapijp);
    • VK_EXT_extended_dynamic_state2 (lavapijp).

Bron: opennet.ru

Voeg een reactie