Alan, Others, 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. What about software fallbacks? What value do these use to get a pointer to the framebuffer, and how can I go about changing it? Keith ------------------------------------------------------- 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