DirectX 12: Microsoft legt Shader-Compiler offen
Der Compiler für Microsofts Shader-Sprache HLSL ist Open Source. Das Werkzeug ist Teil von DirectX 12 und basiert auf LLVM sowie dessen Frontend Clang. HLSL ist damit effektiv nicht mehr proprietär und für die Treiberentwickler ergeben sich daraus einige Vorteile.

Der Compiler für die Shader-Sprache HLSL von Microsoft ist als Open Source verfügbar, wie das Unternehmen im DirectX-Entwickler-Blog bekanntgibt. HLSL sowie der zugehörige Compiler sind Teil der 3D-Grafikbibliothek DirectX. Das freie Analog in OpenGL heißt GLSL. Mit Hilfe dieser Shader-Sprachen können 3D-Effekte programmiert werden.
In DirectX erzeugt der HLSL-Compiler eine bestimmte Art Binärcode, den die Grafiktreiber wiederum so anpassen müssen, dass die Grafikkarten diesen ausführen können. Für Letzteres haben moderne Grafikkarten spezielle Shader-Einheiten. Der nun verfügbare Compiler kann für das sogenannte Shader Model 6.0 genutzt werden, das Teil von DirectX 12 ist und im vergangenen Jahr auf der Game Developers Conference (GDC) vorgestellt worden ist.
Die wohl wichtigste Neuerung des Shader Model 6.0 sind die sogenannten Wave Intrinsics. Mit Hilfe dieser wird ein neues Programmiermodell umgesetzt, das es ermöglicht, sich von der bisher auf einen Thread beschränkten Ausführung zu lösen und stattdessen künftig mehrere GPU-Threads zu nutzen. Das wiederum soll letztlich die Leistung steigern können.
LLVM und Clang als Grundlage
Bisher nutzte Microsoft als Shader-Compiler die Eigenentwicklung Fxc. Der neue DirectX Shader Compiler basiert dagegen auf dem als Compiler-Baukasten genutzten LLVM sowie dessen Frontend für C-artige Sprachen, Clang. Für Microsoft ergibt sich daraus unter anderem der Vorteil, die vielen Optimierungsmöglichkeiten nutzen zu können, die LLVM bereits enthält. Mit dem Wechsel entsteht auch ein neues Binärformat für die Shader: DXIL.
Die meisten Grafiktreiber-Entwickler sollten inzwischen Erfahrung und tiefgreifende Kenntnisse im Umgang mit LLVM haben, da das Projekt in diesem Bereich mittlerweile vielseitig eingesetzt wird. Die Offenlegung des Compilercodes begründet Microsoft zudem damit, dass die Community nun an der Entwicklung teilhaben kann. Somit wird auch die bisher proprietäre Sprache HLSL effektiv zu einem Open-Source-Projekt, das durch Beiträge von außen verbessert werden kann.
Der neue Compiler steht auf Github unter MIT-Lizenz zum Download bereit und kann mit dem Insider-Build 15007 von Windows 10 getestet werden. Diese Version kann bereits DXIL-Shader ausführen. Weitere Details zu dem Compiler finden sich im Projekt-Wiki auf Github.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Auch wenn es (noch) nicht so dramatisch für MS ist, denke ich das auch. Die sehen wie...