Grafikbibliothek: Mesa bekommt Compute-Shader

Mit einer Serie von zunächst dreißig Patches hat der Intel-Entwickler Paul Berry begonnen, die OpenGL-Erweiterung ARB_compute_shader(öffnet im neuen Fenster) für die freie Grafikbibliothek Mesa umzusetzen. Mit Compute-Shadern lassen sich Anwendungen auf Grafikprozessoren ausführen, die nicht der Darstellung eines grafischen Inhalts dienen.
Die von Berry an die Mailing-Liste eingereichten Patches " erlauben dem Mesa-Front-End, einen Compute-Shader zu parsen und zu kompilieren, der nichts macht ". Dieser "Do-Nothing"-Shader ist lediglich eine Hülle, die nur eine Eingabe-Deklaration sowie eine leere Main-Funktion enthält.
Darüber hinaus sind auch noch nicht alle Funktionen der Spezifikation vollständig unterstützt, und die Compute-Shader sind derzeit auch noch deaktiviert. Um den Code dennoch zu testen, lassen sich die Shader über eine Umgebungsvariable aktivieren.
Die für OpenGL eingeführten Compute-Shader haben ein ähnliches Anwendungsszenario wie OpenCL, doch sind erstere ausschließlich für GPUs gedacht, wohingegen OpenCL auch auf CPUs oder FPGAs genutzt werden kann. Außerdem bietet OpenCL wesentlich mehr Funktionalität als die Compute-Shader. Ein weiterer Unterschied ist, dass die Compute-Shader wie andere OpenGL-Shader auch in GLSL geschrieben sind. Dadurch lassen sich Teile des Codes in anderen OpenGL-Shadern wiederverwenden.
Der Code von Berry steht über die Mailing-Liste(öffnet im neuen Fenster) bereit. Sobald dieser in den Hauptzweig eingepflegt ist, möchte sich der Intel-Angestellte um das Backend im i965-Treiber kümmern.



