From a60c22f454f21ccbc7831cacc0c1ec09f80db568 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Mon, 20 Jun 2016 15:29:28 +0200 Subject: dix/randr: add a hooks into screen to (a) replace scanout pixmap and (b) for additional cursor confinement Backported from X.org: commit c41922940adbc8891575b3321fadf01ff4cb5854 Author: Dave Airlie Date: Tue Jun 26 10:00:21 2012 +0100 dix/randr: add a hook into screen to replace scanout pixmap For DRI2 in some offload cases we need to set a new pixmap on the crtc, this hook allows dri2 to call into randr to do the necessary work to set a pixmap as the scanout pixmap for the crtc the drawable is currently on. This is really only to be used for unredirected full screen apps in composited environments. Reviewed-by: Keith Packard Signed-off-by: Dave Airlie commit e65c3f8bcc86845f21ac575e2bfb4b21b67d5ebf Author: Adam Jackson Date: Wed Jan 5 12:04:19 2011 -0500 dix: Add a Screen method for additional cursor confinement This just reserves the slot in the ABI. Confining cursors to CRTCs will come soon. v2: Just reserve the slot. Reviewed-by: Daniel Stone Signed-off-by: Adam Jackson Backport to nx-libs: Mike Gabriel --- nx-X11/programs/Xserver/include/scrnintstr.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'nx-X11') diff --git a/nx-X11/programs/Xserver/include/scrnintstr.h b/nx-X11/programs/Xserver/include/scrnintstr.h index 728b16f91..a15c288e0 100644 --- a/nx-X11/programs/Xserver/include/scrnintstr.h +++ b/nx-X11/programs/Xserver/include/scrnintstr.h @@ -523,6 +523,17 @@ typedef void (* MarkUnrealizedWindowProcPtr)( WindowPtr /*pWin*/, Bool /*fromConfigure*/); +typedef void (*ConstrainCursorHarderProcPtr)( + ScreenPtr, /*pScreen*/ + int, /*mode*/ + int *, /*x*/ + int * /*y*/); + +typedef Bool (*ReplaceScanoutPixmapProcPtr)( + DrawablePtr, /*pDrawable*/ + PixmapPtr, /*pPixmap*/ + Bool /*enable*/); + typedef struct _Screen { int myNum; /* index of this instance in Screens[] */ ATOM id; @@ -612,6 +623,7 @@ typedef struct _Screen { /* Cursor Procedures */ ConstrainCursorProcPtr ConstrainCursor; + ConstrainCursorHarderProcPtr ConstrainCursorHarder; CursorLimitsProcPtr CursorLimits; DisplayCursorProcPtr DisplayCursor; RealizeCursorProcPtr RealizeCursor; @@ -708,6 +720,7 @@ typedef struct _Screen { ChangeBorderWidthProcPtr ChangeBorderWidth; MarkUnrealizedWindowProcPtr MarkUnrealizedWindow; + ReplaceScanoutPixmapProcPtr ReplaceScanoutPixmap; } ScreenRec; static inline RegionPtr BitmapToRegion(ScreenPtr _pScreen, PixmapPtr pPix) { -- cgit v1.2.3