A partir de 27 de março de 2025, recomendamos usar android-latest-release
em vez de aosp-main
para criar e contribuir com o AOSP. Para mais informações, consulte Mudanças no AOSP.
Vulkan
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
O Android oferece suporte ao
Vulkan, uma
API multiplataforma de baixa sobrecarga para gráficos 3D de alto desempenho. Assim como o
OpenGL ES (GLES),
o Vulkan oferece ferramentas para criar gráficos de alta qualidade em tempo real
em apps. As vantagens do uso do Vulkan incluem reduções na sobrecarga da CPU e
suporte à linguagem SPIR-V
Binary Intermediate (link em inglês).
Fornecedores de system on chip (SoCs), como fornecedores de hardware independentes de GPU (IHVs),
podem escrever drivers do Vulkan para Android. Os OEMs precisam integrar esses
drivers para dispositivos específicos. Para saber mais sobre como um driver do Vulkan interage com
o sistema, como as ferramentas específicas da GPU devem ser instaladas e os requisitos
específicos do Android, consulte Como implementar
o Vulkan.
Os desenvolvedores de aplicativos usam o Vulkan para criar apps que
executam comandos na GPU com uma sobrecarga significativamente reduzida. O Vulkan também
oferece um mapeamento mais direto para os recursos encontrados no hardware gráfico
atual em comparação com EGL e GLES,
minimizando as oportunidades de bugs no driver e reduzindo o tempo de teste do desenvolvedor.
Para informações gerais sobre o Vulkan, consulte a
Visão geral
do Vulkan ou confira a lista de Recursos.
Componentes do Vulkan
O suporte ao Vulkan inclui os seguintes componentes.

