Пускане на Mesa 22.1, безплатна реализация на OpenGL и Vulkan

След два месеца на разработка беше публикувано изданието на безплатна реализация на API на OpenGL и Vulkan - Mesa 22.1.0. Първото издание на клона Mesa 22.1.0 има експериментален статус - след окончателното стабилизиране на кода ще бъде пусната стабилна версия 22.1.1.

В Mesa 22.1 поддръжката за графичния API Vulkan 1.3 е налична в драйверите anv за графични процесори Intel, radv за графични процесори AMD и софтуерния растеризатор lavapipe. Поддръжката за Vulkan 1.2 е реализирана в режим на емулатор (vn), Vulkan 1.1 е внедрена в драйвера за графични процесори Qualcomm (tu). и Vulkan 1.0 в драйвера за Broadcom VideoCore VI GPU (Raspberry Pi 4). Mesa също така предоставя пълна поддръжка на OpenGL 4.6 за драйверите 965, iris (Intel), radeonsi (AMD), zink и llvmpipe. Поддръжката на OpenGL 4.5 е налична за графични процесори AMD (r600) и NVIDIA (nvc0), а поддръжката на OpenGL 4.3 за virgl (виртуален графичен процесор Virgil3D за QEMU/KVM) и vmwgfx (VMware).

Основни иновации:

  • Драйверът ANV Vulkan (Intel) и драйверът Iris OpenGL поддържат дискретни графични карти Intel DG2 (Arc Alchemist) и Arctic Sound-M.
  • Драйверът D3D12 със слой за организиране на OpenGL работа върху DirectX 12 API (D3D12) гарантира съвместимост с OpenGL 4.2. Драйверът се използва в слоя WSL2 за стартиране на Linux графични приложения в Windows.
  • Драйверът lavapipe, който внедрява софтуерен растеризатор за API на Vulkan (подобно на llvmpipe, но за Vulkan, превежда извикванията на API на Vulkan към API на Gallium), поддържа Vulkan 1.3.
  • Добавена е поддръжка за графични процесори AMD GFX1036 и GFX1037.
  • Драйверът RADV (AMD) е внедрил ray primitive culling, което подобрява поддръжката на ray tracing за игри като DOOM Eternal.
  • Предложено е първоначално внедряване на драйвера Vulkan за GPU, базиран на архитектурата PowerVR Rogue, разработена от Imagination.
  • Драйверът Nouveau за по-стари графични процесори GeForce 6/7/8 е преобразуван, за да използва безтипово междинно представяне (IR) на NIR шейдъри. Поддръжката на NIR също ви позволява да получите поддръжка за междинното представяне на TGSI (Tungsten Graphics Shader Infrastructure) чрез използването на слой за преобразуване на NIR в TGSI.
  • Съставът включва компактен OpenCL компилатор, предложен от Intel и използван за проследяване на лъчи.
  • Драйверът OpenGL v3d, разработен за графичния ускорител VideoCore VI, използван от модела Raspberry Pi 4, реализира поддръжка за кеширане на шейдъри на диск.
  • За GPU на AMD, оборудвани с VCN 2.0 машина за обработка на видео, е внедрена поддръжка на EFC (Encoder Format Conversion), което позволява използването на хардуерен видео енкодер за директно четене на RGB повърхности без RGB->YUV преобразувания, извършвани от шейдъри.
  • Драйверът Crocus, разработен за по-стари графични процесори на Intel, базирани на микроархитектури Gen4-Gen7, които не се поддържат от драйвера Iris, включва профил за съвместимост с по-стари версии на OpenGL.
  • Драйверът PanVk, който осигурява поддръжка за графичния API на Vulkan за графични процесори ARM Mali Midgard и Bifrost, започна работа по поддръжката на изчислителни шейдъри.
  • Драйверът Venus с внедряване на виртуален графичен процесор (virtio-gpu), базиран на API на Vulkan, добави поддръжка за слоя ANGLE, който отговаря за превода на OpenGL ES извиквания към OpenGL, Direct3D 9/11, Desktop GL и Vulkan.
  • Добавена е поддръжка за OpenGL разширението на NVIDIA GL_NV_pack_subimage, предназначено да актуализира правоъгълници в паметта на хоста, използвайки данни от буфера на кадрите или текстура.
  • Добавена е поддръжка за разширения към драйвери RADV (AMD), ANV (Intel) и lavapipe Vulkan:
    • VK_EXT_depth_clip_control за lavapipe и RADV.
    • VK_EXT_graphics_pipeline_library за lavapipe.
    • VK_EXT_primitives_generated_query за lavapipe.
    • VK_EXT_image_2d_view_of_3d за ANV и lavapipe.
    • VK_KHR_swapchain_mutable_format за lavapipe.

Източник: opennet.ru

Добавяне на нов коментар