Microsoft hat den DirectX Shader Compiler auf Basis von Clang und LLVM als Open Source veröffentlicht. Das am 23. Januar 2017 vorgestellte Projekt übersetzt die High-Level Shader Language, kurz HLSL, in die DirectX Intermediate Language DXIL. Entwickler können den Quellcode untersuchen, ändern und eigene Beiträge zur Weiterentwicklung einreichen.
Shader Model 6 und explizite SIMD-Operationen
Clang übernimmt die Grundlage für die Verarbeitung des Shader-Codes, LLVM die Compiler-Infrastruktur. Microsoft hebt die neuen Wave-Intrinsics hervor: Sie machen bestimmte Operationen innerhalb einer gemeinsam ausgeführten Gruppe von GPU-Threads ausdrücklich zugänglich. Als mögliche Einsatzfelder nennt das Unternehmen unter anderem Geometrieauswahl, Beleuchtung und die Verringerung von Ein- und Ausgabeaufwand.
Das betrifft die Erzeugung der Shader-Programme, nicht die Messung eines bereits laufenden Spiels. Für letztere Aufgabe hatte Microsoft zuvor PIX on Windows als DirectX-12-Profiling-Werkzeug vorgestellt. Compiler und Profiler bearbeiten damit unterschiedliche Teile der Grafikentwicklung.
Vorschau statt abgeschlossener Umstellung
Die Projektdokumentation zum Veröffentlichungsstand bezeichnet den Compiler ausdrücklich als Vorschau unter MIT-Lizenz. Enthalten sind das Kommandozeilenwerkzeug dxc.exe für Shader Model 6 sowie dxcompiler.dll mit Compiler, Assembler, Disassembler und Validator. Eine unterstützte Fassung für das Windows SDK ist angekündigt, aber noch nicht mit dieser Vorschau gleichzusetzen.
Zum Ausführen der erzeugten DXIL-Shader müssen Betriebssystem und Grafiktreiber die nötigen Funktionen bereitstellen. Der dokumentierte Teststand nennt Windows 10 Insider Build 15007 und Treiberunterstützung für Shader Model 6, gegebenenfalls im experimentellen Modus. Die Offenlegung bedeutet daher weder, dass vorhandene Spiele automatisch andere Shader erhalten, noch dass sämtliche bisherigen Compiler-Pfade sofort ersetzt werden.

