Para fazer o Android inicializar na maioria das plataformas de hardware, os desenvolvedores geralmente precisam misturar código-fonte aberto com arquivos proprietários. Esses chamados blobs são distribuídos por fornecedores para oferecer suporte a alguns recursos específicos da plataforma. Robert Foss de Colabora relatado agora é possível inicializar o Android no i. Plataformas MX6 sem o uso de blobs proprietários.
Suporte para modificadores de buffer foi adicionado tanto no Mesa quanto no gbm_gralloc. Mesa teve suporte adicionado a muitas das funções de alocação de buffer e ao GBM (que é a API fornecida pelo Mesa, que gbm_gralloc usa). Por outro lado, gbm_gralloc por sua vez teve suporte adicionado para usar uma nova chamada de API GBM, GBM_BO_IMPORT_FD_MODIFIER, que importa um objeto buffer, bem como informações que o acompanham, como o modificador usado pelo objeto buffer em pergunta.
O NXP é i. MX6 é um dos muitos SoCs incorporados que não requer mais blobs proprietários para inicializar o Android. Isso faz com que o eu. MX6 é mais atraente como plataforma de desenvolvimento e também estabelece as bases para apoiar o i. Plataforma MX8 no futuro.
Quando os modificadores estão instalados, eles são usados para representar diferentes propriedades dos buffers. Essas propriedades podem abranger uma variedade de informações diferentes sobre um buffer, por exemplo, compactação e revestimento.
Para o caso do iMX6 e da GPU Vivante com que está equipado, os modificadores estão relacionados ao ladrilho. A razão é que os buffers podem ser lado a lado de diferentes maneiras (Tiled, Super Tiled, etc.) ou não serem lado a lado (Linear). Antes de enviar buffers para um display, eles precisam ter as informações de agrupamento associadas disponibilizadas, para que a imagem real que está sendo enviada não seja agrupada.
Para entender melhor como tudo isso funciona, dê uma olhada no vídeo abaixo para ver a placa ZII RDU2 (i. MX 6QuadPlus) inicializando o Android usando a pilha gráfica de código aberto Mesa.
Embora esta seja uma grande vitória para o código aberto, não devemos esperar que muitos OEMs comecem a usar este SoC em seus dispositivos. Uma das principais desvantagens da plataforma é a sua idade. A plataforma foi revelada pela primeira vez em 2011.
Fonte: Robert Foss do Planet CollaboraVia: Softpedia