From: Dave Airlie <airl...@redhat.com> This is a hooks for pixmap sharing and tracking.
The pixmap sharing ones get an integer handle for the pixmap and use a handle to be the backing for a pixmap. The tracker interface is to be used when a GPU needs to track pixmaps to be updated for another GPU. Signed-off-by: Dave Airlie <airl...@redhat.com> --- include/scrnintstr.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/include/scrnintstr.h b/include/scrnintstr.h index 9f4f2db..e8134a1 100644 --- a/include/scrnintstr.h +++ b/include/scrnintstr.h @@ -179,6 +179,8 @@ typedef void (*ClipNotifyProcPtr) (WindowPtr /*pWindow */ , #define CREATE_PIXMAP_USAGE_BACKING_PIXMAP 2 /* pixmap will contain a glyph */ #define CREATE_PIXMAP_USAGE_GLYPH_PICTURE 3 +/* pixmap will be shared */ +#define CREATE_PIXMAP_USAGE_SHARED 4 typedef PixmapPtr (*CreatePixmapProcPtr) (ScreenPtr /*pScreen */ , int /*width */ , @@ -339,6 +341,16 @@ typedef void (*DeviceCursorCleanupProcPtr) (DeviceIntPtr /* pDev */ , typedef void (*ConstrainCursorHarderProcPtr) (DeviceIntPtr, ScreenPtr, int, int *, int *); + +typedef Bool (*SharePixmapBackingProcPtr)(PixmapPtr, int *); + +typedef Bool (*SetSharedPixmapBackingProcPtr)(PixmapPtr, int); + +typedef Bool (*StartPixmapTrackingProcPtr)(PixmapPtr, PixmapPtr, + int x, int y); + +typedef Bool (*StopPixmapTrackingProcPtr)(PixmapPtr, PixmapPtr); + typedef struct _Screen { int myNum; /* index of this instance in Screens[] */ ATOM id; @@ -486,6 +498,11 @@ typedef struct _Screen { struct xorg_list output_slave_list; struct xorg_list output_head; + SharePixmapBackingProcPtr SharePixmapBacking; + SetSharedPixmapBackingProcPtr SetSharedPixmapBacking; + + StartPixmapTrackingProcPtr StartPixmapTracking; + StopPixmapTrackingProcPtr StopPixmapTracking; } ScreenRec; static inline RegionPtr -- 1.7.10.2 _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel