Quoting Niklas Höglund <[EMAIL PROTECTED]>:

> It'd be nice if it was possible to set what part of a visual and which
> frame a ggimesa context draws on.

I just browsed through ggimesa source.
please correct me if I'm wrong.

Mesa first gets a linear fb lfb[0] from ggi_visual (ggiDBGetBuffer())
and creates another one lfb[1].
ggiMesaSwapBuffer() calls ggiFlush() and then memcpy() lbf[1] into lfb[0]
if the dbflag is on.

So I guess it renders in lfb[1] somewhow first but I can't find how.
I suppose they ggiFlush before to prevent previous ggi Calls to draw
over the buffer after the memcpy.

I'm not sure if it's really a good design...
I'm a bit clueless about both ggi and mesa internals, and I don't
know what is the exact relationship between frames in ggi_visual
and framebuffers associated with this visual, but i think
mesa should always draw in the framebuffer of the current WriteDisplay.
Doublebuffering could be handled eiher externally, or within mesa
by switching Display (if more than one is available).
I also think ggiFlush should not be called by mesa.

soyt

Reply via email to