Re: radeon-pre-2

From: Jon Smirl
Date: Sat Sep 11 2004 - 13:00:42 EST


On Sat, 11 Sep 2004 10:02:57 -0700 (PDT), Linus Torvalds
<torvalds@xxxxxxxx> wrote:
> Jon, you want to get to that "Final step is to integrate the chip specific
> code from DRM and fbdev". Alan doesn't even want to get there. I think
> Alan just wants some simple infrastructure to let everybody play together.

This is the core problem. I want to get to a point where there is a
single, integrated piece of code controlling the complex functions of
the 3D hardware.

I want to get away from the model of "I just got control of the chip,
who knows what the state of it is, I better reset everything". I also
want to get away from "now I want to use this register, i need to
inspect every over driver and piece of user space code to make sure
they don't stomp it". Or "I didn't even know your code existed, sorry
about stomping that critical register and causing 100 bug reports". Or
"why don't we just split the VRAM in half so we don't have to share
memory management". Or suspend code that restores 2D mode and ignores
3D.

The problem with everyone playing together in separate code bases
assumes that everyone knows what everyone else is doing and that's
never the case. A single card specific code base collects everything
to a single place where it can be monitored.

A good example of this is switching the GPU between 2D and 3D mode on
every process swap.

In general the current X design only has a single 3D client. With a
composited display and pbuffer background drawing we are going to have
one 3D client for every top level window. This is going to require
complicated code to smoothly multitask the 3D drawing streams. The
last thing we need is something in the middle of this switching the
chip in and out of 2D mode.

--
Jon Smirl
jonsmirl@xxxxxxxxx
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/