Perfil de referência do Android

Hoje, o Google anunciou o lançamento de todos os novos perfis de referência do Android 2022 para o Vulkan.

Quando lançamos o perfil de referência inicial do Android (versão 2021), nossas motivações eram simples, mas importantes. Queríamos remover os desafios que os desenvolvedores enfrentavam consistentemente ao determinar em qual funcionalidade podiam confiar em um conjunto diverso de dispositivos Android.

O perfil de referência do Android 2021 resolveu esse problema com um perfil do Vulkan que especificou um conjunto de extensões, recursos, formatos e limites encontrados em vários dispositivos Android ativos em 2021. Esse perfil foi criado com os dados disponíveis e em discussões com os parceiros do Khronos para ser compatível com o máximo de dispositivos atuais e futuros. Ele representa o conjunto mais avançado de funcionalidades do Vulkan que atendem a essas restrições.

Quando lançamos o perfil de referência do Android 2021, confirmamos uma atualização de 2022 porque sabíamos que o uso do Vulkan estava alcançando um ponto de inflexão rapidamente. Agora, após um ano de análise e coordenação de dados com nossos parceiros do Khronos, temos o prazer de anunciar que o perfil de referência do Android 2022 para Vulkan foi criado.

Assim como no perfil inicial de 2021, o perfil de referência do Android 2022 inclui uma coleção de extensões, recursos, formatos e limites do Vulkan encontrados na grande maioria dos dispositivos Android ativos. No entanto, após apenas um ano de avanços no ecossistema, conseguimos implementar um conjunto de funcionalidades muito maior. Acreditamos que muitos desenvolvedores poderão aproveitar rapidamente as outras funcionalidades encontradas nesse novo perfil.

Recomendamos a leitura completa do perfil de referência do Android 2022 no GitHub (link em inglês).

O perfil de referência do Android 2022 tem o mesmo suporte que o perfil inicial de 2021, que incluía funcionalidades úteis e importantes, como:

  • texturas compactadas por ASTC e ETC;
  • espaços de cores variáveis até VK_EXT_swapchain_colorspace;
  • sombra de amostras e interpolação multiamostra usando sampleRateShading.

Ao estender essa funcionalidade, o perfil de referência do Android 2022 também adiciona uma coleção de melhorias incrivelmente valiosas, como por exemplo:

  • Suporte completo para o Vulkan 1.1
  • Números inteiros de 16 bits em sombreadores por shaderInt16
  • Interoperabilidade entre Vulkan e Android Hardware Buffer em VK_ANDROID_external_memory_android_hardware_buffer
  • Consulta das propriedades do driver Vulkan com VK_KHR_driver_properties
  • Maior controle sobre a criação do renderpass com VK_KHR_create_renderpass2

Além do lançamento do perfil de 2022, também decidimos modificar o perfil anterior de 2021. Quando o perfil de 2021 foi lançado, ele oferecia suporte para o conjunto estendido de instruções de coleta de imagens e capacidade para o recurso de coleta de imagens estendidas:

  • "shaderImageGatherExtended": true,
  • "minTexelGatherOffset": -8
  • "maxTexelGatherOffset": 7
Com uma maior análise e investigação de dados, descobrimos que essa inclusão foi um erro. O recurso de coleta de imagens estendidas tem suporte para uma taxa de adoção muito menor do que a exigida pelo perfil de referência do Android. Portanto, decidimos mudar o perfil de 2021 para remover esses requisitos. Essa mudança fica visível no GitHub modificado como "revision": 2 em "history". A funcionalidade de coleta de imagens estendidas também não está no perfil de 2022.

O perfil de referência do Android 2021 modificado vai permanecer visível no GitHub.

A grande maioria dos dispositivos Android em uso já tem suporte total para os perfis de 2021 e 2022 sem a necessidade de uma atualização OTA.

Vamos continuar a transmitir a porcentagem de suporte ao Android para os dois perfis no Painel de distribuição do Android em https://developer.android.com/about/dashboards.

Após a conclusão do processo de atualização do perfil de 2021, não estamos confirmando nenhuma atualização futura desse perfil no momento. Vamos atualizar para conjuntos mais amplos e avançados de funcionalidades do Vulkan conforme necessário e determinado por desenvolvedores, parceiros e usuários.