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

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

Mesa 21.3 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). Ondersteuning voor Vulkan 1.2 is beschikbaar voor Intel- en AMD-kaarten, evenals in emulatormodus (vn) en in de lavapipe-software-rasterizer, Vulkan 1.1-ondersteuning is beschikbaar voor de Qualcomm GPU en de lavapipe-software-rasterizer, en Vulkan 1.0 is beschikbaar voor de Broadcom VideoCore VI-GPU (Raspberry Pi 4).

Belangrijkste innovaties:

  • 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 ES 3.2.
  • De Panfrost-driver, ontworpen om te werken met GPU's gebaseerd op de microarchitecturen Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) en Bifrost (Mali G3x, G5x, G7x), is officieel gecertificeerd voor compatibiliteit met OpenGL ES 3.1.
  • Het v3dv-stuurprogramma, ontwikkeld voor de VideoCore VI grafische versneller, gebruikt vanaf het Raspberry Pi 4-model, heeft gecertificeerde ondersteuning voor de Vulkan 1.1 grafische API en heeft ook ondersteuning toegevoegd voor geometrie-shaders. De prestaties van de door de shader-compiler gegenereerde code zijn aanzienlijk verbeterd, wat een positief effect heeft op de snelheid van programma's die actief gebruik maken van shaders, zoals games gebaseerd op de Unreal Engine 4.
  • De RADV Vulkan-driver (AMD) heeft experimentele ondersteuning toegevoegd voor ray tracing en ray tracing shaders. Voor GFX10.3-kaarten is ondersteuning voor primitieve ruiming met behulp van NGG-shader-engines (Next-Gen Geometry) standaard ingeschakeld.
  • De Iris OpenGL-driver (een nieuwe driver voor Intel GPU's) heeft de mogelijkheid toegevoegd voor multi-threaded shader-compilatie.
  • De lavapipe-driver, die een software-rasterizer voor de Vulkan API implementeert (vergelijkbaar met llvmpipe, maar voor Vulkan, waarbij Vulkan API-aanroepen worden vertaald naar de Gallium API) heeft ondersteuning geïmplementeerd voor anisotrope textuurfiltering en toegevoegde ondersteuning voor Vulkan 1.2.
  • Het OpenGL-stuurprogramma llvmpipe, ontworpen voor softwareweergave, heeft de prestaties 2-3 keer verhoogd bij het uitvoeren van acties die verband houden met 2D-bewerkingen. Ondersteuning toegevoegd voor FP16-bewerkingen, anisotropische textuurfiltering (GL_ARB_texture_filter_anisotropic) en vastgezette geheugengebieden (GL_AMD_pinned_memory). Er wordt ondersteuning geboden voor het OpenGL 4.5-compatibiliteitsprofiel.
  • De VA-API (Video Acceleration API) statustracker biedt ondersteuning voor het versnellen van AV1-videocodering en -decodering bij gebruik van AMD GPU-stuurprogramma's.
  • EGL-ondersteuning is geïmplementeerd voor het Windows-platform.
  • Ondersteuning toegevoegd voor de EGL_EXT_present_opaque extensie voor Wayland. Problemen met het weergeven van transparantie in games die draaien in omgevingen die zijn gebaseerd op het Wayland-protocol zijn opgelost.
  • Ondersteuning voor extensies is toegevoegd aan de Vulkan-drivers RADV (AMD), ANV (Intel) en lavapipe:
    • VK_EXT_shader_atomic_float2 (Intel, RADV).
    • VK_EXT_vertex_input_dynamic_state (RADV).
    • VK_EXT_primitive_topology_list_restart (RADV, lavapijp).
    • VK_KHR_shader_integer_dot_product (RADV).
    • VK_KHR_synchronisatie2 (Intel).
    • VK_KHR_onderhoud4 (RADV).
    • VK_KHR_format_feature_flags2 (RADV).
    • VK_KHR_shader_subgroup_extended_types (lavapijp).
    • VK_KHR_spirv_1_4 (lavapijp).
    • VK_KHR_timeline_semafoor (lavapijp).
    • VK_EXT_external_memory_host (lavapijp).
    • VK_KHR_depth_stencil_resolve (lavapijp).
    • VK_KHR_shader_float16_int8 (lavapijp).
    • VK_EXT_color_write_enable (lavapijp).

Bron: opennet.ru

Voeg een reactie