1*61046927SAndroid Build Coastguard WorkerPanfrost 2*61046927SAndroid Build Coastguard Worker======== 3*61046927SAndroid Build Coastguard Worker 4*61046927SAndroid Build Coastguard WorkerThe Panfrost driver stack includes an OpenGL ES implementation for Arm Mali 5*61046927SAndroid Build Coastguard WorkerGPUs based on the Midgard and Bifrost microarchitectures. It is **conformant** 6*61046927SAndroid Build Coastguard Workeron `Mali-G52 <https://www.khronos.org/conformance/adopters/conformant-products/opengles#submission_949>`_, 7*61046927SAndroid Build Coastguard Worker`Mali-G57 <https://www.khronos.org/conformance/adopters/conformant-products/opengles#submission_980>`_ 8*61046927SAndroid Build Coastguard Workerand `Mali-G610 <https://www.khronos.org/conformance/adopters/conformant-products/opengles#submission_1053>`_, 9*61046927SAndroid Build Coastguard Workerbut **non-conformant** on other GPUs. The following hardware is currently 10*61046927SAndroid Build Coastguard Workersupported: 11*61046927SAndroid Build Coastguard Worker 12*61046927SAndroid Build Coastguard Worker+--------------------+---------------+-----------+--------+ 13*61046927SAndroid Build Coastguard Worker| Models | Architecture | OpenGL ES | OpenGL | 14*61046927SAndroid Build Coastguard Worker+====================+===============+===========+========+ 15*61046927SAndroid Build Coastguard Worker| T600, T620, T720 | Midgard (v4) | 2.0 | 2.1 | 16*61046927SAndroid Build Coastguard Worker+--------------------+---------------+-----------+--------+ 17*61046927SAndroid Build Coastguard Worker| T760, T820, T830 | Midgard (v5) | 3.1 | 3.1 | 18*61046927SAndroid Build Coastguard Worker| T860, T880 | | | | 19*61046927SAndroid Build Coastguard Worker+--------------------+---------------+-----------+--------+ 20*61046927SAndroid Build Coastguard Worker| G72 | Bifrost (v6) | 3.1 | 3.1 | 21*61046927SAndroid Build Coastguard Worker+--------------------+---------------+-----------+--------+ 22*61046927SAndroid Build Coastguard Worker| G31, G51, G52, G76 | Bifrost (v7) | 3.1 | 3.1 | 23*61046927SAndroid Build Coastguard Worker+--------------------+---------------+-----------+--------+ 24*61046927SAndroid Build Coastguard Worker| G57 | Valhall (v9) | 3.1 | 3.1 | 25*61046927SAndroid Build Coastguard Worker+--------------------+---------------+-----------+--------+ 26*61046927SAndroid Build Coastguard Worker| G310, G610 | Valhall (v10) | 3.1 | 3.1 | 27*61046927SAndroid Build Coastguard Worker+--------------------+---------------+-----------+--------+ 28*61046927SAndroid Build Coastguard Worker 29*61046927SAndroid Build Coastguard WorkerOther Midgard and Bifrost chips (e.g. G71) are not yet supported. 30*61046927SAndroid Build Coastguard Worker 31*61046927SAndroid Build Coastguard WorkerOlder Mali chips based on the Utgard architecture (Mali-400, Mali-450) are 32*61046927SAndroid Build Coastguard Workersupported in the :doc:`Lima <lima>` driver, not Panfrost. Lima is also 33*61046927SAndroid Build Coastguard Workeravailable in Mesa. 34*61046927SAndroid Build Coastguard Worker 35*61046927SAndroid Build Coastguard WorkerOther graphics APIs (Vulkan, OpenCL) are not supported at this time. 36*61046927SAndroid Build Coastguard Worker 37*61046927SAndroid Build Coastguard WorkerBuilding 38*61046927SAndroid Build Coastguard Worker-------- 39*61046927SAndroid Build Coastguard Worker 40*61046927SAndroid Build Coastguard WorkerPanfrost's OpenGL support is a Gallium driver. Since Mali GPUs are 3D-only and 41*61046927SAndroid Build Coastguard Workerdo not include a display controller, Mesa uses kmsro to support display 42*61046927SAndroid Build Coastguard Workercontrollers paired with Mali GPUs. If your board with a Panfrost supported GPU 43*61046927SAndroid Build Coastguard Workerhas a display controller with mainline Linux support not supported by kmsro, 44*61046927SAndroid Build Coastguard Workerit's easy to add support, see the commit ``cff7de4bb597e9`` as an example. 45*61046927SAndroid Build Coastguard Worker 46*61046927SAndroid Build Coastguard WorkerLLVM is *not* required by Panfrost's compilers. LLVM support in Mesa can 47*61046927SAndroid Build Coastguard Workersafely be disabled for most OpenGL ES users with Panfrost. 48*61046927SAndroid Build Coastguard Worker 49*61046927SAndroid Build Coastguard WorkerBuild like ``meson . build/ -Dvulkan-drivers= 50*61046927SAndroid Build Coastguard Worker-Dgallium-drivers=panfrost -Dllvm=disabled`` for a build directory 51*61046927SAndroid Build Coastguard Worker``build``. 52*61046927SAndroid Build Coastguard Worker 53*61046927SAndroid Build Coastguard WorkerFor general information on building Mesa, read :doc:`the install documentation 54*61046927SAndroid Build Coastguard Worker<../install>`. 55*61046927SAndroid Build Coastguard Worker 56*61046927SAndroid Build Coastguard WorkerChat 57*61046927SAndroid Build Coastguard Worker---- 58*61046927SAndroid Build Coastguard Worker 59*61046927SAndroid Build Coastguard WorkerPanfrost developers and users hang out on IRC at ``#panfrost`` on OFTC. Note 60*61046927SAndroid Build Coastguard Workerthat registering and authenticating with ``NickServ`` is required to prevent 61*61046927SAndroid Build Coastguard Workerspam. `Join the chat. <https://webchat.oftc.net/?channels=panfrost>`_ 62*61046927SAndroid Build Coastguard Worker 63*61046927SAndroid Build Coastguard WorkerTechnical details 64*61046927SAndroid Build Coastguard Worker----------------- 65*61046927SAndroid Build Coastguard Worker 66*61046927SAndroid Build Coastguard WorkerYou can read more technical details about Panfrost here: 67*61046927SAndroid Build Coastguard Worker 68*61046927SAndroid Build Coastguard Worker.. toctree:: 69*61046927SAndroid Build Coastguard Worker :glob: 70*61046927SAndroid Build Coastguard Worker 71*61046927SAndroid Build Coastguard Worker panfrost/* 72