Commit a60c22f4 authored by Mike Gabriel's avatar Mike Gabriel

dix/randr: add a hooks into screen to (a) replace scanout pixmap and (b) for…

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 <airlied@redhat.com> 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: 's avatarKeith Packard <keithp@keithp.com> Signed-off-by: 's avatarDave Airlie <airlied@redhat.com> commit e65c3f8bcc86845f21ac575e2bfb4b21b67d5ebf Author: Adam Jackson <ajax@redhat.com> 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: 's avatarDaniel Stone <daniel@fooishbar.org> Signed-off-by: 's avatarAdam Jackson <ajax@redhat.com> Backport to nx-libs: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
parent 19ebd772
...@@ -523,6 +523,17 @@ typedef void (* MarkUnrealizedWindowProcPtr)( ...@@ -523,6 +523,17 @@ typedef void (* MarkUnrealizedWindowProcPtr)(
WindowPtr /*pWin*/, WindowPtr /*pWin*/,
Bool /*fromConfigure*/); 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 { typedef struct _Screen {
int myNum; /* index of this instance in Screens[] */ int myNum; /* index of this instance in Screens[] */
ATOM id; ATOM id;
...@@ -612,6 +623,7 @@ typedef struct _Screen { ...@@ -612,6 +623,7 @@ typedef struct _Screen {
/* Cursor Procedures */ /* Cursor Procedures */
ConstrainCursorProcPtr ConstrainCursor; ConstrainCursorProcPtr ConstrainCursor;
ConstrainCursorHarderProcPtr ConstrainCursorHarder;
CursorLimitsProcPtr CursorLimits; CursorLimitsProcPtr CursorLimits;
DisplayCursorProcPtr DisplayCursor; DisplayCursorProcPtr DisplayCursor;
RealizeCursorProcPtr RealizeCursor; RealizeCursorProcPtr RealizeCursor;
...@@ -708,6 +720,7 @@ typedef struct _Screen { ...@@ -708,6 +720,7 @@ typedef struct _Screen {
ChangeBorderWidthProcPtr ChangeBorderWidth; ChangeBorderWidthProcPtr ChangeBorderWidth;
MarkUnrealizedWindowProcPtr MarkUnrealizedWindow; MarkUnrealizedWindowProcPtr MarkUnrealizedWindow;
ReplaceScanoutPixmapProcPtr ReplaceScanoutPixmap;
} ScreenRec; } ScreenRec;
static inline RegionPtr BitmapToRegion(ScreenPtr _pScreen, PixmapPtr pPix) { static inline RegionPtr BitmapToRegion(ScreenPtr _pScreen, PixmapPtr pPix) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment