Collabora izstrādātāji prezentēja Mesa jaunu Gallium kontrolieri

Collabora kontrolieris

Nesen Izlaida Collabora izstrādātāji izmantojot emuāra ziņojumu, jauns Gallium kontrolieris Mesa, kas īsteno starpslāni organizēt OpenCL 1.2 un OpenGL 3.3 API par draiveriem ar DirectX 12 (D3D12) atbalstu un ka viņu pirmkods tiek izlaists ar MIT licenci.

Ierosinātais kontrolieris to darīs ļauj izmantot Mesa ierīcēs kas sākotnēji nav saderīgi ar OpenCL un OpenGL un arī kā sākuma pozīciju portēt OpenGL / OpenCL lietojumprogrammas darbam ar D3D12. GPU ražotājiem apakšsistēma ļauj nodrošināt atbalstu OpenCL un OpenGL, draiveriem atbalstot tikai D3D12.

Savā emuāra ziņā izstrādātāji dalās ar:

Pēdējo mēnešu laikā mēs esam izstrādājuši divus jaunus aizraujošus projektus Collabora, un beidzot ir pienācis laiks dalīties ar informāciju par tiem visā pasaulē ...

Par tūlītējiem plāniem, tiek novērots, ka ir panākta pilnīga testu apstiprināšana Atbalsts OpenCL 1.2 un OpenGL 3.3, saderības ar lietojumprogrammām pārbaude un paraugprakses iekļaušana Mesa galvenajā sastāvā.

Par jauno kontrolieri

Jaunā kontroliera izstrāde tiek veikta kopā ar Microsoft inženieriem izstrādāt D3D11On12 rīkus D3D11 pārsūtīšanas komplektiem un D3D12 D3D12TranslationLayer bibliotēkai, kā arī standarta grafiskos primitīvos rīkus virs D3D12.

Īstenošana ietver Gallium draiveri, OpenCL kompilatoru, OpenCL izpildlaika un NIR-to-DXIL ēnotāja kompilatoru, kas pārveido Mesā izmantoto NIR ēnotāju starpstāvokli binārā DXIL formātā (DirectX starpvaloda), kas ir saderīgs ar DirectX 12 un balstīts uz bitu kodu LLVM 3.7 (Microsoft DirectX Shader Compiler būtībā ir pagarināts LLVM 3.7 dakša). OpenCL kompilators tika sagatavots, balstoties uz LLVM projekta pieredzi un SPIRV-LLVM rīkkopu.

Šis darbs balstās uz daudziem iepriekšējiem darbiem. Pirmkārt, mēs to veidojam, izmantojot Mesa 3D, ar Gallium saskarni kā pamatu OpenGL slānim un NIR kā pamatu OpenCL kompilatoram. Kā kompilatoru mēs izmantojam arī LLVM un Khronos SPIRV-LLVM tulkotāju.

Turklāt mēs izmantojam Microsoft pieredzi, veidojot viņu D3D12 tulkošanas slāni, kā arī mūsu pašu pieredzi Zink izstrādē.

OpenCL avota kods ar clang tiek apkopots starpposma LLVM pseidokodā (LLVM IR), kas pēc tam tiek pārveidots par OpenCL kodola starpposma attēlojumu SPIR-V formātā.

SPIR-V attēlojuma kodoli tiek pārnesti uz Mesa, tulkots NIR formātā, optimizēts un pārsūtīts uz NIR-to-DXIL, lai izveidotu piemērotus DXIL skaitļošanas ēnotājus GPU izpildei, izmantojot izpildlaiku, kura pamatā ir DirectX 12. Tā vietā, lai izmantotu āboliņu OpenCL Mesa ieviešanā, tiek piedāvāts jauns OpenCL izpildlaiks, kas ļauj veikt tiešākus reklāmguvumus DirectX 12 API.

OpenCL un OpenGL draiveri tiek sagatavoti, izmantojot Gallium saskarni nodrošina Mesa, kas ļauj apiet OpenGL specifiku, veidojot kontrolierus, un tulkot OpenGL izsaukumus entītijās, kas ir tuvāk grafiskajiem primitīviem, ar kuriem darbojas mūsdienu GPU.

Gallium draiveris pieņem OpenGL komandas un ar NIR-to-DXIL tulkotāja piedalīšanos veido komandu buferus, kas darbojas GPU, izmantojot draiveri D3D12.

Visbeidzot, izstrādātāji min, ka tas ir agrs darbs un ka viņi sagaida, ka kontrolieris laika gaitā uzlabosies:

Tas ir tikai paziņojums, un vēl ir daudz darāmā. Mums ir kaut kas, kas šobrīd dažos gadījumos darbojas, bet mēs tikai sākam saskrāpēt virsmu.

Pirmkārt, mums ir jānokļūst līdz iezīmju līmenim, uz kuru mēs virzāmies. Mūsu mērķis šobrīd ir izturēt OpenCL 1.2 un OpenGL 3.3 atbilstības testēšanu. Mums ir tāls ceļš ejams, bet ar nelielu smagu darbu un sviedriem esmu pārliecināts, ka mēs tur tiksim.

Ja jūs interesē uzzināt vairāk par to, jūs varat pārbaudīt sākotnējo piezīmi šo saiti vai tiem, kurus interesē avota koda pārskatīšana, to var izdarīt no šīs saites.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: AB Internet Networks 2008 SL
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.