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.

Reply via email to