3D-Grafik: OpenGL lernt Umgang mit SPIR-V

Die API-Spezifikation für zwei- und dreidimensionale Grafik steht in Version 4.6 zur Verfügung und umfasst nun unter anderem Ansätze zum Umgang mit in der Khronos-Zwischensprache SPIR-V verfassten Shadern.

In Pocket speichern vorlesen Druckansicht
3D-Grafik: OpenGL lernt Umgang mit SPIR-V
Lesezeit: 2 Min.
Von
  • Julia Schmidt

Im Rahmen der vom 30. Juli bis 3. August in Los Angeles stattfindenden SIGGRAPH 2017, einer auf Computergrafik und interaktive Techniken ausgerichteten Konferenz und Messe, hat die Khronos Group Version 4.6 der OpenGL-Spezifikation (Open Graphics Library) vorgestellt. Die Spezifikation beschreibt eine plattformunabhängige Programmierschnittstelle zum Rendern grafischer Inhalte, wobei der Schwerpunkt auf dreidimensionaler Grafik liegt.

Nach zu klärenden Urheberrechtsfragen sind einige ARB- und EXT-Erweiterungen nun direkt im Kern der aktuellen Spezifikation zu finden. Darunter sind beispielsweise GL_ARB_gl_spirv und GL_ARB_spirv_extensions, die es ermöglichen sollen, in Khronos' Zwischensprache für parallele Programmierung und Grafik, SPIR-V, geschriebene Shader in OpenGL zu verwenden. Aber auch GL_KHR_no_error hat es in den Core geschafft. Damit lässt es sich anzeigen, dass nicht mit Fehlern gerechnet wird, sodass keine Fehlermeldungen zu generieren sind, was zu einer Verringerung des Treiber-Overheads führt. Ebenfalls neu sind Parameter zum Reduzieren des CPU-Overheads während Batch-Rendering-Prozessen.

Darüber hinaus haben die Mitglieder des Konsortiums mit GL_KHR_shader_compile und WGL_ARB_creat_context_no_error und GXL_ARB_create_context_no_error neue Extensions freigegeben. Erstere soll es ermöglichen, Anwendungen mehrere Threads zum Kompilieren von Shadern starten zu lassen, um den Durchsatz erhöhen zu können. Die beiden anderen sollen bei Bedarf das Erstellen von Fehlerkontexten in WGL und GLX unterdrücken. Weitere sollen die Zusammenarbeit mit Vulkan und Direct3D in OpenGL und OpenGL ES verbessern.

Die neue Version der Spezifikation ist auf der Website des Standards zu finden. Zudem wurde glslang entsprechend aktualisiert. Der Compiler wandelt GLSL in SPIR-V um. (jul)