Релиз 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 GPU (r600) и NVIDIA (nvc0), а OpenGL 4.3 за virgl (виртуален GPU Virgil3D за QEMU/KVM). Поддръжката на Vulkan 1.2 е реализирана за Intel и AMD карти, а Vulkan 1.0 за VideoCore VI (Raspberry Pi 4).

Основни нововъведения:

  • В драйвера Zink (реализация на OpenGL над Vulkan) е осигурена поддръжка на OpenGL 4.6. Zink позволява хардуерно ускорен OpenGL при наличие на драйвери в системата, ограничени само до API Vulkan. Производителността на Zink е близка до производителността на собствените реализации на OpenGL.
  • В драйвера llvmpipe, предназначен за софтуерно рендериране, е реализирана поддръжка на OpenGL 4.6.
  • В драйвера Freedreno, използван за графичната подсистема на чиповете Qualcomm, за GPU Adreno a6xx е реализирана поддръжка на OpenGL ES 3.0.
  • В драйвера 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). За GPU Zen 3 и RDNA 2 е добавена поддръжка на технологията Smart Access Memory. Добавена е поддръжка на HEVC SAO кодировчици (Sample Adaptive Offset, за GPU с поддръжка на VCN2, VCN2.5 и VCN3) и AV1 декодери (за RDNA 2/RX 6000 и само през интерфейса OpenMAX).
  • В Vulkan-драйвера RADV (за AMD карти) е добавена поддръжка на технологията Rapid packed math (16-битова векторизация) и Sparse памет (позволяваща разполагане на ресурси, такива като изображения и текстури, непоследователно и повторно закрепване към различни операции по разпределяне на памет). Извършена е оптимизация на производителността за карти от серия RX 6000. Добавени са разширенията VK_VALVE_mutable_descriptor_type и VK_KHR_fragment_shading_rate (само за RDNA2).
  • В драйверите Intel ANV и Iris са добавени оптимизации на производителността и е предложена начална поддръжка за разширенията Vulkan за трасировка на лъчи, реализирани във видеокартите 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 в API DirectX 12, за да осигури работата на графични приложения в среда WSL (Windows Subsystem for Linux). Освен това, в състава е включена библиотека spirv_to_dxil за преобразуване на междинното представяне на шейдъри SPIR-V в DXIL (DirectX Intermediate Language), разработена от Microsoft.
  • Поддръжката за операционната система Haiku е преработена и значително подобрена.
  • Настройките 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 е премахнат (оставен е OSMesa на базата на Gallium), позволяващ рендериране не на екран, а в буфер в паметта.

    Източник: opennet.ru
Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster