[Graphics] DRI Block Diagram
taw at bitwiz.org.uk
Mon Feb 9 01:37:44 CET 2009
[I thought that tagging emails about Glamo/OM graphics/Xorg issues with
something appropriate might help the members of the "graphics team" and
other interested parties quickly pick out relevant things.]
Following an off-list message about block diagrams for DRI, I scribbled a
bit on the complicated DRI model graphic to highlight things relevant to us,
at least from my perspective:
In the current Xorg driver (and in Xglamo, really), we have the purple
line on the far right. That indicates that the driver is talking directly to
the hardware. For 3D, we need the light green line down the left (its
straightness is what puts the "direct" in "direct rendering"), but we
also need the darker green line, which splits in two in the middle, to make
it all hang together.
I've been working on the dark green line with a view to getting the lighter
green one working, but eventually we'll have to have EXA (2D acceleration)
going via the kernel as well (the red line) to have it all play nicely
I've crossed out the "MMIO" line for 3D rendering, because it's much cleaner
if everything goes via the command queue or, at worst, a custom DRM ioctl.
Otherwise you introduce a nightmare of synchronisation problems, and I can't
see it being necessary. Similar story for the DDX driver and 2D stuff.
The dark green line also provides a basis for MPEG acceleration and things
like that, if I've understood that properly.
I hope that's helpful to someone. I'm acutely aware of the steep learning
curve with this stuff, so I thought I'd help in any way possible.
More information about the devel