On Thu, 6 Jan 2005, Roland Scheidegger wrote:
Felix K�hling wrote:It's an interesting idea. I'm not so sure it would work that well inHi 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?
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 bufferEveryone is waiting for a more sane memory management for various reasons...
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).* on some hardware an enabled overlay may reduce 3D performance slightly (it does on Savage hardware)
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
