[PATCH 02/12] drm/etnaviv: add devicetree bindings

Russell King - ARM Linux linux at arm.linux.org.uk
Sat Dec 5 08:05:44 PST 2015


On Sat, Dec 05, 2015 at 04:35:11PM +0100, Daniel Vetter wrote:
> In theory dma-buf could keep track of who's flushed a buffer already, but
> there's no implementation of that yet. And for a generic one we'd need to
> violate the current dma api abstractions. So yeah, perf is going to tank
> until that's solved, at least for some workloads. Video wasn't a problem
> here since all you do is establish a set of shared buffers once, making
> all the overhead just one-time. But dynamic workloads like GL can't
> amortize setup cost that easily.

Indeed, and as the Vivante 3D core is not as capable as the 2D core at
blitting between two pixmaps, the cost of splitting them would be high.
(The early 3D cores such as found in Dove seem only able to bit from the
0,0 origin.)

So, we really need to do the 3D rendering on the 3D core, and then use
the 2D core as a blitter - preferably with the 3D core rendering the
next frame in parallel with the blit.

There's more reasons to do this when you discover that iMX6's memory bus
arbiter doesn't work quite right: it appears that each bus master has a
certain bandwidth reserved which is never given to any other master.
That means it's best to spread the memory workload over as many of the
masters as possible.

-- 
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.


More information about the dri-devel mailing list