Panfrost unterstützt jetzt OpenGL 3.1 für Mali-GPUs

Collabora-Entwickler haben nicht aufgehört zu arbeiten, und es ist so, dass sie in den letzten Monaten viel zu erzählen gegeben haben, und diesmal ist dies nicht die Ausnahme, weil in letzter Zeit kündigte an, er habe die Implementierung des OpenGL 3.1-Supports im Panfrost-Treiber angekündigt für Midgard-GPUs (Mali-T6xx, Mali-T7xx, Mali-T8xx) und Bifrost-GPUs (Mali G3x, G5x, G7x) sowie OpenGL ES 3.0-Unterstützung für Bifrost-GPUs.

Diese Änderungen wird voraussichtlich in der Version Mesa 21.0 enthalten sein, die sich derzeit in der Startkandidatenphase befindet.

Es sei daran erinnert, dass Collabora-Entwickler lange an der Implementierung von Controllern für Tabellen gearbeitet haben und ein Beispiel dafür ist die Vergangenheit Gallium Tabletop Controller, welches eine Zwischenschicht implementiert um OpenCL 1.2 und OpenGL 3.3 API zu organisieren Informationen zu Treibern mit DirectX 12 (D3D12) -Unterstützung und deren Quellcode wird unter der MIT-Lizenz veröffentlicht.

Der vorgeschlagene Controller ermöglicht es Ihnen, Mesa auf Geräten zu verwenden die zunächst nicht kompatibel sind mit OpenCL und OpenGL und auch als Ausgangsposition, um OpenGL / OpenCL-Anwendungen für die Arbeit an D3D12 zu portieren.

Seitens des neuen Panfrost-Treibers wird beobachtet, dass GPU Midgard und Bifrost teilen gemeinsame Datenstrukturen für feste Funktionen, aber Bifrost verwendet eine grundlegend andere AnleitungDies erschwert die synchrone Implementierung von Funktionen für GPU-Daten.

Architektonisch teilt Bifrost die meisten seiner Datenstrukturen mit festen Funktionen mit Midgard, führt jedoch einen neuen Befehlssatz ein. Unsere Arbeit zur Einführung von OpenGL ES 3.0 in Bifrost spiegelt diese Aufteilung wider.

Einige Funktionen mit festen Funktionen, wie Instanziierung und Transformations-Feedback, funktionierten ohne spezifische Bifrost-Änderung, wie wir es bereits in Midgard getan haben. Andere Shader-Funktionen, wie z. B. einheitliche Pufferobjekte, erforderten "von Grund auf" Implementierungen im Bifrost-Compiler, eine Aufgabe, die durch die ausgereifte Zwischendarstellung des Compilers mit erstklassiger Build-Unterstützung erleichtert wurde.

Zum Beispiel feste Funktionen bereits für Midgard implementiertwie 'Transformationsfeedback', kann ohne Änderungen auf Bifrost übertragen werden, Funktionen wie Multiple Render Targets (MRT) sind auf bestimmte Bifrost-Änderungen beschränkt.

Gleichzeitig erfordern andere Shader-Vorgänge, wie z. B. einheitliche Pufferobjekte, eine Scratch-Implementierung für den Bifrost-Shader-Compiler.

Dies folgt auf die OpenGL ES 3.0-Unterstützung in Midgard, die im Sommer gelandet ist, sowie auf die erste OpenGL ES 2.0-Unterstützung, die kürzlich für Bifrost eingeführt wurde. OpenGL ES 3.0 wird jetzt auf Mali G52 in Mesas Continuous Integration getestet und erreicht in den entsprechenden Tests des DrawElements-Qualitätsprogramms eine Erfolgsquote von 99.9%.

Für andere Funktionen, wie z. B. mehrere Rendering-Ziele, war jedoch spezifischer Code von Bifrost erforderlich, während anderer mit Midgard gemeinsam genutzter Code genutzt wurde. Trotzdem ging die Arbeit beim zweiten Mal viel schneller voran, ein Beweis für die Leistungsfähigkeit gemeinsamer Codes. Sie müssen Ihren Swap jedoch nicht nur auf Panfrost-GPUs beschränken. Open Source-Treiber können Code zwischen Anbietern austauschen.

Darüber hinaus wird in der Ankündigung erwähnt, dass Ein Teil der Doppelarbeit wurde durch die Verwendung einer Zwischendarstellung im Compiler vermieden. Dies beschleunigt zusammen mit dem gemeinsam genutzten Code die Entwicklung erheblich und mit diesem Ansatz kann der Code nicht nur für eine GPU-Familie, sondern auch für verschiedene Controller verwendet werden.

Insbesondere erwähnen die Entwickler, dass für die Implementierung von OpenGL auf Desktop-Systemen für den Panfrost-Treiber gebrauchsfertige Mesa-Komponenten erforderlich sind, während der proprietäre Treiber für Mali nur OpenGL ES unterstützt.

Die Unterstützung von OpenGL 3.1 für Desktops ist für uns als vorgelagerten Mesa-Controller jedoch nahezu "kostenlos", da die gemeinsame Infrastruktur genutzt wird.

Schließlich wenn Sie mehr darüber wissen möchten Informationen zur neuen Panfrost-Implementierung, die von Collabora-Entwicklern vorgeschlagen wurde, finden Sie in den Details im folgenden Link.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: AB Internet Networks 2008 SL
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.