Adds typdefs for (*StartFlippingPixmapTrackingProcPtr), (*PresentTrackedFlippingPixmapProcPtr), (*StopFlippingPixmapTrackingProcPtr), (*EnableSharedPixmapFlippingProcPtr), and (*DisableSharedPixmapFlippingProcPtr).
Adds (Enable/Disable)SharedPixmapFlipping, (Start/Stop)FlippingPixmapTracking, and PresentTrackedFlippingPixmap to ScreenRec. EnableSharedPixmapFlipping will allow the sink driver to setup for flipping between two shared pixmaps. DisableSharedPixmapFlipping will allow the sink driver to do teardown associated with flipping between two shared pixmaps. (Start/Stop)FlippingPixmapTracking are merely the double-buffered equivalents of (Start/Stop)PixmapTracking, allowing the source driver to do whatever setup and teardown necessary for presenting on the two shared pixmaps. PresentTrackedFlippingPixmap is a function exposed by the source driver for the X server or sink driver to call to request a present on a given shared pixmap. This way, presents can be driven by the sink's vblank instead of a timer or similar mechanism. Signed-off-by: Alex Goins <[email protected]> --- include/scrnintstr.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/include/scrnintstr.h b/include/scrnintstr.h index 2e617c4..dbe4ce6 100644 --- a/include/scrnintstr.h +++ b/include/scrnintstr.h @@ -349,8 +349,23 @@ typedef Bool (*StartPixmapTrackingProcPtr)(PixmapPtr, PixmapPtr, int dst_x, int dst_y, Rotation rotation); +typedef Bool (*StartFlippingPixmapTrackingProcPtr)(PixmapPtr, + PixmapPtr, PixmapPtr, + int x, int y, + int dst_x, int dst_y, + Rotation rotation); + +typedef Bool (*PresentTrackedFlippingPixmapProcPtr)(PixmapPtr); + typedef Bool (*StopPixmapTrackingProcPtr)(PixmapPtr, PixmapPtr); +typedef Bool (*StopFlippingPixmapTrackingProcPtr)(PixmapPtr, + PixmapPtr, PixmapPtr); + +typedef Bool (*EnableSharedPixmapFlippingProcPtr)(void *); + +typedef void (*DisableSharedPixmapFlippingProcPtr)(void *); + typedef Bool (*ReplaceScanoutPixmapProcPtr)(DrawablePtr, PixmapPtr, Bool); typedef WindowPtr (*XYToWindowProcPtr)(ScreenPtr pScreen, @@ -601,9 +616,16 @@ typedef struct _Screen { SharePixmapBackingProcPtr SharePixmapBacking; SetSharedPixmapBackingProcPtr SetSharedPixmapBacking; + EnableSharedPixmapFlippingProcPtr EnableSharedPixmapFlipping; + DisableSharedPixmapFlippingProcPtr DisableSharedPixmapFlipping; + StartPixmapTrackingProcPtr StartPixmapTracking; StopPixmapTrackingProcPtr StopPixmapTracking; + StartFlippingPixmapTrackingProcPtr StartFlippingPixmapTracking; + PresentTrackedFlippingPixmapProcPtr PresentTrackedFlippingPixmap; + StopFlippingPixmapTrackingProcPtr StopFlippingPixmapTracking; + struct xorg_list pixmap_dirty_list; struct xorg_list offload_slave_list; struct xorg_list offload_head; -- 1.9.1 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
