today's graphics (was Re: [RFC] Small PCI core patch)

Jeff Garzik
2005-11-22T14:26:52Z

On Tue, Nov 22, 2005 at 02:25:45PM +0000, Alan Cox wrote:
> On Maw, 2005-11-22 at 13:27 +1100, Benjamin Herrenschmidt wrote:
> > On the other hand, there is little justification not to open source at
> > least the kernel & basic mode setting part. It's all plumbing and mode
> > setting stuff, monitor detection, etc... it's not part of any of the big
> > added value or IP stuff that can be found in the 3D engine.
>
> I would concur. Although one of the problems as I understand it is the
> upcoming cards no longer have a 2D engine.

Yep.

Current technology is completely programmable GPUs, with an ISA just
like x86 or PPC processors have an ISA.

Programmable shaders -- aka JIT-compiled GLSL code -- are the order of
the day. 2D and the static 3D pipeline are entirely implemented in
terms of these instructions.

Allen Akin noted that graphics regularly goes through generic/specific
hardware cycles. At the moment, we are in the 'generic' point in the
cycle; thus, one can look at the older Rendition processors (docs
available to XFree86 hackers) for a moderate example of how to deal with
current ATI and NVIDIA cards.

So today's cards, it's all about transferring code (GPU microcode)
and data (textures, vertexes, etc.) to and from the card. Remote
execution one could call it. Or RPC :)

I've proposed to Intel, and would like to talk to ATI/NVIDIA, about
seeing what can be done to standardize the REALLY DUMB components, like
the DMA interface to transfer code and data.

Jeff