Mesa 3D

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Mesa 3D
Basisdaten

Maintainer VMware (bisher Tungsten Graphics)[1]
Entwickler Brian Paul
Erscheinungsjahr 1. August 1993[2]
Aktuelle Version 19.1.2[3]
(9. Juli 2019)
Betriebssystem Unix-ähnlich, BSD, Linux
Programmiersprache u. a. C, C++ und Assembler[4]
Kategorie Grafikbibliothek
Lizenz MIT-Lizenz
deutschsprachig nein
mesa3d.org
Mesa DRI und Gallium3D haben unterschiedliche Modelle für Gerätetreiber; beide teilen allerdings große Mengen an freiem Quelltext
Darstellung des Linux-Grafikstacks

Mesa 3D ist eine freie Grafikbibliothek, die die OpenGL-Spezifikation umsetzt und auf vielen Betriebssystemen wie Linux, AmigaOS3, AmigaOS4, SkyOS, Haiku, ZETA und BSD genutzt wird, um OpenGL-Funktionalität zu implementieren. Hardwarebeschleunigte 3D-Grafik ist durch die Kombination mit der Direct Rendering Infrastructure möglich. Die Quellen der Mesa-Bibliothek stehen unter der MIT-Lizenz.

Geschichte[Bearbeiten | Quelltext bearbeiten]

Im August 1993 begann Brian Paul mit der Entwicklung einer Grafikbibliothek, die zu der damals neuen OpenGL-Programmierschnittstelle kompatibel sein sollte. Im November 1994 erhielt er die Genehmigung von SGI, Mesa zu veröffentlichen, und im Februar 1995 erschien Mesa 1.0. OpenGL war bis zu diesem Zeitpunkt noch nicht weitreichend verfügbar, und viele Entwickler kamen durch Mesa mit OpenGL in Kontakt. Im Oktober 1996 erschien Mesa 2.0, welches OpenGL 1.1 unterstützte. Die Version 2.2, die im März 1998 erschien, unterstützte die Hardwarebeschleunigung via 3dfx-Glide.

Die am 22. Juni 2007 veröffentlichte Version 7.0 unterstützte erstmals OpenGL 2.1.

Mit der Veröffentlichung der Version 8.0 am 9. Februar 2012 wird die OpenGL-3.0-Spezifikation unterstützt.[5] Mit der Version 9.0 vom 8. Oktober 2012 kam die Unterstützung für OpenGL 3.1 hinzu.[6] Ab der Version 10.0 aus dem Jahr 2013 wird OpenGL 3.3 unterstützt.[7]

Mesa 11.x unterstützt alle Erweiterungen bis OpenGL 4.1 vollständig sowie den Großteil von OpenGL 4.2 bis 4.5.[8]

Seit Mesa 12 implementieren die Treiber für neuere AMD-, Nvidia und Intel-Grafikchips OpenGL 4.3 vollständig. Bis auf eine Erweiterung aus OpenGL 4.4 unterstützt der Intel-Treiber alle Erweiterungen für OpenGL 4.5.[9] Zusätzlich enthält Mesa 12 einen Vulkan-Treiber für Intel-Chips ab der Ivy-Bridge-Generation. Dazu unterstützt ab Mesa 12 offiziell ein neuer Software-Treiber für CPU-Cluster mit dem Namen „OpenSWR“ (Open Software Rasterizer) OpenGL 3.1+.[10] OpenSWR setzt auf LLVMpipe auf, skaliert sehr gut mit der Rechenleistung und ist für große Datensätze gedacht, wie sie in numerischen Simulationen vorkommen. Im Vergleich zu LLVMpipe werden mit Mesa 10.5.1 im Alpha-2-Status aus dem Jahr 2015 Beschleunigungen um den Faktor 29 bis 51 erreicht.[11] In Mesa wird er mit „GALLIUM_DRIVER=swr“ eingeschaltet.

Mit Mesa 13 wird OpenGL 4.4 und 4.5 vollständig unterstützt. Intel ab Broadwell, AMD GCN und Nvidia Fermi und Kepler (Maxwell nur 4.1) unterstützen alle Erweiterungen, aber werden wegen teilweise fehlender Zertifizierung noch mit 4.3 oder 4.4 (13.0.1) angezeigt.[12][13]

