Werbung
Microsoft hat den Compiler für die eigene Shader-Sprache HLSL (High Level Shading Language) offengelegt und als Teil des Clang/LLVM-Frameworks als Open Source veröffentlicht. Seit 2002 ist HLSL ein wichtiger Bestandteil der GPU-Programmierung. Als Teil von DirectX 12 hat sich Microsoft zu diesem Schritt entschieden, um die Programmierung einer größeren Anwenderschaft zugänglich zu machen.
Die HLSL wird in DirectX 12 dazu verwendet, Grafikeffekte zu erstellen. Der Compiler erstellt aus diesen programmierten Effekten einen Code, der vom Grafikkarten-Treiber interpretiert werden kann, so dass die Hardware in ausführen kann. In den Shadern wird daraus letztendlich der sichtbare 3D-Effekt. Mit dem aktuellen Shader Model 6.0 bietet er als Teil von DirectX 12 neue Möglichkeiten die Shader zu nutzen. So können einzelne Effekte nicht mehr nur auf einem Thread berechnet, sondern auf mehrere verteilt werden. Diese Parallelität steigert die Leistung natürlich deutlich. HLSL macht es möglich 3D-Effekte zugleich für GPUs von AMD als auch NVIDIA zu entwickeln, ohne bei eventuell leicht unterschiedlichem Shader-Aufbau oder dem der Render-Pipeline einen Unterschied machen zu müssen – der Compiler übersetzt die Hochsprache HSLS in Maschinensprache für die GPU.
Als Compiler verwendete Microsoft zunächst die Eigenentwicklung Fxc, schwenkt mit der Offenlegung nun auf Clang um. Clang ist ein Compiler-Frontend für die Programmiersprachen C, C++, Objective-C und Objective-C++. Clang wurde als Frontend für das Compiler-Backend LLVM entwickelt. Durch den modularen Aufbau von Clang lassen sich seine Bestandteile aber auch in andere Produkte integrieren.
Der bessere Zugang für Entwickler ist ein Grund für die Offenlegung von HLSL sowie dem dazugehörigen Compiler. Microsoft erhofft sich aber natürlich auch Input von Außen, was zu einer Verbesserung des Projekts führen soll. Die Veröffentlichung findet unter MIT-Lizenz auf Github statt und eigene Projekte können mit dem Insider-Build 15007 von Windows 10 bereits getestet werden.