Programmez! #239 PDF pour nos abonnés papier

Abonnés papier : en raison de la situation due au coronavirus, des retards sont à prévoir en ce qui concerne la distribution de Programmez! #239 par La Poste. C'est pourquoi nous mettons Programmez! #239 PDF à disposition dans votre compte utilisateur sous un onglet dédié en attendant. Pour y accéder, il vous suffit de saisir votre n° d'abonné (ou éventuellement le ressaisir comme pour l'accès aux archives) dans votre compte utilisateur, si ce n'est pas déjà fait. Si vous ne connaissez par votre numéro d'abonné, vous pouvez l'obtenir à cette page.

En cas de difficultés, contactez le webmaster à partir du formulaire de contact de ce site.

V-EZ : une couche d'abstraction légère construite sur Vulkan

Par:
fredericmazue

mar, 28/08/2018 - 14:14

Le 16 février 2016, le Khronos Group a publié les spécifications finales de Vulkan. Vulkan est basé sur la technologie Mantle d'AMD. Vulkan spécifie une interface de programmation de bas niveau pour GPU. Vulkan veut être l'équivalent de DirectX de Microsoft ou de Metal d'Apple. Mais contrairement à ces derniers, Vulkan est multi plates-formes (Windows, Linux, Android, probablement à terme iOS et OS X). Vulkan doit remplacer OpenGL, mais si cette dernière continuera d'exister.

Contrairement à OpenGL qui est une librairie de plutôt haut niveau, Vulkan vise le bas niveau et les performances. Vulkan supporte le multi threading.

Si Vulkan apporte la performance brute, le bas niveau apporte la complexité pour le développeur. Outre la complexité des graphismes, le développeur doit gérer la mémoire et des quantités de détails concernant les constructions des graphismes.

Tout ceci peut se révéler rebutant pour le développeur qui recherche certes plus de performances que ce qu'OpenGL permet d'obtenir, mais souhaite quand même ne pas mettre les mains dans un cambouis trop épais :-)

AMD apporte une solution pour cela : V-EZ. Il s'agit d'une couche d'abstraction légère (un wrapper) en C destinée à alléger la complexité de l'utilisation de l'API Vulkan. V-EZ tente de combler le fossé entre les API graphiques traditionnelles, tout en fournissant une sémantique similaire à Vulkan. V-EZ doit adoucir la prise de contact avec Vulkan :-)

Avec V-EZ, le développeur n'a plus à s'occuper de la gestion de la mémoire, ni de choses barbares telles que les passes de rendu, les couches d'images, les permutations de pipeline, les pools de descripteurs, etc...

V-EZ est open source, disponible sur GitHub. Une documentation complète est disponible sur un site dédié.

Ci-dessous : une représentation de l'API Vulkan et ce que la couche d'abstraction V-EZ masque au développeur.