Vulcano

O Android é compatível com Vulkan , uma API multiplataforma de baixa sobrecarga para gráficos 3D de alto desempenho. Assim como o OpenGL ES (GLES) , o Vulkan fornece ferramentas para criar gráficos de alta qualidade em tempo real em aplicativos. As vantagens de usar o Vulkan incluem reduções na sobrecarga da CPU e suporte para a linguagem SPIR-V Binary Intermediate .

Os fornecedores de sistema em chip (SoCs), como fornecedores de hardware independentes de GPU (IHVs), podem escrever drivers Vulkan para Android. Os OEMs precisam integrar esses drivers para dispositivos específicos. Para obter detalhes sobre como um driver Vulkan interage com o sistema, como as ferramentas específicas da GPU devem ser instaladas e os requisitos específicos do Android, consulte Implementando o Vulkan.

Os desenvolvedores de aplicativos usam o Vulkan para criar aplicativos que executam comandos na GPU com sobrecarga significativamente reduzida. O Vulkan também fornece um mapeamento mais direto para os recursos encontrados no hardware gráfico atual em comparação com o EGL e o GLES, minimizando as oportunidades de erros de driver e reduzindo o tempo de teste do desenvolvedor.

Para obter informações gerais sobre o Vulkan, consulte a Visão geral do Vulkan ou consulte a lista de Recursos .

Componentes Vulkan

O suporte do Vulkan inclui os seguintes componentes.

Componentes Vulkan

Figura 1. Componentes Vulkan

Nome do componente Fornecedor Descrição
Camadas de validação Vulkan Android (no NDK) Bibliotecas usadas durante o desenvolvimento de aplicativos Vulkan para encontrar erros no uso de um aplicativo da API Vulkan. Depois que os erros de uso da API forem encontrados, essas bibliotecas devem ser removidas.
Vulkan Runtime Android Uma biblioteca nativa, libvulkan.so , que fornece uma API Vulkan nativa.

A maior parte da funcionalidade do Vulkan Runtime é implementada por um driver fornecido pelo fornecedor da GPU. O Vulkan Runtime envolve o driver, fornece recursos de interceptação de API (para depuração e outras ferramentas de desenvolvedor) e gerencia a interação entre o driver e as dependências da plataforma.
Driver Vulkan SoC Mapeia a API Vulkan para comandos de GPU específicos de hardware e interações com o driver gráfico do kernel.

Componentes modificados

BufferQueue e Gralloc suportam Vulkan:

  • BufferQueue. Valores e métodos de enumeração adicionais no BufferQueue e na interface ANativeWindow permitem que o Vulkan Runtime se conecte ao BufferQueue por meio de ANativeWindow .
  • Gralloc. Uma interface opcional permite que Gralloc descubra se um determinado formato pode ser usado para uma combinação particular de produtor/consumidor sem alocar um buffer.

Para obter detalhes sobre esses componentes, consulte BufferQueue e gralloc . Para obter detalhes sobre ANativeWindow , consulte EGLSurfaces e OpenGL ES ).

Recursos

Use os seguintes recursos para saber mais sobre o Vulkan:

  • Vulkan Loader ( libvulkan.so ) em platform/frameworks/native/vulkan . Contém o carregador Vulkan do Android, bem como algumas ferramentas relacionadas ao Vulkan úteis para desenvolvedores de plataforma.
  • Implementando Vulkan . Destinado a IHVs de GPU que escrevem drivers Vulkan para Android e OEMs que integram esses drivers para dispositivos específicos. Ele descreve como um driver Vulkan interage com o sistema, como as ferramentas específicas da GPU devem ser instaladas e os requisitos de implementação específicos do Android.
  • Guia da API de gráficos Vulkan . Inclui informações sobre como começar a usar o Vulkan em aplicativos Android, a plataforma de diretrizes de design Vulkan do Android, o uso dos compiladores de sombreamento do Vulkan e o uso de camadas de validação para ajudar a garantir a estabilidade nos aplicativos que usam o Vulkan.
  • Notícias Vulkan . Abrange eventos, patches, tutoriais e mais artigos de notícias relacionados ao Vulkan.