Efter fire måneders udvikling er udgivelsen af den gratis implementering af OpenGL og Vulkan API'erne, Mesa 22.2.0, blevet offentliggjort. Den første udgivelse af Mesa 22.2.0-grenen har en eksperimentel status - efter den endelige stabilisering af koden vil en stabil version 22.2.1 blive frigivet.
I Mesa 22.2 er understøttelse af Vulkan 1.3 grafik API tilgængelig i anv-driverne til Intel GPU'er, radv til AMD GPU'er og tu til Qualcomm GPU'er. Vulkan 1.2-understøttelse er implementeret i emulatortilstand (vn), Vulkan 1.1 i lavapipe-softwarerasterizeren (lvp) og Vulkan 1.0 i v3dv-driveren (Broadcom VideoCore VI GPU fra Raspberry Pi 4). Mesa giver også fuld OpenGL 4.6-understøttelse til 965, iris (Intel), radeonsi (AMD), zink og llvmpipe-drivere. OpenGL 4.5-understøttelse er tilgængelig for AMD (r600) og NVIDIA (nvc0) GPU'er, og OpenGL 4.3-understøttelse til virgl (Virgil3D virtuel GPU til QEMU/KVM) og vmwgfx (VMware).
Vigtigste innovationer:
- Qualcomm GPU-driveren (tu) understøtter Vulkan 1.3 grafik API.
- Panfrost-driveren har tilføjet understøttelse af Mali GPU'er baseret på Valhall-mikroarkitekturen (Mali-G57). Driveren er kompatibel med OpenGL ES 3.1-specifikationen.
- Implementeringen af Vulkan-driveren til GPU'er baseret på PowerVR Rogue-arkitekturen, udviklet af Imagination, er fortsat.
- ANV Vulkan-driveren (Intel) og Iris OpenGL-driveren har forbedret understøttelse af Intel DG2-G12 (Arc Alchemist) diskrete grafikkort. Vulkan-driveren har markant (ca. 100 gange) øget ydeevnen af strålesporingskoden.
- R600g-driveren til AMD GPU'er i Radeon HD 2000 til HD 6000-serien er blevet konverteret til at bruge en typeløs mellemrepræsentation (IR) af NIR-skyggere. NIR-understøttelse giver dig også mulighed for at få support til TGSI (Tungsten Graphics Shader Infrastructure) mellemrepræsentation ved brug af et lag til at oversætte NIR til TGSI.
- Arbejdet er begyndt i Nouveau OpenGL-driveren for at implementere understøttelse af RTX 30 "Ampere" GPU.
- Etnaviv-driveren til Vivante-kort understøtter nu asynkron shader-kompilering.
- Tilføjet support til Vulkan-udvidelser:
- VK_EXT_robustness2 for lavapipe-driveren.
- VK_EXT_image_2d_view_of_3d for RADV.
- VK_EXT_primitives_generated_query for RADV.
- VK_EXT_non_seamless_cube_map til RADV, ANV, lavapipe.
- VK_EXT_border_color_swizzle til lavapipe, ANV, majroe, RADV.
- VK_EXT_shader_module_identifier for RADV.
- VK_EXT_multisampled_render_to_single_sampled for lavapipe.
- VK_EXT_shader_subgroup_vote for lavapipe.
- VK_EXT_shader_subgroup_afstemning for lavapipe
- VK_EXT_attachment_feedback_loop_layout for RADV.
- Tilføjet understøttelse af OpenGL-udvidelser:
- WGL_ARB_create_context_robustness.
- ARB_robust_buffer_access_behavior for d3d12.
- EGL_KHR_context_flush_control.
- GLX_ARB_context_flush_control
- GL_EXT_memory_object_win32 til zink og d3d12.
- GL_EXT_semaphore_win32 til zink og d3d12.
Kilde: opennet.ru