Re: DRI integration

Keith Packard <[email protected]>
Newsgroups gmane.comp.freedesktop.xserver
Message-ID <[email protected]>
Around 12 o'clock on Nov 13, Keith Whitwell wrote:

> And this sounds reasonable too.  I'm interested in understanding the wierd 
> stuff, and knowing if it is important enough to break the abstraction for -- 
> GL does supply read & draw pixel primitives which could be used to suck 
> regions out of the framebuffer, modify them & redraw them.  If we're only 
> talking about archaic usage, that might be sufficient.

Yes, we could use read/draw pixel primitives, but that would entail 
rewriting all of the rendering code.  I'm interested in an architecture 
that will let us slowly move to GL acceleration while having a working X 
server the whole time.  Touching the pixels directly is clearly the 
shortest path from my perspective; I'm interested to know if it is easily 
done in GL, even if it does completely wreck the device abstractions.  

We may want to implement on top of read/draw pixels at some point so we 
can have a pure GL X server; useful were the hardware vendor doesn't 
provide anything other than the GL API, but performance will suffer.

For now, we're not talking only about archaic usage; GL cannot render any 
of the text on my screen.  Using read/draw pixels is a huge performance 
problem because reading pixels is so slow, and I really only need to read 
a small fraction of the area covered by each glyph as most of the written 
pixels are either transparent or 
opaque.

> I don't see a problem with this, given the intention to move closer & closer 
> towards GL integration, perhaps by extending GL.  If ever the discussion moves 
> towards doing hardware acceleration outside of GL, I start to get nervous...

Yes, I think we would insist that GL be the only way of getting at the
hardware acceleration; the alternatives are just too complicated to
consider (saving/restoring state, etc).  We've already done that with DRI/X
integration today and I think I could find many people interested in
avoiding a reprise.

> While you're thinking about this stuff, it's probably worthwhile looking at
> the vertex and fragment programmability stuff that has emerged over the
> last few years. (note that none of the DRI hardware really support this
> stuff, though).

Certainly implementing existing useful standards would be better than 
developing custom kludges; when we start looking at accelerating 
unsupported operations, we'll want to read through the specs carefully and 
borrow where appropriate.

-keith
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.