Реализация OpenGL поверх DirectX достигла совместимости с OpenGL 3.3 и принята в состав Mesa

11 марта 2021 года

Компания Collabora сообщила о принятии в основной состав Mesa Gallium-драйвера D3D12, реализующего прослойку для организации работы OpenGL поверх API DirectX 12 (D3D12). Одновременно объявлено об успешном прохождении драйвером тестов на совместимость с OpenGL 3.3 при работе поверх D3D12-драйверов WARP (программный растеризатор) и NVIDIA.

Драйвер может быть полезен для использования Mesa на устройствах с драйверами, поддерживающими только D3D12, а также в качестве стартовой позиции для портирования OpenGL-приложений для работы поверх API D3D12. В том числе драйвер можно будет использовать для организации работы графических приложений в окружениях под управлением подсистемы WSL (Windows Subsystem for Linux), обеспечивающей запуск исполняемых файлов Linux в Windows.

Разработка ведётся совместно с инженерами Microsoft, развивающими открытый инструментарий D3D11On12 для перевода игр с D3D11 на D3D12 и библиотеку D3D12TranslationLayer, реализующую типовые графические примитивы поверх D3D12. На базе рассматриваемого проекта компания Microsoft уже подготовила прослойку, дающую возможность запускать завязанные на OpenGL приложения на устройствах с Windows, не предоставляющих полную поддержку OpenGL. В частности, удалось обеспечить работу Photoshop на Windows-устройствах с процессорами ARM.

Реализация включает драйвер для Mesa, компилятор OpenCL, OpenCL runtime и компилятор шейдеров NIR-to-DXIL, преобразующий применяемое в Mesa промежуточное представление шейдеров NIR в бинарный формат DXIL (DirectX Intermediate Language), поддерживаемый в DirectX 12 и основанный на биткоде LLVM 3.7 ( DirectX Shader Compiler от Microsoft является ответвлением от LLVM 3.7). Драйвере для Mesa использует интерфейс Gallium, принимает команды OpenGL и при помощи транслятора NIR-to-DXIL формирует команды D3D12, которые исполняются на GPU посредством системного драйвера D3D12.

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Реализация OpenGL поверх DirectX достигла совместимости с OpenGL 3.3 и принята в состав Mesa», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.