In Version 17.0 (neue Zählung[14]) gibt es einige Verbesserungen (siehe Mesamatrix). Für Intel-Grafik steht bei Haswell OpenGL 4.5 (bisher 3.3, mit nur 3 fehlenden Erweiterungen in 4.0 und 4.1) und OpenGL ES 3.2 fast komplett zur Verfügung.[15][16] Die Zertifizierung von OpenGL 4.4 für NVIDIA Fermi und Kepler, sowie für OpenGL 4.5 für AMD GCN steht ebenfalls zur Verfügung, nachdem diese in Mesa 13.0.x noch nicht enthalten war. OpenGL 4.3 steht für NVIDIA Maxwell und Pascal (GM107+) zur Verfügung.[17] Jedoch nur Maxwell 1 (GeForce GTX 750 und andere mit GM1xx) profitiert von starken Gewinnen durch Erhöhung der Taktfrequenzen unter Last. Weiterhin leidet Maxwell 2 (GeForce 980 und andere mit GM2xx) unter dieser fehlenden Regelung so stark, dass nur 1/3 bis 1/2 der möglichen Leistung mit Mesa verfügbar ist.[18]

Khronos stellt seine CTS (test Suite) für OpenGL 4.4, 4.5 und OpenGL ES 3.0+ nun als Open Source zur Verfügung. Damit sind Tests für alle Entwickler kostenlos verfügbar. Für Mesa 13 und 17 sind nach bestandenen Tests für einige Module wie Nouveau höhere OpenGL-Stufen möglich.[19]

Version 17.1.0 ist seit 10. Mai 2017 verfügbar und enthält einige Verbesserungen wie OpenGL 4.2 für Intel Ivy Bridge (für Gen 7 bisher 3.3) und weiterer Beschleunigung für Nvidia Maxwell und Pascal, sowie für Vulkan mit verbessertem RADV und ANV.[20][21]

In Version 17.2 werden Intel und AMD zum Teil stark in 3D-Spielen beschleunigt. Dazu werden einige OpenGL 4.6-Erweiterungen unterstützt. Für NVIDIA ist Nouveau weiterhin nur 2. Wahl, weil Hardwareinformationen zur Beschleunigung, wie sie den Nvidia-Entwicklern der originalen Treibern zur Verfügung stehen, nicht frei verfügbar sind.[22] Die Tests zu OpenGL 4.5 waren für Kepler zu 98,6 % erfolgreich.[23]

In Version 17.3 wurden einige Erweiterungen für OpenGL 4.6 integriert, so dass in der nächsten Version mit Spir-V-Unterstützung OpenGL 4.6 komplett unterstützt würde. Beim Vulkan-Treiber wurden deutliche Fortschritte für Radeon-Grafikkarten erreicht und die Unterstützung einer wichtigen Kompressionstechnik ist neu. Darüber hinaus gibt es viele Optimierungen bei den OpenGL-Treibern für die GPUs von AMD und Intel. RADV als Vulkan-Treiber für AMD erfüllt nun vollständig den Khronos-Test.[22][24][25]

In Version 18.0 wurden weitere Erweiterungen für OpenGL fertiggestellt, um die Unterstützung von OpenGL 4.6 zu komplettieren. Es fehlt weiterhin Spir-V. Vulkan 1.0 wurde weiter ausgebaut und auf eine neue Stufe optimiert. Nvidia Nouveau unterstützt auch wegen einiger Fehler in Mesa, die zu Testfehlern in OpenGL 4.4 und 4.5 in den Tests führen, offiziell nur OpenGL 4.3. Die Intel und AMD-Treiber wie RadeonSI unterstützen OpenGL 4.5 mit den gleichen Fehlern. Der AMD R600g-Treiber für ältere AMD Terascale-Karten ist auf dem Weg OpenGL 4.5 zu unterstützen und übertrifft damit AMD mit maximal OpenGL 4.4 mit seinen offiziellen Treibern. Dabei bleiben R600 und Evergreen wegen fehlender FP64-Einheiten auf maximal OpenGL 4.3 limitiert. Intel Cannon Lake wird nun auch unterstützt und damit auch die neueste Hardware von Intel. Dazu wurde das neue Build-System Meson als neuer Standard freigeschaltet.[26]

