Collabora disvolvas aldonaĵon por ruli OpenCL kaj OpenGL aldone al DirectX

Kunlabora firmao prezentita nova Gallium-ŝoforo por Mesa, kiu efektivigas tavolon por organizi la laboron de la OpenCL 1.2 kaj OpenGL 3.3 API-oj aldone al ŝoforoj subtenantaj DirectX 12 (D3D12). Kodo eldonita sub la MIT-licenco.

La proponita ŝoforo permesas vin uzi Mesa sur aparatoj kiuj ne denaske subtenas OpenCL kaj OpenGL, kaj ankaŭ kiel deirpunkto por porti OpenGL/OpenCL-aplikaĵojn por funkcii super D3D12. Por GPU-fabrikistoj, la subsistemo ebligas provizi subtenon por OpenCL kaj OpenGL, se nur ŝoforoj kun D3D12-subteno estas disponeblaj.

Inter la tujaj planoj estas la atingo de plena trapaso de la kongruaj testoj de OpenCL 1.2 kaj OpenGL 3.3, kontrolo de kongruo kun aplikoj kaj la inkludo de evoluoj en la ĉefa komponado de Mesa. Evoluo estas farita kune kun Microsoft-inĝenieroj evoluantaj malfermi iloj D3D11On12 por translokado de ludoj de D3D11 al D3D12 kaj biblioteko D3D12TranslationLayer, kiu efektivigas normajn grafikajn primitivulojn aldone al D3D12.

La efektivigo inkludas la Gallium-ŝoforon, OpenCL-kompilon, OpenCL-rultempon kaj NIR-al-DXIL-ombrilkompililon, kiu konvertas la mezan reprezentadon de NIR-ombriloj uzitaj en Mesa en la DXIL (DirectX Intermediate Language) binaran formaton, apogitan en DirectX 12 kaj bazita sur LLVM 3.7 bitokodo (Compilador de DirectX Shader de Mikrosofto estas esence etendita forko de LLVM 3.7). La OpenCL-kompililo estas preta surbaze de la evoluoj de la LLVM-projekto kaj iloj SPIRV-LLVM.

Fontoj kun OpenCL-etendaĵoj estas kompilitaj uzante klang en LLVM mezan pseŭdokodon (LLVM IR), kiu tiam estas konvertita en mezan reprezentadon de OpenCL-kernoj en SPIR-V-formato. Kernoj en la SPIR-V-reprezentantaro estas pasitaj en Mesa, tradukitaj al NIR-formato, optimumigitaj kaj pasitaj al NIR-al-DXIL por generi komputilojn en DXIL-formato, taŭgaj por ekzekuto sur GPUoj uzantaj DirectX 12-bazitan rultempon.
Anstataŭ Clover, la OpenCL-efektivigo uzita en Mesa, nova OpenCL-rultempo estas proponita, permesante pli rektajn konvertiĝojn al la DirectX 12 API.

Collabora disvolvas aldonaĵon por ruli OpenCL kaj OpenGL aldone al DirectX

OpenCL kaj OpenGL-ŝoforoj estas preparitaj uzante la Gallium-interfacon provizitan en Mesa, kiu ebligas al vi krei ŝoforojn sen iri en OpenGL-specifajn detalojn kaj traduki OpenGL-vokojn en esenco pli proksime al la grafikaj primitivuloj, sur kiuj funkcias modernaj GPUoj. Gallium-ŝoforo, akceptas OpenGL-komandojn kaj kiam vi uzas la tradukilon NIR-al-DXIL
generas komandbufrojn kiuj estas ekzekutitaj sur la GPU uzante la D3D12-ŝoforon.

fonto: opennet.ru

Aldoni komenton