I'm working on an embedded Linux project utilizing the AVR32 platform
and LCD controller. I was getting artifacts with my DirectFB user
interface when doing a surface Flip() and discovered that the
atmel_lcdfb driver did not implement the FBIO_WAITFORVSYNC ioctl(). I
have now implemented this ioctl in the driver (by waiting for the End
Of Frame interrupt for the LCD controller), but I'm getting unexpected
results.
If I do an explicit WaitForSync, draw the page and then do a flip, it
works fine, no artifacts. If I pass the DSFLIP_ONSYNC flag instead,
it seems that every single flip is done in the middle of the refresh.
This suggests that DirectFB is mixed up as to which buffer is
currently active, since I was under the impression that any draw
operations to a surface, should be going to the non-active backing
store.
Any ideas how to resolve this? I can just leave it with the explicit
WaitForSync, but I suspect this is only working because my page draw
is happening fast enough within the VSYNC.
Best regards,
Josh Green
_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev