Panfrost har nu OpenGL 3.1 support til Mali GPU'er

Collabora-udviklerne er ikke holdt op med at arbejde, og det er, at de i de seneste måneder har givet meget at tale om, og denne gang er ingen undtagelse, fordi for nylig udgivet meddelelsen om implementeringen i Panfrost-driveren af ​​OpenGL 3.1-understøttelse til Midgard GPU'er (Mali-T6xx, Mali-T7xx, Mali-T8xx) og Bifrost GPU'er (Mali G3x, G5x, G7x), samt OpenGL ES 3.0-understøttelse af Bifrost GPU'er.

Disse ændringer de forventes at blive inkluderet i udgivelsen af ​​Mesa 21.0, som i øjeblikket er på udgivelseskandidatstadiet.

Det skal huskes, at Collabora-udviklerne har arbejdet i temmelig lang tid på implementeringen af ​​tabelcontrollere, og et eksempel på dette er fortiden. Gallium controller til bord, som implementerer et mellemlag at organisere OpenCL 1.2 og OpenGL 3.3 API om drivere med DirectX 12 (D3D12)-understøttelse, og at dens kildekode er udgivet under MIT-licensen.

Den foreslåede controller giver mulighed for at bruge Mesa på enheder som i første omgang ikke er kompatible med OpenCL og OpenGL og også som udgangspunkt for portering af OpenGL/OpenCL-applikationer til at arbejde oven på D3D12.

Fra den nye Panfrost-drivers side er det observeret, at GPU Midgard og Bifrost deler fælles datastrukturer til faste funktioner, men Bifrost bruger et fundamentalt andet sæt instruktioner, hvilket gør det vanskeligt at implementere synkron funktionalitet til GPU-data.

Arkitektonisk deler Bifrost de fleste af sine faste funktionsdatastrukturer med Midgard, men har et nyt instruktionssæt. Vores arbejde med at introducere OpenGL ES 3.0 på Bifrost afspejler denne opdeling.

Nogle faste funktioner, såsom instansiering og transformationsfeedback, fungerede uden Bifrost-specifikke ændringer, som vi allerede gjorde i Midgard. Andre skyggefunktioner, såsom ensartede bufferobjekter, krævede "fra bunden"-implementeringer i Bifrost-kompileren, en opgave, der blev lettere af compilerens modne mellemrepræsentation med førsteklasses build-understøttelse.

Fx Faste funktioner allerede implementeret for Midgard, såsom "transformation feedback", kan overføres til Bifrost uden ændringer, mens funktioner som Multiple Render Targets (MRT) er begrænset til nogle Bifrost-specifikke ændringer.

Samtidig kræver andre shader-operationer, såsom unified buffer-objekter, en scratch-implementering til Bifrost shader-kompileren.

Dette følger efter OpenGL ES 3.0-understøttelse i Midgard, der landede i løbet af sommeren, samt den indledende OpenGL ES 2.0-understøttelse, der for nylig debuterede for Bifrost. OpenGL ES 3.0 er nu testet på Mali G52 i Mesas kontinuerlige integration og opnår en beståelsesrate på 99.9 % i de tilsvarende DrawElements Quality Program-tests.

Andre funktioner, såsom flere gengivelsesmål, krævede imidlertid Bifrost-specifik kode, mens de udnyttede anden kode, der blev delt med Midgard. Alligevel gik arbejdet meget hurtigere anden gang, et vidnesbyrd om styrken ved delt kode. Men du behøver ikke at begrænse deling til kun Panfrost GPU'er; Open source-drivere kan dele kode mellem leverandører.

Derudover nævnes det i meddelelsen noget dobbeltarbejde blev undgået ved at bruge en mellemrepræsentation i compileren, der sammen med delt kode markant fremskynder udviklingen, og at kode med denne tilgang ikke kun kan bruges til én familie af GPU'er, men også til forskellige controllere.

Udviklerne nævner især, at for at implementere OpenGL på desktop-systemer, krævede Panfrost-driveren brug af out-of-the-box Mesa-komponenter, mens den proprietære driver til Mali er begrænset til kun at understøtte OpenGL ES.

Desktop OpenGL 3.1 support er dog næsten "gratis" for os som upstream Mesa driver ved at udnytte den fælles infrastruktur.

Endelig hvis du er interesseret i at vide mere om det om den nye Panfrost-implementering foreslået af Collabora-udviklerne, kan du tjekke detaljerne I det følgende link.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for data: AB Internet Networks 2008 SL
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.