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.