Vulkan

Android est compatible avec Vulkan, une API multiplate-forme simple permettant la création de graphismes 3D hautes performances. Comme OpenGL ES (GLES), Vulkan fournit des outils permettant de créer des graphismes en temps réel de haute qualité dans les applications. L'utilisation de Vulkan présente plusieurs avantages, dont une surcharge réduite du processeur et la compatibilité avec le langage binaire SPIR-V intermédiaire.

Les fournisseurs de systèmes sur puce (SoC), tels que les fournisseurs de matériel indépendants (IHV) de GPU, écrivent des pilotes Vulkan pour Android. Les OEM intègrent ces pilotes pour des appareils spécifiques. Pour en savoir plus sur l'interaction d'un pilote Vulkan avec le système, sur l'installation d'outils spécifiques au GPU 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 also fournit un mappage plus direct des fonctionnalités du matériel graphique actuel par rapport à EGL et GLES, ce qui minimise les risques de bugs de pilote et réduit le temps de test des développeurs.

Pour obtenir des informations générales sur Vulkan, consultez la présentation de Vulkan ou la liste des ressources.

Composants Vulkan

La compatibilité avec Vulkan inclut 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 dans l'utilisation de l'API Vulkan par une application. Une fois les erreurs d'utilisation de l'API détectées, ces bibliothèques sont supprimées.
Environnement d'exécution Vulkan Android Bibliothèque native, libvulkan.so, qui fournit une API Vulkan native.

La plupart des fonctionnalités de l'environnement d'exécution Vulkan sont implémentées par un pilote fourni par le fournisseur du GPU. L'environnement d'exécution Vulkan 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 Mappe l'API Vulkan sur des commandes GPU spécifiques au matériel et interagit avec le pilote graphique du noyau.

Composants modifiés

BufferQueue et Gralloc sont compatibles avec Vulkan :

  • BufferQueue. Des valeurs d'énumération et des méthodes supplémentaires dans BufferQueue et l'interface ANativeWindow permettent à l'environnement d'exécution Vulkan 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 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) sur 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émenter 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. Décrit l'interaction d'un pilote Vulkan avec le système, l'installation des outils spécifiques au GPU et les exigences d'implémentation spécifiques à Android.
  • Guide de l'API de graphiques Vulkan. Inclut des informations sur la prise en main de Vulkan dans les applications Android, les consignes de conception de la plate-forme Vulkan d'Android, l'utilisation des compilateurs de nuanceurs de Vulkan et l'utilisation de couches de validation pour garantir la stabilité des applications utilisant Vulkan.
  • Actualités Vulkan. Couvre les événements, les correctifs, les tutoriels et d'autres articles d'actualité liés à Vulkan.