Panfrost sada ima OpenGL 3.1 podršku za Mali GPU

Programeri Collabora nisu prestali raditi i posljednjih mjeseci dali su puno toga za razgovor, a ovaj put to nije iznimka jer je nedavno najavio najavu implementacije podrške za OpenGL 3.1 u pokretaču Panfrost za Midgard GPU-ove (Mali-T6xx, Mali-T7xx, Mali-T8xx) i Bifrost GPU-ove (Mali G3x, G5x, G7x), kao i OpenGL ES 3.0 podršku za Bifrost GPU-ove.

Te promjene očekuje se da će biti uključen u izdanje Mesa 21.0, koja je trenutno u fazi kandidata za pokretanje.

Treba imati na umu da su programeri Collabora dugo radili na implementaciji kontrolera za tablice i primjer toga je prošlost Galij stolni kontroler, koji provodi srednji sloj organizirati OpenCL 1.2 i OpenGL 3.3 API o upravljačkim programima s podrškom za DirectX 12 (D3D12) i da je njihov izvorni kod objavljen pod MIT licencom.

Predloženi kontroler omogućuje vam upotrebu Mesa na uređajima koji u početku nisu kompatibilni s OpenCL-om i OpenGL-om a također i kao početni položaj za prijenos OpenGL / OpenCL aplikacija za rad na D3D12.

Dio novog upravljačkog programa Panfrost primijetio je da GPU Midgard i Bifrost dijele uobičajene strukture podataka za fiksne funkcije, ali Bifrost koristi bitno drugačiji niz uputa, što otežava sinkronu implementaciju funkcionalnosti za GPU podatke.

Arhitektonski, Bifrost dijeli većinu svojih struktura podataka s fiksnom funkcijom s Midgardom, ali uvodi novi set uputa. Naš rad na uvođenju OpenGL ES 3.0 na Bifrost odražava ovu podjelu.

Neke značajke s fiksnom funkcijom, poput instanciranja i povratnih informacija o transformaciji, radile su bez ikakvih specifičnih Bifrost-ovih promjena, kao što smo već radili u Midgard-u. Ostale značajke zasjenjivanja, poput jednoobraznih objekata međuspremnika, zahtijevale su implementacije "od nule" u kompajleru Bifrost, što je zadatak olakšan zrelim srednjim prikazom kompajlera s prvoklasnom podrškom za izgradnju.

Npr. fiksne funkcije koje su već implementirane za Midgardpoput "povratne informacije o transformaciji", može se prenijeti na Bifrost bez promjena, dok su značajke poput višestrukih ciljeva prikaza (MRT) ograničene na neke specifične Bifrost promjene.

Istodobno, druge operacije sjenčanja, poput objedinjenih objekata međuspremnika, zahtijevaju implementaciju ogrebotina za kompajler Bifrost sjenčanja.

Ovo slijedi podršku za OpenGL ES 3.0 u Midgard-u koja je došla preko ljeta, kao i početnu podršku za OpenGL ES 2.0 koja je nedavno debitirala za Bifrost. OpenGL ES 3.0 sada je testiran na Mali G52 u kontinuiranoj Mesinoj integraciji, postižući 99.9% prolaznosti u odgovarajućim testovima programa kvalitete DrawElements.

Međutim, druge značajke, poput više ciljeva prikazivanja, zahtijevale su određeni kôd od Bifrosta, dok su koristile druge kodove podijeljene s Midgardom. Ipak, posao je napredovao mnogo brže drugi put, što je dokaz moći zajedničkih kodova. Ali ne trebate ograničiti svoje dijeljenje na samo Panfrost GPU-ove; Upravljački programi otvorenog koda mogu dijeliti kod između dobavljača.

Uz to, u najavi se spominje da izbjegnuto je dupliciranje rada korištenjem posredničkog predstavljanja u kompajleru, da zajedno sa zajedničkim kodom značajno ubrzava razvoj i da se ovim pristupom kod može koristiti ne samo za obitelj GPU-a, već i za različite kontrolere.

Konkretno, programeri spominju da je za primjenu OpenGL-a na stolnim sustavima pokretački program Panfrost zahtijevao upotrebu Mesa komponenata, dok je vlasnički upravljački program za Mali ograničen samo na podršku samo OpenGL ES.

Međutim, podrška za OpenGL 3.1 za radnu površinu gotovo je "besplatna" za nas kao uzlazni Mesa kontroler iskorištavanjem zajedničke infrastrukture.

Konačno, ako vas zanima više o tome o novoj implementaciji Panfrosta koju su predložili programeri Collabora, možete provjeriti detalje U sljedećem linku.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.