Lansarea Mesa 22.1, o implementare gratuită a OpenGL și Vulkan

După două luni de dezvoltare, a fost publicată lansarea unei implementări gratuite a API-urilor OpenGL și Vulkan - Mesa 22.1.0. Prima lansare a ramului Mesa 22.1.0 are un statut experimental - după stabilizarea finală a codului, va fi lansată o versiune stabilă 22.1.1.

În Mesa 22.1, suportul pentru API-ul grafic Vulkan 1.3 este disponibil în driverele anv pentru GPU-urile Intel, radv pentru GPU-urile AMD și rasterizarea software-ului lavapipe. Suportul pentru Vulkan 1.2 este implementat în modul emulator (vn), Vulkan 1.1 este implementat în driverul pentru GPU Qualcomm (tu). și Vulkan 1.0 în driverul pentru GPU Broadcom VideoCore VI (Raspberry Pi 4). Mesa oferă, de asemenea, suport complet OpenGL 4.6 pentru driverele 965, iris (Intel), radeonsi (AMD), zink și llvmpipe. Suportul OpenGL 4.5 este disponibil pentru GPU-urile AMD (r600) și NVIDIA (nvc0), iar suportul OpenGL 4.3 pentru virgl (GPU virtual Virgil3D pentru QEMU/KVM) și vmwgfx (VMware).

Principalele inovații:

  • Driverul ANV Vulkan (Intel) și driverul Iris OpenGL acceptă plăcile grafice discrete Intel DG2 (Arc Alchemist) și Arctic Sound-M.
  • Driverul D3D12 cu un strat pentru organizarea lucrărilor OpenGL pe deasupra DirectX 12 API (D3D12) asigură compatibilitatea cu OpenGL 4.2. Driverul este utilizat în stratul WSL2 pentru a rula aplicații grafice Linux pe Windows.
  • Driverul lavapipe, care implementează un rasterizer software pentru API-ul Vulkan (similar cu llvmpipe, dar pentru Vulkan, care traduce apelurile API Vulkan în API-ul Gallium), acceptă Vulkan 1.3.
  • S-a adăugat suport pentru GPU-urile AMD GFX1036 și GFX1037.
  • Driverul RADV (AMD) a implementat ray primitive culling, care îmbunătățește suportul pentru ray tracing pentru jocuri precum DOOM Eternal.
  • A fost propusă o implementare inițială a driverului Vulkan pentru GPU bazată pe arhitectura PowerVR Rogue dezvoltată de Imagination.
  • Driverul Nouveau pentru GPU-urile GeForce 6/7/8 mai vechi a fost convertit pentru a utiliza o reprezentare intermediară (IR) fără tip a shaderelor NIR. Suportul NIR vă permite, de asemenea, să obțineți suport pentru reprezentarea intermediară TGSI (Tungsten Graphics Shader Infrastructure) prin utilizarea unui strat pentru traducerea NIR în TGSI.
  • Compoziția include un compilator compact OpenCL, propus de Intel și folosit pentru ray tracing.
  • Driverul OpenGL v3d, dezvoltat pentru acceleratorul grafic VideoCore VI, folosit începând cu modelul Raspberry Pi 4, implementează suport pentru stocarea în cache a shaderelor pe disc.
  • Pentru GPU-urile AMD echipate cu motorul de procesare video VCN 2.0, a fost implementat suportul EFC (Encoder Format Conversion), permițând utilizarea unui codificator video hardware pentru a citi direct suprafețele RGB fără conversii RGB->YUV efectuate de shadere.
  • Driverul Crocus, dezvoltat pentru GPU-uri Intel mai vechi bazate pe microarhitecturi Gen4-Gen7 care nu sunt acceptate de driverul Iris, include un profil de compatibilitate cu versiunile mai vechi de OpenGL.
  • Driverul PanVk, care oferă suport pentru API-ul grafic Vulkan pentru GPU-urile ARM Mali Midgard și Bifrost, a început să lucreze la suportarea shaderelor de calcul.
  • Driverul Venus cu implementarea unui GPU virtual (virtio-gpu) bazat pe API-ul Vulkan a adăugat suport pentru stratul ANGLE, care este responsabil pentru traducerea apelurilor OpenGL ES în OpenGL, Direct3D 9/11, Desktop GL și Vulkan.
  • S-a adăugat suport pentru extensia OpenGL a NVIDIA GL_NV_pack_subimage, concepută pentru a actualiza dreptunghiuri în memoria gazdă folosind date din framebuffer-ul sau textura.
  • Suport pentru extensii a fost adăugat la driverele Vulkan RADV (AMD), ANV (Intel) și lavapipe:
    • VK_EXT_depth_clip_control pentru lavapipe și RADV.
    • VK_EXT_graphics_pipeline_library pentru lavapipe.
    • VK_EXT_primitives_generated_query pentru lavapipe.
    • VK_EXT_image_2d_view_of_3d pentru ANV și lavapipe.
    • VK_KHR_swapchain_mutable_format pentru lavapipe.

Sursa: opennet.ru

Adauga un comentariu