Files
third_party_mesa3d/docs/drivers/panfrost.rst
Alyssa Rosenzweig e8672be1f7 docs: Simplify now that kmsro is autoenabled
Since 70813c1c13 ("meson: Remove kmsro from gallium-drivers"), it is no
longer necessary to include kmsro in the gallium-drivers list; kmsro
will be automatically enabled if it may be required. Simplify the docs
for lima and panfrost accordingly to reflect the change.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10727>
2021-05-10 21:45:57 +00:00

59 lines
2.2 KiB
ReStructuredText

Panfrost
========
The Panfrost driver stack includes a **non-conformant** OpenGL ES
implementation for Arm Mali GPUs based on the Midgard and Bifrost
microarchitectures. The following GPUs are currently supported:
========= ============ ============ =======
Product Architecture OpenGL ES OpenGL
========= ============ ============ =======
Mali T720 Midgard (v4) 2.0 2.1
Mali T760 Midgard (v5) 3.0 3.1
Mali T820 Midgard (v5) 3.0 3.1
Mali T860 Midgard (v5) 3.0 3.1
Mali G72 Bifrost (v6) 3.0 3.1
Mali G31 Bifrost (v7) 3.0 3.1
Mali G52 Bifrost (v7) 3.0 3.1
========= ============ ============ =======
Other Midgard and Bifrost chips (T604, T620, T830, T880, G71, G51, G76) may
work but may be buggy. End users are advised against using Panfrost on
unsupported hardware. Developers interested in porting will need to allowlist
the hardware (``src/gallium/drivers/panfrost/pan_screen.c``).
Older Mali chips based on the Utgard architecture (Mali 400, Mali 450) are
supported in the Lima driver, not Panfrost. Lima is also available in Mesa.
Work to enable OpenGL ES 3.1 and OpenGL 3.1 is on-going for architectures v5
and later (Mali T760 and newer).
Other graphics APIs (Vulkan, OpenCL) are not supported at this time.
Building
--------
Panfrost's OpenGL support is a Gallium driver. Since Mali GPUs are 3D-only and
do not include a display controller, Mesa uses kmsro to support display
controllers paired with Mali GPUs. If your board with a Panfrost supported GPU
has a display controller with mainline Linux support not supported by kmsro,
it's easy to add support, see the commit ``cff7de4bb597e9`` as an example.
LLVM is *not* required by Panfrost's compilers. LLVM support in Mesa can
safely be disabled for most OpenGL ES users with Panfrost.
Build with meson like ``meson . build/ -Ddri-drivers= -Dvulkan-drivers=
-Dgallium-drivers=panfrost -Dllvm=false`` for a build directory
``build``.
Building for Android via the legacy ``Android.mk`` system is not officially
supported but reportedly works. Your mileage may vary.
For general information on building Mesa, read :doc:`the install documentation
<../install>`.
Chat
----
Panfrost developers and users hang out on IRC at ``#panfrost`` on Freenode.