On Die, 2002-09-24 at 13:11, Keith Whitwell wrote: 
> 
> I've been thinking again about pageflipping & realized I can solve the 
> remaining few problems if I can tweak the behaviour of the 2d driver slightly.
> 
> At the moment, the 2d driver always draws to buffer zero (the old front 
> buffer), and then at some point in the future, the dirty parts are blitted to 
> buffer one (the old back buffer).
> 
> However, this can be incorrect in a couple of circumstances, particularly when 
> the dirty regions (or even the drawing itself) overlaps with the 3d window.
> 
> I think all my problems can be solved if I do two things:
>       1) always have X draw to the *current* front buffer (buffer zero or buffer 
>one, 
> depending)
>       2) subtract the 3d window from the dirty regions before blitting to the 
>current 
> back buffer.
> 
> I can probably figure out 2) without to much effort.
> 
> For 1), I can adjust the accelerated functions fairly easily to get them to 
> draw to buffer zero/one as appropriate.

How do you deal with offscreen access?

> What about software fallbacks?  What value do these use to get a pointer
> to the framebuffer, and how can I go about changing it?

It's passed to xxxScreenInit(), and even if there's a single place where
it's stored afterwards, I'm not sure relying on that is a good idea. 

Doesn't 2) alone work?


-- 
Earthling Michel Dänzer (MrCooper)/ Debian GNU/Linux (powerpc) developer
XFree86 and DRI project member   /  CS student, Free Software enthusiast



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to