In Version 18.1 steht Vulkan 1.1 für Intel ab Sky Lake (ANV) und AMD GCN (RADV) zur Verfügung. Dabei muss natürlich die Hardware alle Erweiterungen unterstützen. Für AMD GCN der 1. und 2. Generation (GCN 1.0 und 1.1) wurde dies bei AMD in den eigenen Windows-Treibern und Conformance Tests bei Khronos verneint. Intel stellt ab Sky Lake Vulkan 1.1 zur Verfügung. AMD RX 550 und RX Vega 64 sind dort schon mit RADV für Vulkan 1.1 registriert.[27]

In Version 18.2 stehen viele Verbesserungen zur Verfügung. OpenGL 4.6 vollständig zu unterstützen wurde noch nicht erreicht. Der neue Soft-Treiber VIRGL unterstützt nun OpenGL 4.3 und OpenGL ES 3.2. RadeonSI unterstützt nun ebenfalls OpenGL ES 3.2 und im Kompatibilitätsmodus nun OpenGL 4.4 nach 3.1 in Version 18.1. Die Unterstützung der ASTC-Texturkompression für RadeonSI dient in Zukunft in anderen Treibern als Vorbild für diese Erweiterung. Dazu kommt für die neue Vega-20-Baureihe Unterstützung im RadeonSI-Treiber. Vulkan 1.1-Erweiterungen und weitere Erweiterungen werden im Intel ANV und AMD RADV unterstützt.[28][29]

In Version 18.3 im Dezember 2018 stehen viele Verbesserungen zur Verfügung. Unterstützung für AMD Raven 2, Picasso, Vega 20 in RadeonSI und RADV ist nur ein Punkt von vielen. Intel Whiskey Lake und Amber Lake werden nun ebenfalls unterstützt. OpenGL 4.6 wurde mangels SPIR-V noch nicht erreicht.[30]

Nach dem bisherigen Schema ist Version 19.0 für März 2019 vorgesehen.

Softwarestufen der Mesa-API mit Fehlerkorrekturen[Bearbeiten | Quelltext bearbeiten]

OpenGL 1.2+ 3.5
OpenGL 1.3+ 4.0.4
OpenGL 1.4+ 5.0.2
OpenGL 1.5+ 6.0.1
OpenGL 2.1+ 6.5.3, 7.0.4, 7.4.4, 7.5.2, 7.6.1, 7.7.1, 7.8.2, 7.9.2, 7.10.3, 7.11.2
OpenGL 3.0+ (ES 2.0) 8.0.5
OpenGL 3.1+ (ES 2.0) 9.0.3, 9.1.7, 9.2.5
OpenGL 3.3+ (ES 3.0) 10.0.5, 10.1.6, 10.2.9, 10.3.7, 10.4.7, 10.5.9, 10.6.9
OpenGL 4.1+ (ES 3.0+) 11.0.9, 11.1.4, 11.2.2
OpenGL 4.3+ (ES 3.1+), Vulkan 1.0 12.0.6[31]
OpenGL 4.4+ (ES 3.2), Vulkan 1.0 13.0.6 (OpenGL 4.5 nicht zertifiziert)[32]
OpenGL 4.5+ (ES 3.2), Vulkan 1.0 17.0.7 (Juni 2017)[33]
OpenGL 4.5+ (ES 3.2), Vulkan 1.0 17.1.10 (September 2017)[34]
OpenGL 4.5+ (ES 3.2), Vulkan 1.0 17.2.8 (Dezember 2017)[35]
OpenGL 4.5+ (ES 3.2), Vulkan 1.0 17.3.9 (April 2018)[36]
OpenGL 4.5+ (ES 3.2+), Vulkan 1.0 18.0.5 (Juni 2018, OpenGL 4.6 ohne Spir-V)[37]
OpenGL 4.5+ (ES 3.2+), Vulkan 1.1 18.1.9 (September 2018, Vulkan 1.1, OpenGL 3.1 im Kompatiblem Modus (bisher 3.0))[38][39]
OpenGL 4.5+ (ES 3.2+), Vulkan 1.1+ 18.2.8 (Dezember 2018, VirGL 4.3 und OpenGL 3.1 bis 4.5 im Kompatiblem Modus u. a.)[40]
OpenGL 4.5+ (ES 3.2+), Vulkan 1.1+ 18.3.6 aktuell (April 2019, Ende Bugfix)[41]
OpenGL 4.5+ (ES 3.2+), Vulkan 1.1+ 19.0.5 aktuell (Mai 2019, OpenGL 4.6 ohne Spir-V, Bugfix bis 19.0.5 geplant)[42]
OpenGL 4.5+ (ES 3.2+), Vulkan 1.1+ 19.1.0 aktuell (Juni 2019, Ziel OpenGL 4.6 nun in 19.2, Bugfix bis 19.1.7 geplant)[43][44], danach 19.2 bis 19.3 im Jahr 2019 geplant[45]

