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)(
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) {
......
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