Для самых первых моделей продуктов Apple, iPhone и iPad, компания лицензировала и использовала для вывода графики чип PowerVR GPU от Imagination Technologies. Apple даже приобрела около 10% компании Imagination и является её крупнейшим клиентом, принося около 30% дохода. И так же, как Apple начинала с использования по лицензии ARM CPU, а теперь пользуется собственными разработками, она, судя по всему, перешла от использования PowerVR к разработке собственного GPU. Впервые он появился в процессоре A8, использующемся в iPhone 6, а его потомки находятся в A9 и A10 Fusion, используемых в iPhone 6S и 7.
Современный GPU, такой, какие находятся внутри iPhone и iPad, обладают тремя основными компонентами, от которых требуется слаженная работа для демонстрации картинки. Первый – железо, обеспечивающее графику с фиксированными функциями, отвечающее за обработку команд API, растеризацию треугольников и растровый вывод. Второй – шейдерное ядро, сердце GPU, выполняющее программные шейдеры (вертексы, геометрия, пиксели и вычисление шейдеров). Последний – программный; графический драйвер, работающий на CPU и объединяющий все функции, управляющий работой GPU. Драйвер преобразовывает графические приложения, написанные на Metal или OpenGL ES API в набор команд для железа с фиксированными функциями и в программируемые шейдеры, работающие в шейдерных ядрах. Один из важнейших компонентов драйвера – компилятор, создающий машинный код для работы на шейдерных ядрах.
Читать полностью »