Die Zweige der jeweiligen Treiber unterstützen diese Stufen oft erst in späteren Versionen. Deshalb sollte möglichst eine aktuelle Version passend zum System und der Hardware installiert sein, um Limitierungen und Fehlern aus dem Weg zu gehen und um die Leistung zu maximieren. Beim Update von Mesa 12 auf 13 konnte die Leistung um bis zu 70 % gesteigert werden bei AMD Radeon RX 480 mit Ubuntu 16.10 und Linux 4.8.[46]

Aktuelle Grafikkarten sind oft durch fehlende Informationen wie zum Beispiel zum Powermanagement in ihrer Leistung limitiert. Später stehen diese oft erst Jahre nach Verkaufsende der Baureihe zur Verfügung. So ist eine NVIDIA GTX 680 (Kepler) bis zu 10-mal schneller in Mesa 12.0 als neuere Karten der eigentlich schnelleren Maxwell-Architektur.[47] Mit den Versionen 13 und 17 wurde Maxwell 1 stark beschleunigt.[48] Nun sind Maxwell 2 und auch Pascal gering in ihrer Leistung gegenüber dem Nvidia-Treiber und den Vorgängern wegen fehlender Daten.[49]

Mesa unterstützt ab Version 8 OpenGL ES 1.1 und 2.0 aufsetzend auf EGL 1.4.[50] Ab Mesa 11 sind EGL 1.5 und OpenGL ES 3.0 möglich. Mesa 12 unterstützt hier voll Version ES 3.0 und 3.1. Version 3.2 steht in Mesa 13.0 erstmals komplett zur Verfügung (siehe mesamatrix). Dazu werden optionale zusätzliche Funktionen für die einzelnen Stufen entwickelt aus dem Khronos-Baukasten neuer vorgeschlagener Module. In Android und anderen Systemen sind EGL und OpenGL ES wichtige Bestandteile der Grafiksoftware.

Das Testen mit Bugfixing und das Building wurden in den letzten Jahren stark verbessert.[51] Der aktuelle Status der Intel-Entwicklung ist nun öffentlich einsehbar.[52] Mit Iris ist ein Nachfolger von i965 in Arbeit für Hardware Skylake und neuer.[53] Mit Spir-V wird das Mesa-Projekt für OpenGL stark modernisiert. Da starke Änderungen nötig sind, sind noch einige Fehler zu bereinigen.[54]

OpenCL[Bearbeiten | Quelltext bearbeiten]

  • GalliumCompute (Clover)

Eine gemeinsame OpenCL-Plattform für alle wichtigen Plattformen mit GalliumCompute zu etablieren ist bisher gescheitert. Die Entwicklung ist hier langsam gegenüber anderen Modulen in Mesa (früher Clover: OpenCL 1.0 und 1.1 nahezu vollständig (CTS unvollständig), 1.2 teilweise für AMD GPU und unzureichend für NVIDIA GPU). Es findet zumindest die Wartung statt, damit der bisherige Code weiterhin läuft. 2017 kamen mit den Funktionen FP16 und INT64 atomics wichtige Teile für OpenCL 1.2 hinzu.[55] Mit einer Bridge kann nun ein AMDGPU-OpenCL2-Compiler mit Mesa 3D gekoppelt werden und erheblich mehr Programme laufen nun fehlerfrei.[56] Neue Entwicklungen von Redhat für NIR und Spir-V ermöglicht auch Fortschritt für Clover.[57][58]

  • AMD ROCm

