
From Bifrost to Panfrost – deep dive into the first render - mfilion
https://www.collabora.com/news-and-blog/blog/2020/04/23/from-bifrost-to-panfrost-deep-dive-into-the-first-render/
======
st_goliath
For the uninitiated, a few bullet points I stitched together from Wikipedia
and freedesktop.org:

The Mali GPUs are IP Core GPUs produced by ARM Holding[0].

Midgard and Bifrost are architecture code names[1].

Panfrost is a FOSS driver for Mali Midgard and Bifrost GPUs[2].

An older effort at reverse engineering exists under the name Lima, targeting
older Mali GPUs[3].

[0]
[https://en.wikipedia.org/wiki/Mali_(GPU)](https://en.wikipedia.org/wiki/Mali_\(GPU\))

[1]
[https://en.wikipedia.org/wiki/Mali_(GPU)#Variants](https://en.wikipedia.org/wiki/Mali_\(GPU\)#Variants)

[2] [https://panfrost.freedesktop.org/](https://panfrost.freedesktop.org/)

[3]
[https://en.wikipedia.org/wiki/Mali_(GPU)#The_Lima_and_Panfro...](https://en.wikipedia.org/wiki/Mali_\(GPU\)#The_Lima_and_Panfrost_FOSS_drivers)

~~~
dmos62
I own a device with a Mali Midgard or Bifrost GPU. I'm excited about getting
HW acceleration on it. Anyone has insight about the usability of the driver at
the moment? Alos, why are developers interested in it? Surely there are loads
of GPUs without open source drivers.

~~~
floatboth
Midgard is usable - GNOME Shell and KDE Plasma usable.. even SuperTuxKart with
GLES3 usable now: [https://www.collabora.com/news-and-
blog/blog/2020/02/27/expe...](https://www.collabora.com/news-and-
blog/blog/2020/02/27/experimental-panfrost-gles-3-support-has-landed/)

Bifrost is quite early as you can see from the article this thread is for.

> Surely there are loads of GPUs without open source drivers

Mali is very popular (so many SoCs from Rockchip, Amlogic, Allwinner, etc.)
and actually was sort of the last holdout among them.

Etnaviv, VC4, Freedreno all predate Panfrost and (the resurrected and
upstreamed version of) Lima.

Now I guess the last holdout would be PowerVR but it's not like there's so
many devices with their GPUs. Nokia N900 and early iPhones I think?

~~~
monocasa
I spent a while playing with PowerVR trying to reverse it on my beaglebone.

It's a huge pain, they feel like an order of magnitude more effort than Mali
cores to get running with free drivers as they run a full RTOS on their GPU
cores. They also have tons of bugs they hack around on a per rev basis around
the caching and virtual memory systems which means your reversed code will
sort of work for a bit, then start mysteriously start failing as you pull your
hair out for a month.

Neat design; I just wish Imagination would get their head out of their ass and
approach the community. They might still have a viable business if they had
done that before now.

~~~
floatboth
RTOS on.. SIMD units?? o_0

~~~
monocasa
Most unified shader GPUs have the same semantics, they just run the priority
thread scheduler in hardware. PowerVR was being cute and saving gates and
their power cost by making the shader cores themselves handle all that rather
than a dedicated hardware block.

------
chris_wot
If you want a good intro to Panfrost, try this blog article:

[https://blogs.gnome.org/engagement/2019/10/03/alyssa-
rosenzw...](https://blogs.gnome.org/engagement/2019/10/03/alyssa-rosenzweig-
panfrost/)

------
Keyframe
I thought initially it was about this [https://area.autodesk.com/blogs/the-
maya-blog/introducing-bi...](https://area.autodesk.com/blogs/the-maya-
blog/introducing-bifrost-for-maya/#)

