Vulkan

Android est compatible avec Vulkan, une API multiplate-forme simple d'utilisation pour les graphismes 3D hautes performances. Comme OpenGL ES (GLES), Vulkan fournit des outils permettant de créer des graphismes de haute qualité en temps réel dans les applications. L'utilisation de Vulkan présente des avantages, comme la réduction des coûts liés au processeur et la prise en charge du langage SPIR-V Binary Intermediate.

Les fournisseurs de systèmes sur puce (SoC), tels que les fournisseurs de matériel indépendants (IHV) pour GPU, peuvent écrire des pilotes Vulkan pour Android. Les OEM doivent intégrer ces pilotes pour des appareils spécifiques. Pour en savoir plus sur l'interaction d'un pilote Vulkan avec le système, sur la façon dont les outils spécifiques au GPU doivent être installés et sur les exigences spécifiques à Android, consultez la section Implémenter Vulkan.

Les développeurs d'applications utilisent Vulkan pour créer des applications qui exécutent des commandes sur le GPU avec une surcharge considérablement réduite. Vulkan fournit également un mappage plus direct des fonctionnalités du matériel graphique actuel par rapport à EGL et GLES, ce qui réduit les possibilités de bugs de pilote et réduit le temps de test des développeurs.

Pour en savoir plus sur Vulkan, consultez la présentation de Vulkan ou la liste des ressources.

Composants Vulkan

La prise en charge de Vulkan comprend les composants suivants.

Composants Vulkan

Figure 1 : Composants Vulkan

Nom du composant Fournisseur Description
Couches de validation Vulkan Android (dans le NDK) Bibliothèques utilisées lors du développement d'applications Vulkan pour détecter les erreurs d'utilisation de l'API Vulkan par une application. Une fois les erreurs d'utilisation de l'API détectées, ces bibliothèques doivent être supprimées.
Environnement d'exécution Vulkan Android Une bibliothèque native, libvulkan.so, qui fournit une API Vulkan native.

La plupart des fonctionnalités de Vulkan Runtime sont implémentées par un pilote fourni par le fournisseur de GPU. Vulkan Runtime encapsule le pilote, fournit des fonctionnalités d'interception d'API (pour le débogage et d'autres outils de développement) et gère l'interaction entre le pilote et les dépendances de la plate-forme.
Pilote Vulkan SoC (System on Chip) Mappe l'API Vulkan sur les commandes et les interactions GPU spécifiques au matériel avec le pilote graphique du noyau.

Composants modifiés

BufferQueue et Gralloc sont compatibles avec Vulkan:

  • BufferQueue. Des valeurs et des méthodes d'énumération supplémentaires dans BufferQueue et l'interface ANativeWindow permettent à Vulkan Runtime de se connecter à BufferQueue via ANativeWindow.
  • Gralloc Une interface facultative permet à Gralloc de déterminer si un format donné peut être utilisé pour une combinaison producteur/consommateur particulière sans allouer de tampon.

Pour en savoir plus sur ces composants, consultez la section BufferQueue et gralloc. Pour en savoir plus sur ANativeWindow, consultez EGLSurfaces et OpenGL ES.

Ressources

Pour en savoir plus sur Vulkan, consultez les ressources suivantes:

  • Chargeur Vulkan (libvulkan.so) à platform/frameworks/native/vulkan. Contient le chargeur Vulkan d'Android, ainsi que certains outils liés à Vulkan utiles aux développeurs de plates-formes.
  • Implémentation de Vulkan Destiné aux IHV de GPU qui écrivent des pilotes Vulkan pour Android et aux OEM qui intègrent ces pilotes pour des appareils spécifiques. Il décrit comment un pilote Vulkan interagit avec le système, comment les outils spécifiques au GPU doivent être installés et les exigences d'implémentation spécifiques à Android.
  • Guide de l'API de graphiques Vulkan Comprend des informations sur les premiers pas avec Vulkan dans les applications Android, la plate-forme de consignes de conception Vulkan d'Android, l'utilisation des compilateurs de nuanceurs de Vulkan et l'utilisation des couches de validation pour assurer la stabilité des applications utilisant Vulkan.
  • Vulkan News Couvre les événements, les correctifs, les tutoriels et d'autres articles d'actualités liés à Vulkan.