Vulcano

Android supporta Vulkan , un'API multipiattaforma a basso costo per grafica 3D ad alte prestazioni. Come OpenGL ES (GLES) , Vulkan fornisce strumenti per la creazione di grafica in tempo reale di alta qualità nelle app. I vantaggi dell'utilizzo di Vulkan includono la riduzione del sovraccarico della CPU e il supporto per il linguaggio SPIR-V Binary Intermediate .

I fornitori di sistemi su chip (SoC) come i fornitori di hardware indipendenti dalla GPU (IHV) possono scrivere driver Vulkan per Android. Gli OEM devono integrare questi driver per dispositivi specifici. Per i dettagli su come un driver Vulkan interagisce con il sistema, su come devono essere installati gli strumenti specifici della GPU e sui requisiti specifici di Android, vedere Implementazione di Vulkan.

Gli sviluppatori di applicazioni utilizzano Vulkan per creare app che eseguono comandi sulla GPU con un sovraccarico notevolmente ridotto. Vulkan fornisce anche una mappatura più diretta delle capacità presenti nell'hardware grafico attuale rispetto a EGL e GLES, riducendo al minimo le opportunità di bug dei driver e riducendo i tempi di test degli sviluppatori.

Per informazioni generali su Vulkan, fare riferimento alla Panoramica Vulkan o vedere l'elenco delle risorse .

componenti vulkan

Il supporto Vulkan include i seguenti componenti.

componenti vulkan

Figura 1. Componenti Vulkan

Nome del componente Fornitore Descrizione
Livelli di convalida Vulkan Android (nell'NDK) Librerie utilizzate durante lo sviluppo di app Vulkan per trovare errori nell'utilizzo dell'API Vulkan da parte di un'app. Dopo che vengono rilevati errori di utilizzo dell'API, queste librerie devono essere rimosse.
Runtime Vulcaniano Androide Una libreria nativa, libvulkan.so , che fornisce un'API Vulkan nativa.

La maggior parte delle funzionalità di Vulkan Runtime è implementata da un driver fornito dal fornitore della GPU. Vulkan Runtime esegue il wrapping del driver, fornisce funzionalità di intercettazione API (per il debug e altri strumenti di sviluppo) e gestisce l'interazione tra il driver e le dipendenze della piattaforma.
Autista Vulcaniano SoC Mappa l'API Vulkan sui comandi GPU specifici dell'hardware e sulle interazioni con il driver grafico del kernel.

Componenti modificati

BufferQueue e Gralloc supportano Vulkan:

  • BufferQueue. Valori e metodi enum aggiuntivi in ​​BufferQueue e nell'interfaccia ANativeWindow consentono a Vulkan Runtime di connettersi a BufferQueue tramite ANativeWindow .
  • Gralloc. Un'interfaccia opzionale consente a Gralloc di scoprire se un determinato formato può essere utilizzato per una particolare combinazione produttore/consumatore senza allocare un buffer.

Per i dettagli su questi componenti, vedere BufferQueue e gralloc . Per i dettagli su ANativeWindow , vedere EGLSurfaces e OpenGL ES ).

Risorse

Usa le seguenti risorse per saperne di più su Vulkan:

  • Vulkan Loader ( libvulkan.so ) su platform/frameworks/native/vulkan . Contiene il caricatore Vulkan di Android, oltre ad alcuni strumenti relativi a Vulkan utili agli sviluppatori di piattaforme.
  • Implementazione di Vulkan . Destinato agli IHV GPU che scrivono driver Vulkan per Android e OEM che integrano tali driver per dispositivi specifici. Descrive come un driver Vulkan interagisce con il sistema, come devono essere installati gli strumenti specifici della GPU e i requisiti di implementazione specifici di Android.
  • Guida all'API grafica Vulkan . Include informazioni su come iniziare a utilizzare Vulkan nelle app Android, sulla piattaforma delle linee guida di progettazione Vulkan di Android, sull'utilizzo dei compilatori shader di Vulkan e sull'utilizzo dei livelli di convalida per garantire la stabilità nelle app che utilizzano Vulkan.
  • Notizie Vulcaniane . Copre eventi, patch, tutorial e altri articoli di notizie relativi a Vulkan.