Panfrost har nu OpenGL 3.1-stöd för Mali GPU: er

Collabora-utvecklarna har inte slutat fungera och det är att de de senaste månaderna har gett mycket att prata om och den här gången är inget undantag eftersom nyligen släppte tillkännagivandet av implementeringen i Panfrost-drivrutinen för OpenGL 3.1-stöd för Midgard GPU:er (Mali-T6xx, Mali-T7xx, Mali-T8xx) och Bifrost GPU:er (Mali G3x, G5x, G7x), samt OpenGL ES 3.0-stöd för Bifrost GPU:er.

Dessa förändringar de förväntas inkluderas i utgåvan av Mesa 21.0, som för närvarande befinner sig i utgivningskandidatstadiet.

Man måste komma ihåg att Collabora-utvecklarna har arbetat ganska länge med implementeringen av tabellkontroller och ett exempel på detta är det förflutna. Gallium styrenhet för bord, som implementerar ett mellanskikt för att organisera OpenCL 1.2 och OpenGL 3.3 API om drivrutiner med DirectX 12 (D3D12)-stöd och att dess källkod släpps under MIT-licensen.

Den föreslagna kontrollanten gör det möjligt att använda Mesa på enheter som från början inte är kompatibla med OpenCL och OpenGL och även som utgångspunkt för portering av OpenGL/OpenCL-applikationer för att fungera ovanpå D3D12.

På sidan av den nya Panfrost-drivrutinen observeras det att GPU Midgard och Bifrost delar gemensamma datastrukturer för fasta funktioner, men Bifrost använder en fundamentalt annorlunda uppsättning instruktioner, vilket gör det svårt att implementera synkron funktionalitet för GPU-data.

Arkitektoniskt delar Bifrost de flesta av sina fasta funktionsdatastrukturer med Midgard, men har en ny instruktionsuppsättning. Vårt arbete med att introducera OpenGL ES 3.0 på Bifrost speglar denna uppdelning.

Vissa funktioner med fasta funktioner, som instansiering och transformeringsfeedback, fungerade utan några Bifrost-specifika ändringar, som vi redan gjorde i Midgard. Andra skuggningsfunktioner, såsom enhetliga buffertobjekt, krävde "från grunden" implementeringar i Bifrost-kompilatorn, en uppgift som underlättas av kompilatorns mogna mellanrepresentation med förstklassigt byggstöd.

T.ex. Fixade funktioner redan implementerade för Midgard, såsom "transformationsfeedback", kan överföras till Bifrost utan ändringar, medan funktioner som Multiple Render Targets (MRT) är begränsade till vissa Bifrost-specifika ändringar.

Samtidigt kräver andra shader-operationer, såsom unified buffer-objekt, en scratch-implementering för Bifrost shader-kompilatorn.

Detta följer efter OpenGL ES 3.0-stöd i Midgard som landade under sommaren, samt det initiala OpenGL ES 2.0-stödet som nyligen debuterade för Bifrost. OpenGL ES 3.0 testas nu på Mali G52 i Mesas kontinuerliga integration, och uppnår en 99.9 % godkänd frekvens i motsvarande DrawElements Quality Program-test.

Andra funktioner, såsom flera renderingsmål, krävde dock Bifrost-specifik kod samtidigt som annan kod som delas med Midgard. Ändå gick arbetet mycket snabbare andra gången, ett bevis på kraften i delad kod. Men du behöver inte begränsa delning till bara Panfrost GPU:er; Drivrutiner med öppen källkod kan dela kod mellan leverantörer.

Dessutom nämns det i kungörelsen viss dubbelarbete undvek genom att använda en mellanrepresentation i kompilatorn, som, tillsammans med delad kod, påskyndar utvecklingen avsevärt och att med detta tillvägagångssätt kan kod användas inte bara för en familj av GPU:er, utan även för olika kontroller.

Utvecklarna nämner särskilt att för att implementera OpenGL på stationära system krävde Panfrost-drivrutinen användning av färdiga Mesa-komponenter, medan den proprietära drivrutinen för Mali är begränsad till att endast stödja OpenGL ES.

Dock är stöd för OpenGL 3.1 för stationära datorer nästan "gratis" för oss som en uppströms Mesa-drivrutin genom att utnyttja den gemensamma infrastrukturen.

Slutligen, om du är intresserad av att veta mer om det om den nya Panfrost-implementeringen som föreslagits av Collabora-utvecklarna kan du kontrollera detaljerna I följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.