On Sat, 6 Jul 2002, Nick Name wrote:

> On Sat, 6 Jul 2002 12:35:32 -0700 (PDT)
> Mark Vojkovich <[EMAIL PROTECTED]> wrote:
> 
> > Rendering the entire X11 primitive set in OpenGL
> >  probably isn't possible because X11 has things that aren't in
> >  OpenGL - like planemasks.  So you'd have to fall back to a drawpixels
> >  sort of implementation if you want a compliant implementation.
> 
> Hmm... maybe I could have a mixed implementation, "drawpixels" on a texture for what 
>is not implementable in opengl. But looks like it would require much more work than 
>simply modifying shadowfb.

   The problem with that is that once you've gone into a shadow buffer
approach you always have to keep the shadow buffer up to date, so you've
always got to render in software to the shadow buffers.  So even if you
could use the the HW to draw a solid rect into the real framebuffer, you
need to put that solid rect in the software buffer too.  That's probably
generally faster than drawing into the shadow buffer and copying, but
it complicates the implementation somewhat.

   Alternatively, you could always draw into the framebuffer for whatever
X11 primitives GL could do, but when you came across something that you
couldn't do, you would have to do readpixels then modify the data and
then drawpixels to put it back.  Generally, the performance of readpixels
is pretty bad though.

   Note that X11 is a pixel-perfect specification, so the likelyhood
of your OpenGL implementation being able to draw anything other than
glRectangle properly is slim to none.  So even for rop, planemask,
fillStyle combinations that GL could manage you're pretty much stuck
with using the X-server's "mi" routines that break everything into
spans.


                        Mark.

_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert

Reply via email to