Vulkan

Android prend en charge Vulkan , une API multiplateforme à faible surcharge pour des graphiques 3D hautes performances. Comme OpenGL ES (GLES) , Vulkan fournit des outils permettant de créer des graphiques en temps réel de haute qualité dans les applications. Les avantages de l'utilisation de Vulkan incluent des réductions de la surcharge du 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 du GPU (IHV) peuvent écrire des pilotes Vulkan pour Android. Les OEM doivent intégrer ces pilotes pour des appareils spécifiques. Pour plus de détails sur la manière dont un pilote Vulkan interagit avec le système, sur la manière dont les outils spécifiques au GPU doivent être installés et sur les exigences spécifiques à Android, consultez Implémentation de 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 une cartographie plus directe des capacités du matériel graphique actuel par rapport à EGL et GLES, minimisant ainsi les risques de bogues de pilote et réduisant le temps de test des développeurs.

Pour des informations générales sur Vulkan, reportez-vous à la présentation de Vulkan ou consultez la liste des ressources .

Composants Vulkan

Le support 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 rechercher des 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 doivent être supprimées.
Runtime 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 enveloppe le pilote, fournit des capacité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 les commandes GPU spécifiques au matériel et les interactions avec le pilote graphique du noyau.

Composants modifiés

BufferQueue et Gralloc prennent en charge Vulkan :

  • File d'attente tampon. Des valeurs et 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écouvrir si un format donné peut être utilisé pour une combinaison producteur/consommateur particulière sans allouer de tampon.

Pour plus de détails sur ces composants, consultez BufferQueue et gralloc . Pour plus de détails sur ANativeWindow , voir EGLSurfaces et OpenGL ES ).

Ressources

Utilisez les ressources suivantes pour en savoir plus sur Vulkan :

  • Vulkan Loader ( 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émentation de Vulkan . Destiné aux IHV GPU écrivant des pilotes Vulkan pour Android et aux OEM intégrant 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 de mise en œuvre spécifiques à Android.
  • Guide de l'API graphique Vulkan . Comprend des informations sur la prise en main de l'utilisation de Vulkan dans les applications Android, la plate-forme de directives de conception Vulkan d'Android, l'utilisation des compilateurs de shaders 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 didacticiels et d'autres articles d'actualité liés à Vulkan.