From: Matthias H. <Mat...@in...> - 2002-07-01 19:50:04
|
Sorry for entering the discussion late, but I just noticed the contents of the current thread :^) > Sorry for being harsh here, but this problem needs a solution. Definitely. Actually, I have the same problem in an environment (TV mode with interlaced signals) in which it gets even harder. Without synchronized switches I will never be able to correctly render interlaced material. > Do you think it will ever be possible to get Xv video output without > tearing and judder in Xfree86 with the current architecture? FYI: I just looked at the DGA extension, and the following paragraph jumped into my line of sight: ------------------------------> SNIP <--------------------------------- void XDGASetViewport( Display *dpy, int screen, int x, int y, int flags); Set the upper left-hand corner of the rectangle of framebuffer that is to be displayed on the screen. Not all locations may be supported by the hardware and requested locations will be adjusted according to the xViewPortStep and yViewPortStep fields in the XDGAMode. "flags" can be XDGAFlipRetrace or XDGAFlipImmediate to adjust the viewport location at the next vertical retrace or immediately. Values other than the supported values advertised in the mode's viewportFlags field will result in hardware-specific default behavior. XDGAFlipImmediate will block until the flip is completed. XDGAFlipRetrace will generally NOT block so it is necessary to monitor the viewport status with XDGAGetViewportStatus(). ------------------------------> SNIP <--------------------------------- As far as I read correctly, I can wait for the retrace by using XDGASetViewport() with XDGAFlipRetrace and then waiting with XDGAGetViewportStatus(). I cannot see how to do this without a busy loop, but it will be a starter. Maybe with some intelligent timer usage it will be possible without polling, at least for TV modes. Additionally, I don't know yet how this could interfere with regular X rendering... Any comments? CU Matthias -- Matthias Hopf - Visualization and Interactive Systems Group \ | | /-- IfI, University of Stuttgart, \ | | \ Breitwiesenstr. 20-22, 70565 Stuttgart, Germany \| | --/ Phone +49-711-7816-404 Fax -340 ma...@ms... www.mshopf.de |