GLOVE et Zink : deux implémentations d'OpenGL sur Vulkan

La bibliothèque graphique bas niveau Vulkan est de plus en plus supportée par nos machines (à partir des Geforce 600, des Radeon HD 77XX et des Ivy Bridge d'Intel) ainsi que sur mobiles (Apple A7, Helio X10, Snapdragon 415...). Alors que Vulkan permet aux développeurs un meilleur contrôle de la puce graphique tout en permettant aux constructeurs d'alléger les pilotes, certains ont souhaité permettre d'utiliser OpenGL à travers Vulkan. Un avantage certains est de permettre aux constructeurs de se débarrasser du support d'OpenGL pour n'avoir plus qu'une interface fournit aux développeurs sans pour autant casser la compatibilité avec les applications OpenGL.

GLOVE et Zink sont deux implémentations d'OpenGL reposant sur Vulkan. GLOVE se concentre sur les fonctionnalités d'OpenGL ES (version 2.0) et se place entre l'application et le pilote. Ainsi, à l'exécution, GLOVE convertit les appels OpenGL en appel Vulkan (tout en optimisant certains aspects : mise en cache des shaders).

Architecture de GLOVE
GLOVE fonctionne sur Android, Linux et Windows et repose sur glslang pour convertir les shaders GLSL. À terme, GLOVE devrait supporter toutes les versions d'OpenGL et les GPU d'AMD.

Zink prend une toute autre direction. Zink est un pilote pour Mesa (projet d'implémentation libre des spécifications OpenGL/Vulkan).

Architecture de Zink
Le but du projet est de :
  • simplifier la pile graphique ;
  • réduire le travail à effectuer pour les futurs pilotes graphique ;
  • améliorer l'intégration ;
  • aider les applications dans le processus de portage vers Vulkan.

Zink repose sur les extensions Vulkan VK_KHR_maintenance1 et VK_KHR_external_memory_fd.


Votre opinion

Quels utilités voyez-vous à de tels outils ?
Quels bénéfices pourriez-vous en tirer ?


Source

Site officiel de GLOVE
Site officiel de Zink