Collabora bedriuw
De foarstelde stjoerprogramma lit jo Mesa brûke op apparaten dy't OpenCL en OpenGL net natuerlik stypje, en ek as útgongspunt foar it portearjen fan OpenGL / OpenCL-applikaasjes om boppe op D3D12 te rinnen. Foar GPU-fabrikanten makket it subsysteem it mooglik om stipe te jaan foar OpenCL en OpenGL, as allinich bestjoerders mei D3D12-stipe beskikber binne.
Under de direkte plannen binne it berikken fan it folslein trochjaan fan de kompatibiliteitstests fan OpenCL 1.2 en OpenGL 3.3, kontrolearjen fan kompatibiliteit mei applikaasjes en it opnimmen fan ûntwikkelingen yn 'e haadkomposysje fan Mesa. Untwikkeling wurdt útfierd tegearre mei Microsoft yngenieurs ûntwikkeljen
De ymplemintaasje omfettet de Gallium-bestjoerder, OpenCL-kompiler, OpenCL-runtime en NIR-to-DXIL-shader-kompiler, dy't de tuskenlizzende fertsjintwurdiging fan NIR-shaders brûkt yn Mesa konvertearret yn it DXIL (DirectX Intermediate Language) binêre formaat, stipe yn DirectX 12 en basearre op LLVM 3.7 bitkoade (
Boarnen mei OpenCL-útwreidings wurde kompilearre mei help fan clang yn LLVM intermediate pseudocode (LLVM IR), dy't dan wurdt omboud ta in tuskenlizzende fertsjintwurdiging fan OpenCL kernels yn SPIR-V opmaak. Kearnen yn 'e SPIR-V-fertsjintwurdiging wurde trochjûn yn Mesa, oerset nei NIR-formaat, optimalisearre en trochjûn oan NIR-nei-DXIL om komputershaders te generearjen yn DXIL-formaat, geskikt foar útfiering op GPU's mei DirectX 12-basearre runtime.
Ynstee fan Clover, de OpenCL-ymplemintaasje brûkt yn Mesa, wurdt in nije OpenCL-runtime foarsteld, wêrtroch mear direkte konversaasjes kinne wurde nei de DirectX 12 API.
OpenCL- en OpenGL-bestjoerders wurde taret mei de Gallium-ynterface oanbean yn Mesa, wêrtroch jo sjauffeurs kinne oanmeitsje sûnder yn OpenGL-spesifike details te gean en OpenGL-oproppen yn essinsje tichterby de grafyske primitiven oersette wêrop moderne GPU's operearje. Gallium-bestjoerder, akseptearret OpenGL-kommando's en by it brûken fan de NIR-nei-DXIL-oersetter
genereart kommandobuffers dy't wurde útfierd op 'e GPU mei it D3D12-bestjoerder.
Boarne: opennet.ru