A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://fuchsia.dev/fuchsia-src/development/graphics/magma below:

Magma: Overview | Fuchsia

Magma: Overview Background

Fuchsia is a new open source, microkernel-like operating system from Google. Drivers do not execute inside the Zircon kernel, instead they are privileged user-space processes. Drivers are built using a stable FDF.

Magma is the gpu driver architecture for Fuchsia. There are two driver components: a gpu-specific library loaded into each application’s address space; and the magma system driver that manages the hardware.

Hardware requirements Vulkan conformant gpu

Magma is designed to support Vulkan, though it could be used to implement OpenGL or other graphics APIs. Fuchsia intends to support software consuming OpenGL APIs via translation to Vulkan using ANGLE.

MMU

A memory management unit that allows arbitrary mapping of system memory pages into the GPU address space is needed for DMA to/from non-contiguous buffers.

Per-client independent address space

For system security it’s important to maintain address space isolation in the gpu domain as well as in the cpu domain.

Unified memory architecture

This may be relaxed in the future.

Architecture

Similar to the direct rendering model on Linux, there are two driver components: a gpu-specific library loaded into each application’s address space; and the magma system driver that manages the hardware.

Magma system driver

Responsibilities:

Client library driver

Responsibilities:

Whereas a traditional client driver makes ioctl syscalls to communicate with a kernel driver; magma provides an interface for client drivers to communicate over IPC with the Magma system driver.

Details on the Magma interface are given in Magma: Design.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-02-28 UTC.

[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-28 UTC."],[],[]]


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.3