On Mon, Jan 13, 2003 at 04:31:17PM +0100, Denis Oliver Kropp wrote: > Quoting Ville Syrj?l? ([EMAIL PROTECTED]): > > > #ifndef BuildXKB > > > #define BuildXKB YES > > > +#endif > > > + > > > +#ifndef BuildXKBlib > > > +#define BuildXKBlib YES > > > #endif > > I applied the patch to CVS. > > > BTW have you tried my triple buffering patch w/ CRTC2? > > If it works I would like to include it as "experimental > until well tested" in 0.9.17, i.e. after the next release.
I only tested it quickly myself. I've been somewhat busy with real life (tm) recently and haven't given this much thought. The code does have some issues. Triple buffering doesn't do anything useful for layers where flip happens immediately. Solution: Do the fbdev_pan() stuff from the kernel vsync handler? What to do with WAITFORSYNC flag? Solution 1: Do nothing. Solution 2: Sleep like with double buffering. Solution 3: Add a vsync counter to the kernel vsync handler and check if the counter has changed when Flip() is called. If it hasn't just swap the new front and back buffers. If it has changed rotate the buffers around completely. This could be done without the vsync flag too since it wouldn't hurt performance. Solution 4: Like 3 but with some kind of signal instead of a counter. The problem with my solutions is that they require the kernel patch to work. What happens if the patch hasn't been applied or the driver in question doesn't even have a patch? -- Ville Syrj�l� [EMAIL PROTECTED] http://www.sci.fi/~syrjala/ -- Info: To unsubscribe send a mail to [EMAIL PROTECTED] with "unsubscribe directfb-dev" as subject.
