IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Microsoft rend open source son prochain compilateur de shaders
Basé sur Clang/LLVM

Le , par dourouc05

120PARTAGES

3  0 
C’est de plus en plus l’habitude du côté de Microsoft : libérer du code source quand cela n’a pas de valeur de le garder privé. Maintenant, c’est au tour de DirectX de voir un de ses composants libéré : plus particulièrement, la prochaine version du compilateur de shaders (de petits fragments de code qui paramètrent le rendu à l’écran, notamment les effets spéciaux), d’ores et déjà sous licence MIT.

Ce nouveau compilateur se base d’ailleurs sur une architecture entièrement libre : LLVM (plus connu grâce à Clang, le compilateur C et C++ qui s’axe autour de LLVM). L’objectif est d’arriver à un compilateur fonctionnel plus rapidement, mais aussi de profiter de l’écosystème complet (outils, documentation, expertise, notamment) pour faciliter l’innovation dans le futur. Notamment, LLVM fournit un certain nombre de passes d’optimisation du code, ce qui pourrait améliorer fortement la performance des shaders dans le futur.

Le langage de programmation est HLSL, spécifique à DirectX (OpenGL utilise GLSL). La version SM6 offre quelques avantages syntaxiques par rapport à l’itération précédente, notamment pour profiter de l’architecture de type SIMD des processeurs graphiques actuels : ils sont très performants pour appliquer une même opération sur plusieurs données simultanément. Ceci devrait faciliter l’écriture de shaders pour la suppression d’éléments invisibles, l’éclairage ou encore les opérations d’entrée-sortie.

La sortie de ce nouveau compilateur est une nouvelle représentation intermédiaire, nommée DXIL (c’est le même principe que pour Vulkan et SPIR-V). Elle n’est comprise que par les dernières préversions de Windows 10 (Windows 10 Insider Build 15007).

Cette libération de code source pourrait avoir une série d’effets secondaires. Par exemple, Wine (l’implémentation d’API Windows pour Linux, qui permet donc d’y lancer des applications Windows sans les toucher) aura une brique de moins à implémenter pour DirectX 12. Grâce à d’autres développements autour de LLVM, il devrait être possible de compiler un shader HLSL en SPIR-V et l’utiliser avec Vulkan. Toutes les répercussions ne sont pas encore visibles. Le développement de nouveaux outils par-dessus cette couche libre serait fortement facilité par l’intégration du code de Microsoft dans LLVM, mais cela n’a pas l’air d’être au programme (les passes d’optimisation et la génération du code DXIL y auraient leur place).

Voir le code source sur GitHub.

Source : New DirectX Shader Compiler based on Clang/LLVM now available as Open Source.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Mimoza
Membre averti https://www.developpez.com
Le 25/01/2017 à 14:00
https://github.com/Microsoft/DirectX...iler/issues/30
https://github.com/Microsoft/DirectX...mpiler/pull/33

Script un pas assez précis dans le remplacement des entêtes …
1  1