Collabora и Microsoft внедряют OpenCL 1.2 и OpenGL 3.3 на устройства с поддержкой DirectX 12 и Windows

Collabora некоторое время работала над графическими проектами с открытым исходным кодом, включая драйвера с открытым исходным кодом Panfrost для графических процессоров Arm Midgard и Bitfrost, которые, в начале этого года, получили экспериментальную поддержку OpenGL ES 3.0.

Но, компания также работает с Microsoft, чтобы обеспечить прослойку для организации работы OpenCL 1.2 и OpenGL 3.3 на всех устройствах Windows, совместимых с DirectX 12.

Схема полного процесса перевода OpenCL

Их решение основано на реализации открытого кода Mesa 3D OpenCL и OpenGL с тремя основными компонентами:

  • компилятор OpenCL, использующий LLVM и SPIRV-LLVM-преобразователь для генерации представлений SPIR-V в OpenCL-ядра. Данные проходят через преобразователь SPIR-V в NIR (NIR – это внутреннее представление Mesa для шейдеров GPU) и, наконец, в NIR-to-DXIL, генерируя вычислительный шейдер DXIL и метаданные, понятные DirectX 12 (D3D12).
  • пользовательская среда выполнения OpenCL для прямой трансляции DirectX 12 (не основанная на реализации Mesa Clover)
  • драйвер Gallium, который создает и выполняет буферы команд на графическом процессоре с использованием API D3D12. Он превращает команды OpenGL в буферы команд D3D12 через преобразователь NIR-to-DXIL, которые выполняются на GPU с помощью драйвера D3D12.
демо-программа wglgears OpenGL для Windows

Это позволит аппаратной платформе без полной поддержки OpenGL или OpenCL запускать приложения, использующие этот графический стандарт, и упростит разработчикам переход от старых версий OpenCL и API OpenGL к Direct X12.

Проект с открытым исходным кодом с кодом, размещенным на Gitlab, и в конечном итоге Collabora и Microsoft планируют передать исходный код в библиотеку 3D-графики Mesa.

Более подробную информацию можно найти в отдельных анонсированных блогах разработчиков Collabora и Microsoft.

Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

0 0 votes
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Inline Feedbacks
View all comments