Clone this repo:
  1. 4ab330a add tracing zircon platform buffer by Forrest Reiling · 9 weeks ago master
  2. 9ccfd76 unbreak magma-fidl build by Forrest Reiling · 9 weeks ago
  3. ba428e2 build fixes for image pipe swapchain by Forrest Reiling · 9 weeks ago
  4. 09b7547 Remove obsolete vk_import_export_readback by Craig Stout · 9 weeks ago
  5. 41c81fa Rename PlatformDevice to PlatformPciDevice. by John Bauman · 9 weeks ago

Magma: Graphics for Zircon

Magma is a framework for graphics drivers on the Zircon kernel. Magma drivers are logically divided into a ‘System Driver’ which runs as a userspace Zircon driver service, and an ‘Application Driver’ which runs in the application's address space (this mirrors the architecture of the ‘Kernel Mode Driver’ and ‘User Mode Driver’ in traditional graphics stack for monolithic kernels, but here both components run in userspace).

Magma itself is the body of software that sits between the Application Driver and the System Driver and facilitates communication between the two over Zircon IPC, and provides core buffer sharing logic which underlies the system compositing mechanism.

Both the Application Driver and the System Driver interface with the Magma framework through stable, versioned ABIs in order to allow updating the core graphics system and IHV drivers independently of one another.