Podjetje Collabora
Predlagani gonilnik vam omogoča uporabo Mesa v napravah, ki izvirno ne podpirajo OpenCL in OpenGL, in tudi kot izhodišče za prenos aplikacij OpenGL/OpenCL za izvajanje na vrhu D3D12. Za proizvajalce grafičnih procesorjev podsistem omogoča podporo za OpenCL in OpenGL, če so na voljo samo gonilniki s podporo za D3D12.
Med bližnjimi načrti so doseganje popolne uspešnosti testov združljivosti OpenCL 1.2 in OpenGL 3.3, preverjanje združljivosti z aplikacijami in vključitev razvoja v glavno sestavo Mesa. Razvoj poteka skupaj z razvijalci Microsoftovih inženirjev
Izvedba vključuje gonilnik Gallium, prevajalnik OpenCL, izvajalno okolje OpenCL in prevajalnik senčil NIR v DXIL, ki pretvori vmesno predstavitev senčil NIR, uporabljenih v Mesi, v binarni format DXIL (DirectX Intermediate Language), ki je podprt v DirectX 12 in temelji na bitna koda LLVM 3.7 (
Izvori z razširitvami OpenCL so z uporabo klanga prevedeni v vmesno psevdokodo LLVM (LLVM IR), ki se nato pretvori v vmesno predstavitev jeder OpenCL v formatu SPIR-V. Jedra v predstavitvi SPIR-V se posredujejo v Mesa, prevedejo v format NIR, optimizirajo in posredujejo v NIR-to-DXIL za generiranje računalniških senčnikov v formatu DXIL, ki so primerni za izvajanje na grafičnih procesorjih z uporabo izvajalnega okolja, ki temelji na DirectX 12.
Namesto Cloverja, izvedbe OpenCL, ki se uporablja v Mesi, je predlagano novo izvajalno okolje OpenCL, ki omogoča bolj neposredne pretvorbe v API DirectX 12.
Gonilniki OpenCL in OpenGL so pripravljeni z uporabo vmesnika Gallium, ki je na voljo v Mesi, kar vam omogoča ustvarjanje gonilnikov, ne da bi se spuščali v podrobnosti, specifične za OpenGL, in prevajanje klicev OpenGL v bistvu bližje grafičnim primitivom, na katerih delujejo sodobni grafični procesorji. Gonilnik Gallium, sprejema ukaze OpenGL in pri uporabi prevajalnika NIR v DXIL
generira medpomnilnike ukazov, ki se izvajajo na GPU z uporabo gonilnika D3D12.
Vir: opennet.ru