Als Nachfolger des hinkenden GalliumCompute von Mesa hat AMD ROCm (aktuell Version 2.5) begonnen. OpenCL 2.0 Syntax und OpenCL 1.2 Runtime sind ROCm-Basis für aktuelle Hardware der CPU von Intel und AMD mit PCIe 3.0 und GPU mit AMD GCN ab der 3. Generation mit Hawaii, Fiji, Polaris und Vega. Später soll dieses SDK dann als Open Source nutzbar sein.[59][60][61] Ein Überblick des aktuellen Status von ROCm wurde präsentiert auf der XDC2018.[61] Im Vergleich von aktueller AMD Hardware mit ROCm zu Nvidia mit neuer Turing and älteren Pascal Karten ist Nvidia in vielen Tests nun auch bei OpenCL im Vorteil.[62] Ab Version 2.0 wird nun OpenCL 2.0 voll unterstützt.[63]

  • Beignet (Intel China) und Compute Runtime (Neo)

Intel China hat mit Beignet (aktuell Version 1.3.2) eine weitere Software für OpenCL (1.2, 2.0 ab Version 1.3.0 mit Skylake+) für Intel CPU mit eingebauter GPU ab Ivy Bridge abseits von Mesa implementiert.[64] Unter dem Codenamen NEO wurde ein neuer Open-Source-Treiber für Hardware ab Gen. 8 mit Broadwell bis aktuell Cannonlake entwickelt mit aktuell OpenCL 2.1-Unterstützung. OpenCL 2.2 soll zeitnah folgen.[65][66] Mit dieser neuen Compute Runtime NEO wird Beignet nicht mehr weiterentwickelt.

  • Nvidia

Für NVIDIA steht nur der Closed-Source-Treiber mit OpenCL 1.1 für Tesla und Fermi, sowie OpenCL 1.2 für Kepler, Maxwell und Pascal zur Verfügung. OpenCL 2.0 ist hier in der Entwicklung.[67]

  • Shamrock

Das Clover final bis 1.2 entwickelt werden kann, zeigt das Projekt Shamrock als Port von Mesa Clover für ARM mit vollem Support von OpenCL 1.2 seit Juli 2016.[68][69]

In Zukunft soll OpenCL als OpenCL-V ein Teil von Vulkan werden laut Khronos.[70] Damit würden die Treiber von Vulkan ANV für Intel und RADV für AMD auch OpenCL ausführen. Weil Vulkan eine Weiterentwicklung von AMD Mantle und dieses ein OpenCL mit Graphik-Schicht ist, stehen die Chancen einer erfolgreichen Weiterentwicklung mit ähnlicher Performance wie dem jetzigen OpenCL gut. 2017 waren die Fortschritte in Clover in Richtung OpenCL 1.2 und anderen Open-Source-Projekten in Richtung OpenCL 2.x gering.[71]

Softwarearchitektur[Bearbeiten | Quelltext bearbeiten]

Implementierte APIs[Bearbeiten | Quelltext bearbeiten]

Das Mesa 3D-Projekt beinhaltet und pflegt auch Implementierungen von diversen Programmierschnittstellen für die Hardware-beschleunigte Rasterung:

  • OpenGL (voll unterstützt bis zu 4.5, 4.6 (SPIR-V fehlt) und weitere Zusätze in Arbeit)
  • OpenGL ES (voll unterstützt bis zu 3.2, weitere Zusätze in Arbeit)
  • GLX (voll unterstützt bis zu 1.4)
  • EGL (voll unterstützt bis zu 1.5)
  • OpenVG (1.1, ab Version 10.6 nicht mehr vorhanden)
  • Glide (überholt)
  • Vulkan (1.0: Intel Graphic Gen7+ ANV ab Version 12, AMD GCN mit RADV ab Version 13, 1.1: in 18.1 für ANV mit Intel Graphic Gen9+ und für RADV mit AMD GCN Gen3+)[72]
  • OpenCL (nahezu komplett 1.0, 1.1 und teilweise 1.2 in aktuell sehr langsamer Entwicklung in GalliumCompute)[73][74]

Das ebenfalls unter einer freien Lizenz entwickelte Wine-Projekt beinhaltet eine Implementierung von Microsofts Direct3D Version 9c. Diese kann entweder unter Zuhilfenahme einer Übersetzung von Direct3D-Calls auf OpenGL-Calls genutzt werden, oder aber seit der Veröffentlichung des Gallium3D-State-Trackers auch für Direct3D 9c direkt.

