Khronos hat am 31. Juli auf der SIGGRAPH 2017 OpenGL 4.6 mit SPIR-V-Unterstützung im API-Kern veröffentlicht. Die Spezifikation übernimmt elf bisherige Erweiterungen. Damit wird die Zwischenrepräsentation für Shader Bestandteil des verbindlichen Funktionsumfangs dieser API-Version.
Shader-Zwischenformat und Treiber bleiben getrennte Ebenen
Die ursprüngliche OpenGL-4.6-Spezifikation von Juli 2017 beschreibt SPIR-V als binäres Zwischenformat für Grafik- und Compute-Programme. Anhang C legt die OpenGL-Anforderungen fest, darunter SPIR-V 1.0 und den GLSL-Erweiterungsbefehlssatz. Dass andere APIs ebenfalls SPIR-V verwenden, ersetzt nicht die Prüfung dieser Anforderungen.
Zur Übernahme in den API-Kern gehören auch Funktionen für indirekte Zeichenaufrufe und Shader-Parameter, die den CPU-Aufwand bei Geometrie-Stapeln senken sollen. Anisotrope Texturfilterung und begrenzte Polygon-Offsets werden ebenfalls standardisiert.
Parallele Shader-Kompilierung ist eine zusätzliche Erweiterung
Khronos veröffentlicht GL_KHR_parallel_shader_compile dagegen ausdrücklich separat als Erweiterung. Sie erlaubt mehrere Kompilier-Threads, gehört aber nicht zu den elf in OpenGL 4.6 übernommenen Kernfunktionen. Unterstützung dieser Erweiterung und Unterstützung der API-Version sind deshalb getrennt zu prüfen.
Die im Mai veröffentlichte Mesa-Version 17.1 hatte bereits OpenGL- und Vulkan-Treiber verbessert. Daraus folgt keine nachträgliche Unterstützung sämtlicher OpenGL-4.6-Funktionen. Eine veröffentlichte Spezifikation ist noch kein Nachweis für den Funktionsumfang eines konkreten Treibers.
Archivhinweis: Der Beitrag dokumentiert die Spezifikationsveröffentlichung von Juli 2017. Verlinkt ist die damalige PDF-Fassung, nicht eine später überarbeitete Ausgabe. Das OpenGL-Logo dient als Symbolbild.

