Odkąd Apple wprowadził M1 dwa lata temu jako swój wewnętrzny Apple Silicon do laptopów i komputerów stacjonarnych z potężnym procesorem AArch64 i specjalnie zaprojektowanym procesorem graficznym, pojawiło się wiele spekulacji na temat tego, czy grafika Apple M1 (a teraz M2) jest czysta-sheet projekt Apple lub wywodzi się z grafiki Imagination PowerVR, której Apple używał z wcześniejszymi SoC. Pojawiły się pewne podobieństwa, w których zespół Asahi Linux pracował nad włączeniem Apple M1/M2 pod Linuksem, podczas gdy najnowsza aktywność sterowników Mesa wskazuje na bardziej powszechne bity między sprzętem graficznym PowerVR a grafiką Apple AGX.

Dzięki pracy zespołu Asahi Linux i ich pracy nad inżynierią wsteczną wsparcia Apple Silicon dla Linuksa, w tym ich ambicjom związanym z obsługą sterowników GPU typu open source, nadal widać oznaki powrotu grafiki Apple do PowerVR.

Wczoraj moją uwagę zwróciło to żądanie scalania Mesy: asahi: Przepisz kod emitujący stan za pomocą informacje ze sterownika Mesa PowerVR. Alyssa Rosenzweig, która kierowała pracami nad obsługą sterowników Open-source Mesa Gallium3D/OpenGL firmy Apple, wyjaśniła w tym MR:

Patrząc na definicje PPP PowerVR w drzewie w Mesa (src/imagination/csbgen/), okazuje się, że „oznakowane” struktury danych AGX są w rzeczywistości sekwencjami elementów stanu poprzedzonych nagłówkiem określającym, który stan następuje. Zamiast zakodować na stałe sekwencje, w których sterownik Apple wybiera stan, potrzebujemy XML, aby był wystarczająco elastyczny, aby kodować lub dekodować dowolną prawidłową kombinację stanów. Oznacza to przerobienie XML-a. Robiąc to, znajdujemy wiele pól, które są identyczne w RGX i AGX, i poprawiamy ich nazwy (na przykład zmiennoprzecinek W Clamp).

Nazwy pochodzą z kodu PowerVR w Mesa, o ile ma to sens.

Te informacje są teraz możliwe, ponieważ firma Imagination opublikowała na początku tego roku sterownik PowerVR Vulkan o otwartym kodzie źródłowym, który został połączony z główną linią Mesa. (Imagination pracował również nad sterownikiem graficznym jądra DRM o otwartym kodzie źródłowym dla PowerVR Rogue.) To patrząc na ten kod PowerVR Mesa odkryto najnowsze podobieństwa do sprzętu graficznego Apple. To prawda, że ​​ma ograniczony zakres i nadal nie jest jasne, w jakim stopniu ostatecznie grafika Apple M1/M2 pochodzi z PowerVR IP.

Obecnie działający (Asahi) Linux na Apple M1/M2 oznacza rasteryzację oprogramowania opartego na procesorze LLVMpipe, dopóki wysiłek związany ze sterownikiem GPU o otwartym kodzie źródłowym nie będzie większy, zarówno w przypadku kodu Mesa, jak i rozwijającego się sterownika Direct Rendering Manager jądra.

Praca nad pisaniem i projektowaniem sterowników graficznych o otwartym kodzie źródłowym firmy Apple wciąż trwa. Ostatnim wyrażonym celem jest miejmy nadzieję, że do końca 2022 roku pojawi się obsługa OpenGL 2.1, chociaż może upłynąć więcej czasu, zanim sterownik jądra DRM zostanie udostępniony w głównym jądrze.

Categories: IT Info