Panfrost heeft nu OpenGL 3.1-ondersteuning voor Mali GPU's

Collabora-ontwikkelaars zijn niet gestopt met werken en het is dat ze de afgelopen maanden veel hebben gegeven om over te praten en dit keer is het geen uitzondering omdat kondigde aan dat hij de implementatie in de Panfrost-driver van OpenGL 3.1-ondersteuning heeft aangekondigd voor Midgard GPU's (Mali-T6xx, Mali-T7xx, Mali-T8xx) en Bifrost GPU's (Mali G3x, G5x, G7x), evenals OpenGL ES 3.0-ondersteuning voor Bifrost GPU's.

Deze wijzigingen wordt naar verwachting opgenomen in de Mesa 21.0-release, dat zich momenteel in de fase van de kandidaat-lancering bevindt.

Er moet aan worden herinnerd dat Collabora-ontwikkelaars lange tijd hebben gewerkt aan de implementatie van controllers voor tabellen en een voorbeeld hiervan is het verleden Gallium tafelblad controller, dat implementeert een tussenlaag om OpenCL 1.2 en OpenGL 3.3 API te organiseren over stuurprogramma's met DirectX 12 (D3D12) -ondersteuning en dat hun broncode is vrijgegeven onder de MIT-licentie.

De voorgestelde controller stelt u in staat Mesa op apparaten te gebruiken die aanvankelijk niet compatibel zijn met OpenCL en OpenGL en ook als uitgangspunt om OpenGL / OpenCL-applicaties te porten om op D3D12 te werken.

Van de kant van de nieuwe Panfrost-driver wordt opgemerkt dat GPU Midgard en Bifrost delen gemeenschappelijke datastructuren voor vaste functies, maar Bifrost gebruikt een fundamenteel andere set instructies, wat de synchrone implementatie van functionaliteit voor GPU-gegevens bemoeilijkt.

Architectonisch deelt Bifrost de meeste van zijn gegevensstructuren met vaste functies met Midgard, maar introduceert een nieuwe reeks instructies. Ons werk om OpenGL ES 3.0 te introduceren bij Bifrost weerspiegelt deze verdeeldheid.

Sommige vaste functiefuncties, zoals instantiatie en transformatiefeedback, werkten zonder enige specifieke Bifrost-wijziging, zoals we al deden in Midgard. Andere arceringsfuncties, zoals uniforme bufferobjecten, vereisten "vanaf nul" implementaties in de Bifrost-compiler, een taak die gemakkelijk werd gemaakt door de volwassen tussenliggende representatie van de compiler met eersteklas build-ondersteuning.

Bv de vaste functies die al zijn geïmplementeerd voor Midgardzoals 'transformatiefeedback', kan zonder wijzigingen worden overgezet naar Bifrost, terwijl functies zoals Multiple Render Targets (MRT) beperkt zijn tot enkele specifieke Bifrost-wijzigingen.

Tegelijkertijd vereisen andere arceringbewerkingen, zoals uniforme bufferobjecten, een scratch-implementatie voor de Bifrost-shader-compiler.

Dit volgt op OpenGL ES 3.0-ondersteuning in Midgard die tijdens de zomer is geland, evenals de initiële OpenGL ES 2.0-ondersteuning die onlangs debuteerde voor Bifrost. OpenGL ES 3.0 is nu getest op Mali G52 in Mesa's Continuous Integration en behaalde een slagingspercentage van 99.9% in de overeenkomstige DrawElements Quality Program-tests.

Andere functies, zoals meerdere weergavedoelen, vereisten echter specifieke code van Bifrost terwijl ze gebruikmaakten van andere code die met Midgard werd gedeeld. Toch vorderde het werk de tweede keer veel sneller, een bewijs van de kracht van gedeelde codes. Maar je hoeft je swap niet te beperken tot alleen Panfrost GPU's; Open source-stuurprogramma's kunnen code delen tussen leveranciers.

Bovendien wordt dat in de aankondiging vermeld een deel van het dubbel werk werd vermeden door een tussenliggende weergave in de compiler te gebruiken, dat, samen met de gedeelde code, de ontwikkeling aanzienlijk versnelt en dat met deze aanpak de code niet alleen kan worden gebruikt voor een familie van GPU's, maar ook voor verschillende controllers.

In het bijzonder vermelden de ontwikkelaars dat om OpenGL op desktopsystemen te implementeren, het Panfrost-stuurprogramma het gebruik van kant-en-klare Mesa-componenten vereist, terwijl het eigen stuurprogramma voor Mali beperkt is tot het ondersteunen van alleen OpenGL ES.

Ondersteuning voor desktop OpenGL 3.1 is echter bijna "gratis" voor ons als upstream Mesa-controller door gebruik te maken van de gemeenschappelijke infrastructuur.

Tenslotte als u er meer over wilt weten over de nieuwe Panfrost-implementatie voorgesteld door Collabora-ontwikkelaars, kunt u de details bekijken In de volgende link.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.