OpenCL i OpenGL na wszystkich urządzeniach z DirectX 12

OpenCL i OpenGL na wszystkich urządzeniach z DirectX 12

Autor: Krzysztof Sulikowski

Opublikowano: 3/25/2020, 12:54 PM

Liczba odsłon: 2483

Nie wszystkie urządzenia z Windows wspierają OpenCL i OpenGL z przyspieszeniem sprzętowym. Twórcy gier mają zatem z tym problem. Aby poprawić kompatybilność aplikacji, Collabora pracuje nad rozwiązaniem tego problemu. W partnerstwie z inżynierami DirectX z Microsoft firma rozwija warstwy mapowania OpenCL i OpenGL, aby wprowadzić obsługę OpenCL 1.2 i OpenGL 3.3 na wszystkie urządzenia z Windows i DirectX 12.

Wiele korzystamy z naszej wcześniejszej pracy. Przede wszystkim tworzymy to, używając Mesa 3D, z interfejsem Gallium jako bazą warstwy OpenGL i NIR jako bazą kompilatora OpenCL. Używamy też LLVM i SPIRV-LLVM-Translator od Khronos jako front-endu kompilatora. Dodatkowo wykorzystujemy doświadczenie Microsoftu w tworzeniu ich D3D12 Translation Layer, a także nasze własne doświadczenie z rozwoju Zink.
— Erik Faye-Lund, Collabora

Mesa 3D jest otwartoźródłową implementacją kilku technologii graficznych, w tym OpenCL i OpenGL. Na tej podstawie Collabora i Microsoft budują rozwiązanie, które posłuży jako punkt wyjścia do portowania starszych aplikacji OpenCL i OpenGL do D3D12. Praca ta przysłuży się też społeczności open source, jako że wiele rozwiązań problemów jest współdzielonych z innymi sterownikami i warstwami tłumaczącymi.

Prace zostały podzielone na trzy obszary: kompilatora OpenCL, runtime OpenCL i sterownika Gallium, który wykonuje polecenia na GPU z użyciem API D3D12. Jest jeszcze kompilator shadera NIR-to-DXIL, którego używają oba komponenty. NIR jest własną reprezentacją shaderów GPU dla Mesy, a DXIL to reprezentacja Microsoftu, której używają sterowniki D3D12 i tłumaczą na specyficzne dla sprzętu shadery.

Collabora chce przejść testy zgodności z OpenCL 1.2 i OpenGL 3.3, a następnie popracować nad kompatybilnością aplikacji, zaczynając od tych produktywnych.

Źródło: https://www.collabora.com/news-and-blog/news-and-events/introducing-opencl-and-opengl-on-directx.html

Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży
Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży

Wydarzenia