Siehe auch[Bearbeiten | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. VMware's year end acquisition of Tungsten Graphics (englisch) – InfoWorld, am 16. Dezember 2008
  2. www.mesa3d.org.
  3. lists.freedesktop.org.
  4. Mesa Languages Page (englisch) – Open Hub; Stand: 12. April 2018
  5. Mesa 8.0 Release Notes (englisch)
  6. Mesa 9.0 Release Notes (englisch)
  7. Mesa 10.0 Release Notes (englisch)
  8. Mesa 11.2.2 Release Notes (englisch)
  9. glxinfo
  10. Mesamatrix
  11. Paraview and OpenSWR
  12. Thorsten Leemhuis: Grafikbibliothek Mesa 13.0: Quelloffene Linux-Treiber unterstützen jetzt OpenGL 4.5 (so halb), Heise online, 2. November 2016
  13. [Mesa-dev [ANNOUNCE] mesa 13.0.0], 1. November 2016 (englisch)
  14. mesa/mesa - The Mesa 3D Graphics Library: mesa: Bump the version to 17.0, 7. Januar 2017 (englisch)
  15. mesa/mesa - The Mesa 3D Graphics Library: i965/gen7: expose OpenGL 4.2 on Haswell when supported, 11. Oktober 2016 (englisch)
  16. mesa/mesa - The Mesa 3D Graphics Library: i965: Enable OpenGL 4.5 on Haswell., 13. Januar 2017 (englisch)
  17. mesa/mesa - The Mesa 3D Graphics Library: nvc0: enable GL 4.3 on gm107+, 22. August 2016 (englisch)
  18. Michael Larabel: A Look At The Huge Performance Boosts With Nouveau Mesa 17.0-devel On Maxwell, phoronix, 15. Januar 2017 (englisch)
  19. Khronos Open-Sources OpenGL / OpenGL ES Conformance Tests, phoronix, 24. Januar 2017 (englisch)
  20. Michael Larabel: Today Is The Last Day Of Feature Development For Mesa 17.1, phoronix, 14. April 2017 (englisch)
  21. Thorsten Leemhuis: Mesa 17.1 steigert 3D-Performance von Linux, Heise online, 10. Mai 2017
  22. a b Mesa 17.2: Weiterer Performance-Schub für 3D-Treiber von Linuxc’t, am 5. September 2017
  23. https://www.x.org/wiki/Events/XDC2017/herbst_peres_nouveau.pdf
  24. Mesa 17.3: Performance-Optimierungen bei den 3D-Treibern für Linuxc’t, am 11. Dezember 2017
  25. Mesa 17.3.0 Release Notes (englisch) – Mesa, am 8. Dezember 2017
  26. Sebastian Grüner: Linux-Grafiktreiber: Mesa 18.0 bringt Cannon-Lake-Support und Meson-Buildsystem, Golem.de, 28. März 2018
  27. https://www.khronos.org/conformance/adopters/conformant-products/vulkan
  28. Michael Larabel: Mesa 18.2 Is Releasing Soon With Many OpenGL / Vulkan Driver Improvements, phoronix, 21. August 2018 (englisch)
  29. Thorsten Leemhuis: Linux: Mesa 18.2 verbessert 3D-Performance und Grafikkarten-Unterstützung, Heise online, 10. September 2018
  30. Michael Larabel: The Shiny New Features Of Mesa 18.3 For Open-Source Intel / Radeon Graphics Drivers, phoronix, 13. November 2018 (englisch)
  31. https://mesa.freedesktop.org/archive/
    https://www.mesa3d.org/relnotes/12.0.0.html
    https://www.mesa3d.org/relnotes/12.0.1.html
    https://www.mesa3d.org/relnotes/12.0.2.html
    https://www.mesa3d.org/relnotes/12.0.3.html
    https://www.mesa3d.org/relnotes/12.0.4.html
    https://www.mesa3d.org/relnotes/12.0.5.html
    https://www.mesa3d.org/relnotes/12.0.6.html
  32. https://mesa.freedesktop.org/archive/
    https://www.mesa3d.org/relnotes/13.0.0.html
    https://www.mesa3d.org/relnotes/13.0.1.html
    https://www.mesa3d.org/relnotes/13.0.2.html
    https://www.mesa3d.org/relnotes/13.0.3.html
    https://www.mesa3d.org/relnotes/13.0.4.html
    https://www.mesa3d.org/relnotes/13.0.5.html
    https://www.mesa3d.org/relnotes/13.0.6.html
  33. https://mesa.freedesktop.org/archive/
    https://www.mesa3d.org/relnotes/17.0.0.html
    https://www.mesa3d.org/relnotes/17.0.1.html
    https://www.mesa3d.org/relnotes/17.0.2.html
    https://www.mesa3d.org/relnotes/17.0.3.html
    https://www.mesa3d.org/relnotes/17.0.4.html
    https://www.mesa3d.org/relnotes/17.0.5.html
    https://www.mesa3d.org/relnotes/17.0.6.html
    https://www.mesa3d.org/relnotes/17.0.7.html
  34. https://mesa.freedesktop.org/archive/
    https://www.mesa3d.org/relnotes/17.1.0.html
    https://www.mesa3d.org/relnotes/17.1.1.html
    https://www.mesa3d.org/relnotes/17.1.2.html
    https://www.mesa3d.org/relnotes/17.1.3.html
    https://www.mesa3d.org/relnotes/17.1.4.html
    https://www.mesa3d.org/relnotes/17.1.5.html
    https://www.mesa3d.org/relnotes/17.1.6.html
    https://www.mesa3d.org/relnotes/17.1.7.html
    https://www.mesa3d.org/relnotes/17.1.8.html
    https://www.mesa3d.org/relnotes/17.1.9.html
    https://www.mesa3d.org/relnotes/17.1.10.html
  35. https://mesa.freedesktop.org/archive/
    https://www.mesa3d.org/relnotes/17.2.0.html
    https://www.mesa3d.org/relnotes/17.2.1.html
    https://www.mesa3d.org/relnotes/17.2.2.html
    https://www.mesa3d.org/relnotes/17.2.3.html
    https://www.mesa3d.org/relnotes/17.2.4.html
    https://www.mesa3d.org/relnotes/17.2.5.html
    https://www.mesa3d.org/relnotes/17.2.6.html
    https://www.mesa3d.org/relnotes/17.2.7.html
    https://www.mesa3d.org/relnotes/17.2.8.html
  36. https://mesa.freedesktop.org/archive/
    https://www.mesa3d.org/relnotes/17.3.0.html
    https://www.mesa3d.org/relnotes/17.3.1.html
    https://www.mesa3d.org/relnotes/17.3.2.html
    https://www.mesa3d.org/relnotes/17.3.3.html
    https://www.mesa3d.org/relnotes/17.3.4.html
    https://mesa3d.org/relnotes/17.3.5.html
    https://mesa3d.org/relnotes/17.3.6.html
    https://www.mesa3d.org/relnotes/17.3.7.html
    https://www.mesa3d.org/relnotes/17.3.8.html
    https://www.mesa3d.org/relnotes/17.3.9.html
  37. https://mesa.freedesktop.org/archive/
    https://mesa3d.org/relnotes/18.0.0.html
    https://www.mesa3d.org/relnotes/18.0.1.html
    https://www.mesa3d.org/relnotes/18.0.2.html
    https://www.mesa3d.org/relnotes/18.0.3.html
    https://www.mesa3d.org/relnotes/18.0.4.html
    https://www.mesa3d.org/relnotes/18.0.5.html
  38. https://www.phoronix.com/scan.php?page=news_item&px=Intel-ANV-Vulkan-1.1
  39. https://mesa.freedesktop.org/archive/
    https://www.mesa3d.org/relnotes/18.1.0.html
    https://www.mesa3d.org/relnotes/18.1.1.html
    https://mesa3d.org/relnotes/18.1.2.html
    https://mesa3d.org/relnotes/18.1.3.html
    https://mesa3d.org/relnotes/18.1.4.html
    https://mesa3d.org/relnotes/18.1.5.html
    https://mesa3d.org/relnotes/18.1.6.html
    https://mesa3d.org/relnotes/18.1.7.html
    https://mesa3d.org/relnotes/18.1.8.html
    https://mesa3d.org/relnotes/18.1.9.html
  40. https://mesa.freedesktop.org/archive/
    https://www.mesa3d.org/relnotes/18.2.0.html
    https://www.mesa3d.org/relnotes/18.2.1.html
    https://mesa3d.org/relnotes/18.2.2.html
    https://mesa3d.org/relnotes/18.2.3.html
    https://mesa3d.org/relnotes/18.2.4.html
    https://mesa3d.org/relnotes/18.2.5.html
    https://mesa3d.org/relnotes/18.2.6.html
    https://mesa3d.org/relnotes/18.2.7.html
    https://mesa3d.org/relnotes/18.2.8.html
  41. https://mesa.freedesktop.org/archive/
    https://www.mesa3d.org/relnotes/18.3.0.html
    https://www.mesa3d.org/relnotes/18.3.1.html
    https://mesa3d.org/relnotes/18.3.2.html
    https://mesa3d.org/relnotes/18.3.3.html
    https://mesa3d.org/relnotes/18.3.4.html
    https://mesa3d.org/relnotes/18.3.5.html
    https://mesa3d.org/relnotes/18.3.6.html
  42. https://mesa.freedesktop.org/archive/
    https://mesa3d.org/relnotes/19.0.0.html
    https://www.mesa3d.org/relnotes/19.0.1.html
    https://mesa3d.org/relnotes/19.0.2.html
    https://mesa3d.org/relnotes/19.0.3.html
    https://mesa3d.org/relnotes/19.0.4.html
    https://mesa3d.org/relnotes/19.0.5.html
  43. https://mesa.freedesktop.org/archive/
    https://mesa3d.org/relnotes/19.1.0.html
  44. https://www.heise.de/ct/artikel/Mesa-19-1-freigegeben-Neue-3D-Linux-Grafiktreiber-fuer-ARM-und-Intel-4433356.html
  45. https://www.mesa3d.org/release-calendar.html#calendar
  46. http://www.phoronix.com/scan.php?page=article&item=rx480-mesa-1610&num=2
  47. Nouveau Kepler vs. Maxwell Performance On Linux 4.6 + Mesa 11.3-dev
  48. http://www.phoronix.com/scan.php?page=article&item=nouveau-maxwell-pipeline&num=1
  49. http://www.phoronix.com/scan.php?page=article&item=nouveau-maxwell-comp&num=1
  50. https://www.mesa3d.org/opengles.html
  51. https://xdc2018.x.org/slides/release_testing_xdc2018.pdf
  52. https://xdc2018.x.org/slides/Mesa_Continuous_Integration_at_Intel.pdf
  53. https://xdc2018.x.org/slides/optimizing-i965-for-the-future.pdf
  54. https://xdc2018.x.org/slides/alejandro_2018-xdc-talk.pdf
  55. https://cgit.freedesktop.org/mesa/mesa/log/?qt=grep&q=Clover
  56. https://www.phoronix.com/scan.php?page=news_item&px=AMDGPU-PRO-Hack-Clover
  57. https://www.phoronix.com/scan.php?page=news_item&px=Gallium-Clover-NIR-SPIR-V-XDC18
  58. https://xdc2018.x.org/slides/clover.pdf
  59. https://github.com/RadeonOpenCompute/ROCm
  60. https://streamhpc.com/blog/2017-05-03/amd-rocm-1-5-linux-driver-stack-is-out/
  61. a b https://www.phoronix.com/scan.php?page=news_item&px=ROCm-Compute-Stack-Overview
  62. https://www.phoronix.com/scan.php?page=article&item=rocm19-nvidia415-compute&num=2
  63. https://www.phoronix.com/scan.php?page=news_item&px=Radeon-ROCm-2.0-Arrives
  64. https://cgit.freedesktop.org/beignet/
  65. https://www.phoronix.com/scan.php?page=news_item&px=Intel-New-Compute-Runtime
  66. https://github.com/intel/compute-runtime
  67. https://streamcomputing.eu/blog/2017-02-22/nvidia-enables-opencl-2-0-beta-support/
  68. About Shamrock.
  69. T. Gall, G. Pitney: LCA14-412: GPGPU on ARM SoC (PDF) 6. März 2014. Abgerufen am 22. Januar 2017.
  70. https://www.pcper.com/reviews/General-Tech/Breaking-OpenCL-Merging-Roadmap-Vulkan
  71. https://www.x.org/wiki/Events/XDC2017/Stellard_GPGPU.pdf
  72. http://www.golem.de/news/linux-grafik-mesa-13-0-bringt-freien-vulkan-treiber-fuer-amd-gpus-1611-124201.html
  73. https://dri.freedesktop.org/wiki/GalliumCompute/
  74. https://www.x.org/wiki/Events/XDC2013/XDC2013TomStellardCloverStatus/XDC2013TomStellardCloverStatus.pdf