Panfrost har nå OpenGL 3.1-støtte for Mali GPUer

Collabora-utviklere har ikke sluttet å jobbe, og det er at de de siste månedene har de gitt mye å snakke om, og denne gangen er det ikke unntaket for nylig kunngjorde at han kunngjorde implementeringen i Panfrost-driveren av OpenGL 3.1-støtte for Midgard GPUer (Mali-T6xx, Mali-T7xx, Mali-T8xx) og Bifrost GPUer (Mali G3x, G5x, G7x), samt OpenGL ES 3.0-støtte for Bifrost GPUer.

Disse endringene forventes å bli inkludert i Mesa 21.0-utgivelsen, som for tiden er i lanseringskandidatfasen.

Det skal huskes at Collabora-utviklere har jobbet lenge med implementeringen av kontrollere for tabeller, og et eksempel på dette er fortiden Gallium bordkontroll, som implementerer et mellomlag å organisere OpenCL 1.2 og OpenGL 3.3 API om drivere med DirectX 12 (D3D12) -støtte og at kildekoden deres er utgitt under MIT-lisensen.

Den foreslåtte kontrolleren lar deg bruke Mesa på enheter som i utgangspunktet ikke er kompatible med OpenCL og OpenGL og også som en startposisjon for å portere OpenGL / OpenCL-applikasjoner for å jobbe på D3D12.

Fra den nye Panfrost-driveren blir det observert at GPU Midgard og Bifrost deler felles datastrukturer for faste funksjoner, men Bifrost bruker et fundamentalt annet sett med instruksjoner, som vanskeliggjør synkron implementering av funksjonalitet for GPU-data.

Arkitektonisk deler Bifrost de fleste av sine faste funksjonsdatastrukturer med Midgard, men introduserer et nytt sett med instruksjoner. Vårt arbeid med å introdusere OpenGL ES 3.0 til Bifrost gjenspeiler denne divisjonen.

Noen faste funksjonsfunksjoner, som instantiering og transformert tilbakemelding, fungerte uten noen spesifikk Bifrost-endring, som vi allerede gjorde i Midgard. Andre skyggefunksjoner, for eksempel ensartede bufferobjekter, krevde implementeringer "fra bunnen av" i Bifrost-kompilatoren, en oppgave som ble gjort enkelt av kompilatorens modne mellomrepresentasjon med førsteklasses byggestøtte.

Eg de faste funksjonene som allerede er implementert for Midgardslik som 'tilbakemelding om transformasjon', kan overføres til Bifrost uten endringer, mens funksjoner som Multiple Render Targets (MRT) er begrenset til noen spesifikke Bifrost-endringer.

Samtidig krever andre skyggeleggingoperasjoner, for eksempel enhetlige bufferobjekter, en implementering av riper for Bifrost skyggeleggingskompilatoren.

Dette følger OpenGL ES 3.0-støtte i Midgard som landet i løpet av sommeren, samt den første OpenGL ES 2.0-støtten som nylig debuterte for Bifrost. OpenGL ES 3.0 er nå testet på Mali G52 i Mesas kontinuerlige integrasjon, og oppnår 99.9% bestått i de tilsvarende DrawElements Quality Program-testene.

Imidlertid krevde andre funksjoner, for eksempel flere gjengivingsmål, spesifikk kode fra Bifrost mens de utnyttet annen kode som deles med Midgard. Arbeidet gikk fremdeles mye raskere andre gang, et bevis på kraften til delte koder. Men du trenger ikke å begrense byttet til bare Panfrost GPUer; Åpne kildedrivere kan dele kode mellom leverandører.

I tillegg er det i kunngjøringen nevnt at noe av dupliseringen av arbeidet ble unngått ved å bruke en mellomrepresentasjon i kompilatoren, at sammen med den delte koden, fremskynder utviklingen betydelig, og at med denne tilnærmingen kan koden brukes ikke bare for en familie av GPUer, men også for forskjellige kontrollere.

Spesielt nevner utviklerne at for å implementere OpenGL på stasjonære systemer, krevde Panfrost-driveren bruk av klare Mesa-komponenter, mens den proprietære driveren for Mali bare er begrenset til å bare støtte OpenGL ES.

Imidlertid er desktop OpenGL 3.1-støtte nesten "gratis" for oss som en oppstrøms Mesa-kontroller ved å utnytte den vanlige infrastrukturen.

Endelig, hvis du er interessert i å vite mer om det om den nye Panfrost-implementeringen som er foreslått av Collabora-utviklere, kan du sjekke detaljene I den følgende lenken.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: AB Internet Networks 2008 SL
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.