Clone this repo:
  1. ab3d76f When enabling page flip, reset the client last flipped buffer by Craig Stout · 4 days ago master
  2. 647274b Quiet vkreadback tests via DLOG by Craig Stout · 4 days ago
  3. 7bc0f02 Make it an error to import an object multiple times. by Craig Stout · 4 days ago
  4. 8190281 Add semaphore import/export by Craig Stout · 4 days ago
  5. 0ee8d9e Revert "Fix black flash when composited apps start" by Craig Stout · 4 days ago

Magma: Graphics for Magenta

Magma is a framework for graphics drivers on the Magenta kernel. Magma drivers are logically divided into a ‘System Driver’ which runs as a userspace Magenta 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 Magenta 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.