> Feel free to clean it up. I was just hacking around to see if the results
> were worth moving the flipping completely into the kernel. Clearly it does
> pay off so the interface should be cleaned up and extended to handle
> waiting (with or without actually flipping).

I soon found I needed a 'wait for flip' so I added an extra action
code to the VSYNC ioctl (which I had already extended to allow waiting
for a specific field).

> How does the hardware work exactly? Can you write the registers at any
> time but they actually take effect at vsync time?

That's right (for the overlay layer at least).

I've since spent most of the day implementing a more exotic solution
using a kernel thread to update the registers half way down the bottom
field, only to find that I was barking up the wrong tree and the
problems I was seeing were due to other DirectFB calls still updating
the buffer registers immediately!

Now I've fixed that, doing the flip in the interrupt handler works
beautifully and I get a rock steady video picture.  Excellent!

Mark

_______________________________________________
directfb-dev mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to