Figura 1. Componentes do Vulkan
Nome do componente |
Provedor |
Descrição |
Camadas de validação do Vulkan |
Android (no NDK) |
Bibliotecas usadas durante o desenvolvimento de apps Vulkan para encontrar erros no
uso da API Vulkan por um app. Depois que os erros de uso da API forem encontrados, essas
bibliotecas precisarão ser removidas. |
Ambiente de execução do Vulkan |
Android |
Uma biblioteca nativa, libvulkan.so , que fornece uma API
Vulkan nativa.
A maioria da funcionalidade do Vulkan Runtime é implementada por um driver
fornecido pelo fornecedor da GPU. O Vulkan Runtime envolve o driver, oferece recursos de
intercepçã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 do Vulkan |
SoC |
Mapeia a API Vulkan para comandos e interações de GPU específicos de hardware
com o driver de gráficos do kernel. |
Componentes modificados
BufferQueue e Gralloc oferecem suporte a Vulkan:
- BufferQueue. Outros valores e métodos de enumeração em
BufferQueue e a interface
ANativeWindow
permitem que o ambiente de execução
do Vulkan se conecte a BufferQueue por ANativeWindow
.
- Gralloc. Uma interface opcional permite que o Gralloc
descubra se um determinado formato pode ser usado para uma combinação
específica de produtor/consumidor sem alocar um buffer.
Para detalhes sobre esses componentes, consulte
BufferQueue e
gralloc. Para saber mais 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 do Vulkan
do Android, além de algumas ferramentas relacionadas ao Vulkan úteis para desenvolvedores de plataformas.
- Implementação do Vulkan.
Destinado a IHVs de GPU que criam drivers Vulkan para
Android e OEMs que integram esses drivers a dispositivos específicos. Ele descreve
como um driver do 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 apps Android, a plataforma de diretrizes de design do Vulkan
do Android, o uso de compiladores de sombreador do Vulkan e o uso de camadas
de validação para ajudar a garantir a estabilidade em apps que usam o Vulkan.
- Notícias sobre o Vulkan. Abrange
eventos, patches, tutoriais e mais artigos de notícias relacionados ao Vulkan.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-07-27 UTC."],[],[],null,["# Vulkan\n\nAndroid supports\n[Vulkan](https://www.khronos.org/vulkan/), a\nlow-overhead, cross-platform API for high-performance 3D graphics. Like\n[OpenGL ES (GLES)](https://www.khronos.org/opengles/),\nVulkan provides tools for creating high-quality, real-time graphics\nin apps. Advantages of using Vulkan include reductions in CPU overhead and\nsupport for the [SPIR-V\nBinary Intermediate](https://www.khronos.org/spir) language.\n\nSystem on chip vendors (SoCs) such as GPU independent hardware vendors (IHVs)\ncan write Vulkan drivers for Android. OEMs need to integrate these\ndrivers for specific devices. For details on how a Vulkan driver interacts with\nthe system, how GPU-specific tools should be installed, and Android-specific\nrequirements, see [Implementing\nVulkan.](/docs/core/graphics/implement-vulkan)\n\nApplication developers use Vulkan to create apps that\nexecute commands on the GPU with significantly reduced overhead. Vulkan also\nprovides a more direct mapping to the capabilities found in current graphics\nhardware compared to [EGL](https://www.khronos.org/egl) and GLES,\nminimizing opportunities for driver bugs and reducing developer testing time.\n\nFor general information on Vulkan, refer to the\n[Vulkan\nOverview](http://khr.io/vulkanlaunchoverview) or see the list of [Resources](#resources).\n\nVulkan components\n-----------------\n\nVulkan support includes the following components.\n\n**Figure 1.** Vulkan components\n\n| Component name | Provider | Description |\n|--------------------------|----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Vulkan Validation Layers | Android (in the NDK) | Libraries used during the development of Vulkan apps to find errors in an app's use of the Vulkan API. After API usage errors are found, these libraries should be removed. |\n| Vulkan Runtime | Android | A native library, `libvulkan.so`, that provides a native Vulkan API. Most of Vulkan Runtime's functionality is implemented by a driver provided by the GPU vendor. Vulkan Runtime wraps the driver, provides API interception capabilities (for debugging and other developer tools), and manages the interaction between the driver and the platform dependencies. |\n| Vulkan Driver | SoC | Maps the Vulkan API onto hardware-specific GPU commands and interactions with the kernel graphics driver. |\n\nModified components\n-------------------\n\nBufferQueue and Gralloc support Vulkan:\n\n- **BufferQueue.** Additional enum values and methods in BufferQueue and the `ANativeWindow` interface enable Vulkan Runtime to connect to BufferQueue through `ANativeWindow`.\n- **Gralloc.** An optional interface lets Gralloc discover whether a given format can be used for a particular producer/consumer combination without allocating a buffer.\n\nFor details on these components, see\n[BufferQueue and\ngralloc](/docs/core/graphics/arch-bq-gralloc). For details on `ANativeWindow`, see\n[EGLSurfaces and OpenGL\nES](/docs/core/graphics/arch-egl-opengl)).\n\nResources\n---------\n\nUse the following resources to learn more about Vulkan:\n\n- [Vulkan Loader](https://android.googlesource.com/platform/frameworks/native/+/android16-release/vulkan/#) (`libvulkan.so`) at `platform/frameworks/native/vulkan`. Contains Android's Vulkan loader, as well as some Vulkan-related tools useful to platform developers.\n- [Implementing Vulkan](/docs/core/graphics/implement-vulkan). Intended for GPU IHVs writing Vulkan drivers for Android and OEMs integrating those drivers for specific devices. It describes how a Vulkan driver interacts with the system, how GPU-specific tools should be installed, and Android-specific implementation requirements.\n- [Vulkan Graphics API Guide](https://developer.android.com/ndk/guides/graphics/index.html). Includes information on getting started with using Vulkan in Android apps, Android's Vulkan design guidelines platform, using Vulkan's shader compilers, and using validation layers to help ensure stability in apps using Vulkan.\n- [Vulkan News](https://www.khronos.org/#slider_vulkan). Covers events, patches, tutorials, and more Vulkan-related news articles."]]