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

Представено е изданието на безплатната реализация на API на OpenGL и Vulkan - Mesa 21.0.0. Първото издание на клона Mesa 21.0.0 има експериментален статус - след окончателното стабилизиране на кода ще бъде пусната стабилна версия 21.0.1. Mesa 21.0 има пълна поддръжка на OpenGL 4.6 за драйверите 965, iris (Intel), radeonsi (AMD), zink и llvmpipe. Поддръжката на OpenGL 4.5 е налична за графични процесори AMD (r600) и NVIDIA (nvc0) и OpenGL 4.3 за virgl (виртуален графичен процесор Virgil3D за QEMU/KVM). Vulkan 1.2 се поддържа за Intel и AMD карти, а Vulkan 1.0 за VideoCore VI (Raspberry Pi 4).

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

  • Драйверът Zink (имплементация на OpenGL API върху Vulkan) осигурява поддръжка за OpenGL 4.6. Zink ви позволява да получите хардуерно ускорен OpenGL, ако имате драйвери във вашата система, които са ограничени до поддръжка само на Vulkan API. Производителността на Zink е близка до тази на естествените реализации на OpenGL.
  • Драйверът llvmpipe, предназначен за софтуерно изобразяване, поддържа OpenGL 4.6.
  • Драйверът Freedreno, който се използва за графичната подсистема на чиповете на Qualcomm, поддържа OpenGL ES 6 за графичния процесор Adreno a3.0xx.
  • Драйверът Panfrost за GPU Midgard (Mali-T7xx, Mali-T8xx) и Bifrost (Mali G3x, G5x, G7x) поддържа OpenGL 3.1, както и поддръжка за OpenGL ES 3.0 за GPU Bifrost.
  • Драйверът radeonsi поддържа OpenGL разширенията GL_EXT_demote_to_helper_invocation и GL_NV_compute_shader_derivatives. За играта "Counter-Strike: Global Offensive" режимът на оптимизация "mesa_glthread" е активиран по подразбиране, което позволява увеличаване на производителността с 10-20%. Внедрени оптимизации, които влияят върху преминаването на SPECViewPerf тестове. Добавена е поддръжка за инструмента за профилиране Radeon GPU Profiler (RGP). Добавена е поддръжка за технологията Smart Access Memory за GPU Zen 3 и RDNA 2. Добавена е поддръжка за HEVC SAO енкодери (Sample Adaptive Offset, за GPU, поддържащи VCN2, VCN2.5 и VCN3 двигатели) и AV1 декодери (за RDNA 2/RX 6000 и само през интерфейса OpenMAX).
  • Драйверът RADV Vulkan (за AMD карти) добавя поддръжка за Rapid packed math (16-битова векторизация) и Sparse памет (позволява ви да разполагате ресурси като изображения и текстури непоследователно и да ги прикрепяте отново към различни разпределения на паметта). Оптимизирана производителност за карти от серия RX 6000. Добавени разширения VK_VALVE_mutable_descriptor_type и VK_KHR_fragment_shading_rate (само за RDNA2).
  • Драйверите Intel ANV и Iris добавят оптимизации на производителността и предлагат първоначална поддръжка за Vulkan ray tracing разширения, внедрени в Xe HPG графични карти.
  • Добавена е поддръжка за разширението EGL_MESA_platform_xcb, което позволява на приложенията да създават EGL ресурси от X11 ресурси, без да използват Xlib.
  • Драйверът Vulkan V3DV, разработен за графичния ускорител VideoCore VI, използван в платките Raspberry Pi 4, базирани на чипа Broadcom BCM2711, има добавена поддръжка за Wayland WSI (Windowing System Integration), която позволява достъп до API на Vulkan от базирани на Wayland среди.
  • Първоначалното внедряване на слоя, който превежда OpenGL извикванията към DirectX 12 API, беше прието, за да организира работата на графичните приложения в WSL (Windows Subsystem for Linux) среда. В допълнение, библиотеката spirv_to_dxil е включена за конвертиране на междинното представяне на SPIR-V шейдъри в DXIL (DirectX Intermediate Language), разработен от Microsoft.
  • Преработена и значително подобрена поддръжка за Haiku OS.
  • Премахнати са настройките glx_disable_oml_sync_control, glx_disable_sgi_video_sync и glx_disable_ext_buffer_age от driconf.
  • Премахна поддръжката за DRI1 и спря зареждането на DRI драйвери от версии на Mesa под 8.0.
  • Премахна драйвера swrast, изграден на базата на класическия DRI интерфейс и предназначен за софтуерно изобразяване на OpenGL (останалите софтуерни драйвери за изобразяване llvmpipe и softpipe са забележимо пред swrast по отношение на производителност и функционалност). Премахването на swrast беше улеснено от наличието на много неразрешени проблеми и появата на регресии, въпреки факта, че този драйвер вече не се използва в дистрибуциите.
  • Премахната е старата класическа версия на OSMesa API (остава OSMesa базирана на Gallium), което позволява рендиране не на екрана, а на буфер в паметта.

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

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