Vulkan

Android prend en charge Vulkan , une API multiplateforme à faible coût pour des graphiques 3D hautes performances. Comme OpenGL ES (GLES) , Vulkan fournit des outils pour créer des graphiques en temps réel de haute qualité dans les applications. Les avantages de l'utilisation de Vulkan incluent la réduction 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 de GPU (IHV) peuvent écrire des pilotes Vulkan pour Android. Les OEM doivent intégrer ces pilotes pour des périphériques spécifiques. Pour plus de détails sur la manière dont un pilote Vulkan interagit avec le système, comment les outils spécifiques au GPU doivent être installés et 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 un mappage plus direct vers les capacités trouvées dans le matériel graphique actuel par rapport à EGL et GLES, minimisant les opportunités de bogues de pilotes et réduisant le temps de test des développeurs.

Pour des informations générales sur Vulkan, reportez-vous à l' aperçu de Vulkan ou consultez la liste des ressources .

Composants Vulkan

Le support Vulkan comprend les composants suivants.

Composants Vulkan

Figure 1. Composants Vulkan

Nom du composant Fournisseur La description
Couches de validation Vulkan Android (dans le NDK) Bibliothèques utilisées lors du développement des applications Vulkan pour trouver des erreurs dans l'utilisation par une application de l'API Vulkan. Une fois les erreurs d'utilisation de l'API détectées, ces bibliothèques doivent être supprimées.
Vulkan Runtime 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 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:

  • BufferQueue. 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 optionnelle 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 GPU IHV qui écrivent des pilotes Vulkan pour Android et aux OEM intégrant ces pilotes pour des périphériques 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 Vulkan Graphics . Comprend des informations sur la mise en route de l'utilisation de Vulkan dans les applications Android, la plate-forme de directives de conception Vulkan d'Android, l'utilisation des compilateurs de shader de Vulkan et l'utilisation des couches de validation pour aider à assurer la stabilité des applications utilisant Vulkan.
  • Vulkan News . Couvre les événements, les correctifs, les didacticiels et d'autres articles de presse liés à Vulkan.