Original-URL des Artikels: https://www.golem.de/news/directx-12-microsoft-legt-shader-compiler-offen-1701-125781.html    Veröffentlicht: 24.01.2017 17:44    Kurz-URL: https://glm.io/125781

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.  (sg)


Verwandte Artikel:
Virtualisierung: Microsoft will einfach nutzbare Ubuntu-Gäste für Hyper-V   
(01.03.2018, https://glm.io/133082 )
Cider + Cg: Mehr Windows-Spiele für MacOS X   
(07.02.2007, https://glm.io/50390 )
Radeon Software: AMD-Grafiktreiber spielt jetzt wieder Alarmstufe Rot   
(19.01.2018, https://glm.io/132258 )
World of Warcraft: Battle for Azeroth braucht 64 Bit und DX11   
(01.02.2018, https://glm.io/132516 )
LLVM 6.0: Clang bekommt Maßnahme gegen Spectre-Angriff   
(09.03.2018, https://glm.io/133241 )

© 1997–2019 Golem.de, https://www.golem.de/