Релиз Mesa 20.2.0, свободной реализации OpenGL и Vulkan


Представлен релиз свободной реализации API OpenGL и Vulkan - Mesa 20.2.0. В Mesa 20.2 реализована полная поддержка OpenGL 4.6 для GPU Intel (драйверы i965, iris) и AMD (radeonsi), поддержка OpenGL 4.5 для GPU AMD (r600), NVIDIA (nvc0) и llvmpipe, OpenGL 4.3 для virgl (виртуальный GPU Virgil3D для QEMU/KVM), а также поддержка Vulkan 1.2 для карт Intel и AMD.

Среди изменений:

  • В драйвере llvmpipe, предназначенном для программной отрисовки, обеспечена поддержка OpenGL 4.5.
  • В Vulkan-драйвере RADV (для карт AMD) по умолчанию задействован компилятор шейдеров "ACO", который развивается компанией Valve в качестве альтернативы компилятору шейдеров LLVM. ACO написан на языке С++, разрабатывается с оглядкой на возможность применения для JIT-компиляции и нацелен на обеспечение генерации кода, насколько это возможно оптимального для шейдеров игровых приложений, а также на достижение очень высокой скорости компиляции.
  • Добавлена начальная поддержка GPU AMD Navi 21 (Navy Flounder) и Navi 22 (Sienna Cichlid).
  • В драйверах для GPU Intel улучшена поддержка чипов на базе микроархитектуры Rocket Lake и добавлена начальная поддержка дискретных карт Intel Xe DG1.
  • Расширены возможности Gallium3D-драйвера Zink, реализующего API OpenGL поверх Vulkan. Zink позволяет получить аппаратно ускоренный OpenGL при наличии в системе драйверов, ограниченных поддержкой только API Vulkan.
  • В Gallium3D-дрвйвер Nouveau NVC0 задействован HMM (heterogeneous memory management) для поддержки OpenCL SVM (Shared Virtual Memory).
  • В драйвере Panfrost стабилизирована поддержка 3D-рендеринга для GPU Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx).
  • В RadeonSI внесены улучшения, связанные с виртуализацией GPU.
  • Добавлена поддержка кэширования на диске промежуточного представления TGSI (Tungsten Graphics Shader Infrastructure).
  • Добавлены новые расширения OpenGL:
    • GL\_ARB\_compute\_variable\_group\_size для Intel Iris.
    • GL\_ARB\_gl\_spirv для Nouveau nvc0.
    • GL\_NV\_half\_float для Nouveau nvc0.
    • GL\_NV\_copy\_depth\_to\_color для Nouveau nvc0.
    • GL\_ARB\_spirv\_extensions для Nouveau nvc0.
    • GL\_EXT\_shader\_group\_vote для llvmpipe.
    • GL\_ARB\_gpu\_shader5 для llvmpipe.
    • GL\_ARB\_post\_depth\_coverage для llvmpipe.
    • GL\_EXT\_texture\_shadow\_lod для llvmpipe.
  • Добавлена поддержка EGL-расширения EGL\_KHR\_swap\_buffers\_with\_damage (для X11 DRI3), а также GLX-расширений GLX\_EXT\_swap\_control (DRI2, DRI3) и GLX\_EXT\_swap\_control\_tear (DRI3).
  • В Vulkan-драйвер RADV (для карт AMD) добавлены расширения:
    • VK\_EXT\_4444\_formats
    • VK\_KHR\_memory\_model
    • VK\_AMD\_texture\_gather\_bias\_lod
    • VK\_AMD\_gpu\_shader\_half\_float
    • VK\_AMD\_gpu\_shader\_int16
    • VK\_EXT\_extended\_dynamic\_state
    • VK\_EXT\_image\_robustness
    • VK\_EXT\_private\_data
    • VK\_EXT\_custom\_border\_color
    • VK\_EXT\_pipeline\_creation\_cache\_control
    • VK\_EXT\_shader\_demote\_to\_helper\_invocation
    • VK\_EXT\_subgroup\_size\_control
    • VK\_GOOGLE\_user\_type
    • VK\_KHR\_shader\_subgroup\_extended\_types
  • В Vulkan-драйвер ANV (для карт Intel) добавлены расширения:
    • VK\_EXT\_image\_robustness
    • VK\_EXT\_shader\_atomic\_float
    • VK\_EXT\_4444\_formats
    • VK\_EXT\_extended\_dynamic\_state
    • VK\_EXT\_private\_data
    • VK\_EXT\_custom\_border\_color
    • VK\_EXT\_pipeline\_creation\_cache\_control

Источник: https://www.opennet.ru/opennews/art.shtml?num=53801


Comments 0