Release av Mesa 21.3, en gratis implementering av OpenGL och Vulkan

Efter fyra månaders utveckling publicerades släppet av en gratis implementering av OpenGL och Vulkan API - Mesa 21.3.0. Den första utgåvan av Mesa 21.3.0-grenen har en experimentell status - efter den slutliga stabiliseringen av koden kommer en stabil version 21.3.1 att släppas.

Mesa 21.3 inkluderar fullt stöd för OpenGL 4.6 för drivrutiner för 965, iris (Intel), radeonsi (AMD), zink och llvmpipe. OpenGL 4.5-stöd är tillgängligt för AMD (r600) och NVIDIA (nvc0) GPU:er och OpenGL 4.3-stöd för virgl (Virgil3D virtuell GPU för QEMU/KVM). Vulkan 1.2-stöd är tillgängligt för Intel- och AMD-kort, såväl som i emulatorläge (vn) och i lavapipe-programvaran rasterizer, Vulkan 1.1-stöd är tillgängligt för Qualcomm GPU och lavapipe-programvaran rasterizer, och Vulkan 1.0 är tillgänglig för Broadcom VideoCore VI GPU (Raspberry Pi 4).

Huvudsakliga innovationer:

  • Zink-drivrutinen (en implementering av OpenGL API ovanpå Vulkan, som gör att du kan få hårdvaruaccelererad OpenGL om systemet har drivrutiner begränsade till att endast stödja Vulkan API) stöder OpenGL ES 3.2.
  • Panfrost-drivrutinen, designad för att fungera med grafikprocessorer baserade på mikroarkitekturen Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) och Bifrost (Mali G3x, G5x, G7x), är officiellt certifierad för kompatibilitet med OpenGL ES 3.1.
  • V3dv-drivrutinen, utvecklad för VideoCore VI-grafikacceleratorn, som används från och med Raspberry Pi 4-modellen, har certifierat stöd för Vulkan 1.1 grafik-API och har även lagt till stöd för geometriskuggning. Prestandan för koden som genereras av shader-kompilatorn har förbättrats avsevärt, vilket har en positiv effekt på hastigheten för program som aktivt använder shaders, till exempel spel baserade på Unreal Engine 4.
  • RADV Vulkan-drivrutinen (AMD) har lagt till experimentellt stöd för ray tracing och ray tracing shaders. För GFX10.3-kort är stöd för primitiv utslaktning med NGG (Next-Gen Geometry) shader-motorer aktiverat som standard.
  • Iris OpenGL-drivrutinen (en ny drivrutin för Intel GPU:er) har lagt till möjligheten till flertrådig shader-kompilering.
  • Lavapipe-drivrutinen, som implementerar en mjukvaru-rasterizer för Vulkan API (liknande llvmpipe, men för Vulkan, översättning av Vulkan API-anrop till Gallium API) har implementerat stöd för anisotrop texturfiltrering och lagt till stöd för Vulkan 1.2.
  • OpenGL-drivrutinen llvmpipe, designad för mjukvarurendering, har ökat prestandan med 2-3 gånger när man utför åtgärder relaterade till 2D-operationer. Lade till stöd för FP16-operationer, anisotropisk texturfiltrering (GL_ARB_texture_filter_anisotropic) och fästa minnesområden (GL_AMD_pinned_memory). Stöd för OpenGL 4.5-kompatibilitetsprofil tillhandahålls.
  • Tillståndsspåraren VA-API (Video Acceleration API) ger stöd för att accelerera AV1-videokodning och avkodning när du använder AMD GPU-drivrutiner.
  • EGL-stöd har implementerats för Windows-plattformen.
  • Lade till stöd för tillägget EGL_EXT_present_opaque för Wayland. Problem med att visa transparens i spel som körs i miljöer baserade på Wayland-protokollet har lösts.
  • Stöd för tillägg har lagts till i Vulkan-drivrutinerna RADV (AMD), ANV (Intel) och lavapipe:
    • 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 (lavapipa).
    • VK_KHR_timeline_semaphore (tvättrör).
    • VK_EXT_external_memory_host (lavapipe).
    • VK_KHR_depth_stencil_resolve (lavapipe).
    • VK_KHR_shader_float16_int8 (tvättrör).
    • VK_EXT_color_write_enable(tvättrör).

Källa: opennet.ru

Lägg en kommentar