On Thu, 6 Jan 2005, Roland Scheidegger wrote:

Felix K�hling wrote:
Hi all,

has anyone ever considered using the video overlay for 3D page
flipping? It always bothered me that the page-flipping method used by
the radeon drivers is so complicated WRT 2D/3D interaction and it
would even stop working when (if?) we switch to allocating back
buffers per-client. So I thought, couldn't you use the video overlay
to display the front buffer and do page flipping by switching the
video overlay between two front buffers?
It's an interesting idea. I'm not so sure it would work that well in
practice (I would guess we'd have seen such implementations by some vendors for some OS otherwise).
* requires more dynamic memory management than currently exists in
most drivers with a static back buffer
Everyone is waiting for a more sane memory management for various reasons...

* on some hardware an enabled overlay may reduce 3D performance
  slightly (it does on Savage hardware)
This should be true on all hardware I think. Performance-wise, it might actually not be all that faster than ordinary swaps (since the overlay is just a blit too, and consumes the same amount of memory bandwidth, though you wouldn't have to wait for the blit to happen, and for non-fullscreen (gl-wise) it should be faster).

Actually, video overlay is done dynamically on Radeons, though one could use a texture blit for it as well.


The usual way is to setup the overlay engine to overlay a surface on framebuffer.

This implies that the engine needs to read pixels continously, just like it does with regular framebuffer. Because of this the application should be refreshing at less than half the display rate for the regular blit to
consume the same bandwidth as overlay.


There is also the nice part is that overlay update registers can trigger
automatically on vsync. So if one sets up triple buffer system it is easy to eliminate most tearing *and* waiting completely.


The overlay buffer height is not restricted (much), but the width is.
On newer radeons it is around 1920 (for HDTV), though I think it's half that for RGB framebuffers. (HDTV assumes YUV). On older radeons it is smaller.


The other drawback is that there is only one overlay engine and some GL apps might want it for menus and such.

                           best

                             Vladimir Dergachev


Roland




------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt -- _______________________________________________ Dri-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to