Panfrost tagad ir OpenGL 3.1 atbalsts Mali GPU

Collabora izstrādātāji nav pārstājuši darboties, un pēdējos mēnešos viņi ir devuši daudz sarunu, un šoreiz tas nav izņēmums, jo nesen paziņoja, ka paziņoja par OpenGL 3.1 atbalsta ieviešanu Panfrost draiverī Midgard GPU (Mali-T6xx, Mali-T7xx, Mali-T8xx) un Bifrost GPU (Mali G3x, G5x, G7x), kā arī OpenGL ES 3.0 atbalstu Bifrost GPU.

Šīs izmaiņas paredzams iekļaut Mesa 21.0 laidienā, kas šobrīd atrodas starta kandidātu stadijā.

Jāatceras, ka Collabora izstrādātāji ilgu laiku ir strādājuši pie tabulu kontrolieru ieviešanas, un tā piemērs ir pagātne Gallium galda kontrolieris, 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 ļ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.

No jaunā Panfrost draivera puses tiek novērots, ka GPU Midgard un Bifrost kopīgas datu struktūras fiksētām funkcijām, bet Bifrost izmanto principiāli atšķirīgu instrukciju kopumu, kas apgrūtina GPU datu sinhronu funkcionalitātes ieviešanu.

Arhitektūras ziņā Bifrost lielāko daļu savu fiksēto funkciju datu struktūru koplieto ar Midgard, bet ievieš jaunu instrukciju kopu. Mūsu darbs, lai ieviestu OpenGL ES 3.0 Bifrost, atspoguļo šo dalījumu.

Dažas fiksēto funkciju funkcijas, piemēram, instantiation un transformācijas atgriezeniskā saite, darbojās bez īpašām Bifrost izmaiņām, kā mēs to jau darījām Midgard. Citas ēnotāja funkcijas, piemēram, vienveidīgi buferobjekti, Bifrost kompilatorā ir nepieciešami "no jauna" ieviešanai, un šo uzdevumu atvieglo kompilatora nobriedis starpposma attēlojums ar pirmās klases būvēšanas atbalstu.

Piemēram Midgard jau ieviestās fiksētās funkcijaspiemēram, “transformācijas atgriezeniskā saite”, bez izmaiņām var pārsūtīt uz Bifrost, kamēr tādas funkcijas kā Vairāki atveidošanas mērķi (MRT) ir ierobežotas ar dažām īpašām Bifrost izmaiņām.

Tajā pašā laikā citām ēnotāja darbībām, piemēram, vienotiem bufera objektiem, Bifrost ēnotāja kompilatoram ir nepieciešama skrāpējumu ieviešana.

Tas seko OpenGL ES 3.0 atbalstam Midgardā, kas nonāca vasarā, kā arī sākotnējam OpenGL ES 2.0 atbalstam, kas nesen debitēja Bifrost. Tagad OpenGL ES 3.0 ir pārbaudīts Mali G52 Mesa nepārtrauktā integrācijā, sasniedzot 99.9% izturēšanas līmeni attiecīgajos DrawElements kvalitātes programmas testos.

Tomēr citām funkcijām, piemēram, vairākiem renderēšanas mērķiem, Bifrost bija nepieciešams īpašs kods, vienlaikus izmantojot citu ar Midgard koplietojamo kodu. Tomēr darbs otro reizi noritēja daudz ātrāk, kas liecina par kopīgo kodu spēku. Bet jums nav jāierobežo mijmaiņa tikai ar Panfrost GPU; Atvērtā koda draiveri var koplietot kodu starp pārdevējiem.

Turklāt paziņojumā ir minēts, ka daļa no darba dublēšanās tika novērsta, izmantojot kompilatorā starpposma attēlojumu, ka kopā ar koplietojamo kodu ievērojami paātrina attīstību un ka, izmantojot šo pieeju, kodu var izmantot ne tikai GPU saimei, bet arī dažādiem kontrolleriem.

Izstrādātāji jo īpaši min, ka, lai ieviestu OpenGL darbvirsmas sistēmās, Panfrost draiverim bija nepieciešams izmantot lietošanai gatavus Mesa komponentus, savukārt Mali patentētais draiveris aprobežojas tikai ar tikai OpenGL ES atbalstīšanu.

Tomēr darbvirsmas OpenGL 3.1 atbalsts mums kā Mesa kontrolierim ir gandrīz "bezmaksas", izmantojot kopējo infrastruktūru.

Visbeidzot, ja jūs interesē uzzināt vairāk par to par jauno Panfrost ieviešanu, ko piedāvā Collabora izstrādātāji, varat pārbaudīt informāciju Šajā saitē.


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.