Чтобы Android загружался на большинстве аппаратных платформ, разработчикам обычно приходится смешивать открытый исходный код с проприетарными файлами. Эти так называемые большие двоичные объекты распространяются поставщиками для поддержки некоторых функций, специфичных для платформы. Роберт Фосс из Коллабора сообщил теперь можно загрузить Android на i. Платформы MX6 вообще не используют собственные BLOB-объекты.
Поддержка модификаторов буфера была добавлена как в Mesa, так и в gbm_gralloc. В Mesa добавлена поддержка многих функций выделения буфера и GBM (API, предоставляемого Mesa и используемого gbm_gralloc). С другой стороны, в gbm_gralloc, в свою очередь, была добавлена поддержка использования нового вызова API GBM, GBM_BO_IMPORT_FD_MODIFIER, который импортирует объект буфера, а также сопутствующую информацию, такую как модификатор, используемый объектом буфера в вопрос.
NXP i. MX6 — одна из многих встроенных SoC, которой больше не требуются собственные BLOB-объекты для загрузки Android. Это делает i. MX6 более привлекателен в качестве платформы разработки, а также закладывает основу для поддержки i. Платформа MX8 в будущем.
Когда модификаторы присутствуют, они используются для представления различных свойств буферов. Эти свойства могут охватывать диапазон различной информации о буфере, например, сжатие и плитка.
В случае iMX6 и графического процессора Vivante, которым он оснащен, модификаторы связаны с тайлингом. Причина в том, что буферы могут располагаться по-разному (плитка, суперплитка и т. д.) или не располагаться вообще (линейно). Прежде чем отправлять буферы на дисплей, им необходимо предоставить доступ к соответствующей информации о мозаике, чтобы фактическое отправляемое изображение не было мозаикой.
Чтобы лучше понять, как все это работает, посмотрите видео ниже, где представлена плата ZII RDU2 (т. MX 6QuadPlus) загружает Android с использованием графического стека Mesa с открытым исходным кодом.
Хотя это огромная победа для открытого исходного кода, мы не должны ожидать, что многие OEM-производители начнут использовать этот SoC в своих устройствах. Одним из главных недостатков платформы является ее возраст. Впервые платформа была представлена в 2011 году.
Источник: Роберт Фосс из Planet Collabora.Через: Софтпедия