À l'instar de Mantle, Metal et Direct X 12, cette refonte complète de la spécification permet de réduire la dépendance du GPU avec le CPU. Pour cela, le pilote est allégé et la préparation des commandes GPU peut être multithreadée. De plus, les applications auront bien plus de contrôle sur le GPU, simplifiant ainsi le travail du pilote.
Une autre nouveauté est l'utilisation d'un langage intermédiaire pour les shaders (code exécuté sur le GPU). Ce langage intermédiaire n'est autre que SPIR, dont la spécification est aussi fournie par Khronos. C'est d'ailleurs cette même spécification qui sera utilisée dans OpenCL 2.1. L'utilisation d'un langage intermédiaire a plusieurs attraits :
- N'importe quel compilateur peut générer des programmes exécutables sur le GPU ;
- Le pilote n'a plus besoin de gérer la compilation des shaders ;
- Le code des shaders peut être caché.
En plus de cela, Khronos fournira des tests de conformité à la spécification et même une implémentation de base pour le compilateur de shaders.
Bien entendu, tout comme OpenGL, Vulkan sera compatible avec tous les systèmes d'exploitation et cela sera encore plus vrai que du temps d'OpenGL. En effet, la séparation OpenGL et OpenGL ES n'existera plus.
Les différents acteurs tels que AMD, ARM, Imagination Technologies, NVIDIA supportent et contribuent à la spécification de Vulkan. Actuellement, la spécification n'est disponible qu'en aperçu technologique, mais les premières implémentation et support devraient être disponibles au cours de l'année ainsi que la spécification finalisée.
Source : Developpez.com
Enregistrer un commentaire
Remarque : Seul un membre de ce blog est autorisé à enregistrer un commentaire.