L'équipe Direct3D et HLSL de Microsoft a partagé des détails sur un changement majeur et incroyable qui redéfinira la programmation GPU, car il implique l'adoption du Shader Model 7 dans DX12 et l'intégration avec SPIR-V, un format binaire intermédiaire utilisé dans des API comme Vulkan et OpenCL. . Une fois Shader Model 7 sorti, DirectX 12 pourra accepter les shaders compilés dans SPIR-V, une étape qui permettra aux développeurs de profiter des technologies ouvertes et des standards de l'industrie. Allons-nous assister à une nouvelle ère dans le jeu vidéo ?
Cette annonce marque un nouvel accent sur le développement ouvert et la collaboration, alors que Microsoft travaille en collaboration avec le groupe Khronos (responsable de Vulkan et SPIR-V) et le projet LLVM. Avec cette annonce au début du processus de développement, qui durera plusieurs années, « Microsoft souligne son engagement en faveur de la transparence et de l’adoption d’outils et de technologies open source ».
DX12 prendra en charge les shaders OpenCL et Vulkan compilés via SPIR-V
En guise d'introduction et en supposant que nous sachions ce qu'est DX12, nous nous arrêterons pour commenter brièvement ce qu'est SPIR-V pour donner le contexte. SPIR-V (Standard Portable Intermediate Representation – Vulkan) est un standard que Khronos Group a mis sur le marché et ce qu'il cherche est d'être un intermédiaire entre les Shaders et les noyaux sur différentes plateformes.
Ceci étant expliqué, il faut souligner que l'équipe HLSL collabore directement avec Khronos pour garantir que l'intégration de SPIR-V dans Direct3D profite à l'ensemble de l'écosystème graphique, en maintenant HLSL comme « un langage pertinent et efficace ».
L'adoption de SPIR-V est une réponse aux demandes de l'industrie en faveur de normes unifiées et d'outils de développement plus polyvalents et davantage « de type CPU ». Depuis la sortie de Shader Model 6, Direct3D a connu une croissance de son adoption, et encore plus avec les dernières versions matérielles et logicielles, de sorte que la communauté open source a joué un rôle clé dans l'expansion de la base d'utilisateurs HLSL, même entre Vulkan et Metal. développeurs.
L'un des points forts de ce changement est la participation de l'équipe HLSL aux groupes de travail SPIR et Vulkan du Groupe Khronos. Cette collaboration, essentielle à l'heure actuelle, permettra une intégration plus rapide des fonctionnalités de Vulkan dans HLSL, garantissant que ce langage continue d'être une option compétitive pour programmer des Shaders sur plusieurs plateformes. Lire comme « plates-formes multiples » à partir de consoles portables, de consoles de salon, de PC et d'ordinateurs portables, par exemple.
Cette transition comprend également le développement d'outils permettant de convertir les Shaders compilés dans SPIR-V en DXIL et vice versa, facilitant l'adoption progressive par les développeurs de pilotes et d'outils.
La transition vers cet « écosystème graphique unifié » pour Shader Model 7 sera progressive
De cette manière, Microsoft cherche à minimiser l'impact de la transition, en garantissant que les flux de travail des développeurs Direct3D restent pratiquement inchangés. Bien que certains développeurs gérant les Shaders compilés soient confrontés à des ajustements (nous verrons combien et combien de plaintes il y a), les outils disponibles pour travailler avec les binaires SPIR-V devraient offrir des avantages qui compensent les coûts d'adaptation.
La conception de SPIR-V est hautement extensible, ce qui permettra une innovation plus rapide dans les fonctionnalités de l'API GPU. En utilisant un format commun pour les shaders compilés, les API graphiques pourront adopter de nouvelles fonctionnalités plus efficacement, ce qui bénéficiera à l'ensemble du secteur. En d'autres termes, les améliorations toujours présentées comme des « percées » atteindront le marché, les développeurs et le DX12 plus tôt.
Microsoft prévoit que cette transition ouvrira de nouvelles opportunités d'innovation dans Direct3D, permettant aux développeurs d'accéder plus rapidement aux capacités matérielles de nouvelle génération. Ceci, en théorie, devrait raccourcir les délais de livraison et faciliter le travail desdits développeurs et studios de jeux vidéo.
En fin de compte, l'adoption de SPIR-V comme format intermédiaire dans Shader Model 7 représente un changement fondamental dans la façon dont Direct3D gérera les Shaders à l'avenir. Microsoft et ses partenaires industriels espèrent que cette approche unifiée autour de normes ouvertes augmentera la productivité et réduira la duplication des efforts dans le développement de logiciels graphiques.
Enfin, le point à discuter ici est le matériel que Shader Model 7 prendra en charge, car nous savons déjà que ces choses se terminent normalement par une sélection de cartes graphiques, dans ce cas, prises en charge. Nous verrons si la transition est courante, ou si AMD et NVIDIA font des économies sous prétexte de pilotes, du DX12 ou du Shader Model 7 lui-même, ce qui ne devrait pas l'être, mais…