Show Your Support: This site is primarily supported by advertisements. Ads are what have allowed this site to be maintained on a daily basis for the past 18+ years. We do our best to ensure only clean, relevant ads are shown, when any nasty ads are detected, we work to remove them ASAP. If you would like to view the site without ads while still supporting our work, please consider our ad-free Phoronix Premium.
Early Gallium3D Work Has Begun Around Apple's M1 GPU With New "AGX" Driver
Last month she began the early stages of a graphics compiler for the Apple M1 to begin tackling shaders with what information has been reverse engineered so far. Since then she has begun an early stage Gallium3D driver for the Apple M1 and beginning to focus on OpenGL 2.1 and OpenGL ES 2.0 specifications.
It's in a state where at least the Gallium3D code can handle glxgears and some glmark2 scenes on the Apple M1. In fact today she opened a merge request as the initial push of this "AGX" driver. This AGX Gallium3D driver was originally based on the noop Gallium3D driver with some code derived from the work on the Panfrost Gallium3D driver for Arm Mali.
While the Apple M1 graphics processor has removed some legacy functionality not needed for Apple's Metal API, some undocumented functionality has been found for features still supported by the GPU but not used by Metal. Index buffers and primitive types are among some of the functionality retained by the Apple M1 GPU for being able to support older APIs.
The latest reverse engineering work around Apple's M1 GPU can be found via Alyssa's blog. Long story short, progress is being made and the "AGX" Gallium3D driver is underway for being able to support basic OpenGL on the Apple M1 initially with a focus on OpenGL 2 / GLES2. But still to be written is a Linux kernel DRM driver for the M1 GPU and obviously a Vulkan driver is important for 2021 and beyond.