Бесплатниот драјвер Panfrost обезбедува поддршка за графичкиот процесор Mali Valhall

Вработените во Collabora имплементираа поддршка за графичките процесори од серијата Valhall (Mali-G57, Mali-G78) во бесплатниот драјвер Panfrost, кој претходно беше фокусиран на имплементација на поддршка за чиповите Midgard и Bifrost. Забележано е дека подготвените измени со првичната имплементација на драјверот се доставени за вклучување во главниот состав на Mesa и ќе бидат донесени до корисниците во едно од следните значајни изданија.

Имплементацијата беше подготвена по 6 месеци обратно инженерство на сопствените драјвери користени во паметен телефон со Android со графички процесор Mali G78. Направената работа е забележлива по тоа што развојот беше спроведен во пасивен режим во отсуство на root пристап до паметниот телефон со чипот што се проучува, т.е. програмерите не можеа да го заменат постоечкиот драјвер. За да го тестираме двигателот и да ја анализираме содржината на видео меморијата во паметниот телефон, го користевме режимот на развивач во Android и го заменивме нашиот код користејќи LD_PRELOAD.

Компајлирани шејдери, секвенци на инструкции на графичкиот процесор и структури на податоци кои ја контролираат состојбата на графичките примитиви, како што се текстурите, беа преземени од меморијата, беа направени индивидуални промени на овие шејдери и структури, а резултатите беа анализирани. Како резултат на тоа, беше подготвен комерцијален компајлер за шејдер за графичкиот процесор Valhall, што овозможи да се генерираат слични бинарни објекти, како и прототип на двигател за Mesa. Во јануари оваа година, Chromebook базиран на чипот MediaTek MT8192 со графички процесор Valhall G57 падна во рацете на програмерите, со помош на кој беше извршен последен тест на вистинска опрема и добиениот драјвер беше доведен во работна форма .

Извор: opennet.ru

Додадете коментар