From 059f031887541ff035603aee6e3435ef42dab795 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Thu, 9 Jun 2016 16:24:10 +0200 Subject: noRRXineramaExtension: Make Boolean configurable via new cmdline switch (+|-rrxinerama). --- nx-X11/programs/Xserver/include/globals.h | 1 + 1 file changed, 1 insertion(+) (limited to 'nx-X11/programs/Xserver/include') diff --git a/nx-X11/programs/Xserver/include/globals.h b/nx-X11/programs/Xserver/include/globals.h index f37fb68ba..853b63e86 100644 --- a/nx-X11/programs/Xserver/include/globals.h +++ b/nx-X11/programs/Xserver/include/globals.h @@ -87,6 +87,7 @@ extern Bool noMITShmExtension; #ifdef RANDR extern Bool noRRExtension; +extern Bool noRRXineramaExtension; #endif #ifdef RENDER -- cgit v1.2.3 From 590862d39d6e7cea6425416a5ef6fa2e747bcc0c Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Mon, 20 Jun 2016 11:16:08 +0200 Subject: Centralize declaration of ConnectionInfo. Backported from X.org: commit 64ef7ed072007b1d0b4de5ff1e5eababa418c794 Author: Adam Jackson Date: Wed Aug 20 13:14:03 2008 -0400 Centralize declaration of ConnectionInfo. Author: Adam Jackson Backport to nx-libs: Mike Gabriel --- nx-X11/programs/Xserver/include/globals.h | 1 + 1 file changed, 1 insertion(+) (limited to 'nx-X11/programs/Xserver/include') diff --git a/nx-X11/programs/Xserver/include/globals.h b/nx-X11/programs/Xserver/include/globals.h index 853b63e86..5513b82d0 100644 --- a/nx-X11/programs/Xserver/include/globals.h +++ b/nx-X11/programs/Xserver/include/globals.h @@ -22,6 +22,7 @@ extern int defaultColorVisualClass; extern Bool Must_have_memory; extern WindowPtr *WindowTable; extern int GrabInProgress; +extern char *ConnectionInfo; extern Bool noTestExtensions; extern DDXPointRec dixScreenOrigins[MAXSCREENS]; -- cgit v1.2.3 From c61bb8cc59bf645f1bf4dbc5fd5464d559b3ecad Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Mon, 20 Jun 2016 12:18:53 +0200 Subject: Move each screen's root-window pointer into ScreenRec. Backported from X.org: commit e7fae9ecc42ab5e73b89117722dbf4117d928f9a Author: Jamey Sharp Date: Sat May 22 00:26:28 2010 -0700 Move each screen's root-window pointer into ScreenRec. Many references to the WindowTable array already had the corresponding screen pointer handy, which meant they usually looked like "WindowTable[pScreen->myNum]". Adding a field to ScreenRec instead of keeping this information in a parallel array simplifies those expressions, and eliminates a MAXSCREENS-sized array. Since dix uses this data, a screen private entry isn't appropriate. xf86-video-dummy currently uses WindowTable, so it needs to be updated to reflect this change. Signed-off-by: Jamey Sharp Reviewed-by: Tiago Vignatti Tested-by: Tiago Vignatti (i686 GNU/Linux) Backport to nx-libs: Mike Gabriel --- nx-X11/programs/Xserver/include/globals.h | 1 - nx-X11/programs/Xserver/include/scrnintstr.h | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) (limited to 'nx-X11/programs/Xserver/include') diff --git a/nx-X11/programs/Xserver/include/globals.h b/nx-X11/programs/Xserver/include/globals.h index 5513b82d0..a8b3a62f6 100644 --- a/nx-X11/programs/Xserver/include/globals.h +++ b/nx-X11/programs/Xserver/include/globals.h @@ -20,7 +20,6 @@ extern Bool loadableFonts; extern int defaultColorVisualClass; extern Bool Must_have_memory; -extern WindowPtr *WindowTable; extern int GrabInProgress; extern char *ConnectionInfo; extern Bool noTestExtensions; diff --git a/nx-X11/programs/Xserver/include/scrnintstr.h b/nx-X11/programs/Xserver/include/scrnintstr.h index 2597d6b67..728b16f91 100644 --- a/nx-X11/programs/Xserver/include/scrnintstr.h +++ b/nx-X11/programs/Xserver/include/scrnintstr.h @@ -549,6 +549,7 @@ typedef struct _Screen { void * devPrivate; short numVisuals; VisualPtr visuals; + WindowPtr root; int WindowPrivateLen; unsigned *WindowPrivateSizes; unsigned totalWindowSize; -- cgit v1.2.3 From 19ebd772290681204bee15104fd2dcb5aae49c21 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Mon, 20 Jun 2016 13:25:23 +0200 Subject: include: add version_compare helper function Backported from X.org: commit 0df871cf34ee5f1a85586206027de9b02fb364ec Author: Robert Ancell Date: Thu May 22 10:43:52 2014 +1200 Fix overflow checking extension versions The easiest way to check for the version of an extension is to send the maximum possible version numbers in the QueryVersion request. The X server overflows on these as it assumes you will send a reasonable version number. Reviewed-by: Keith Packard Signed-off-by: Keith Packard commit ffd4874798ba54f86acac75779a15b4babeaa5f3 Author: Peter Hutterer Date: Wed May 11 12:20:50 2011 +1000 include: add version_compare helper function Compare two version numbers in the major.minor form. Switch the few users of manual version switching over to the new function. Signed-off-by: Peter Hutterer Reviewed-by: Jamey Sharp Backport to nx-libs: Mike Gabriel --- nx-X11/programs/Xserver/include/misc.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'nx-X11/programs/Xserver/include') diff --git a/nx-X11/programs/Xserver/include/misc.h b/nx-X11/programs/Xserver/include/misc.h index 5f30823fa..d2cadace2 100644 --- a/nx-X11/programs/Xserver/include/misc.h +++ b/nx-X11/programs/Xserver/include/misc.h @@ -81,6 +81,7 @@ extern unsigned long serverGeneration; #include #include #include +#include #ifndef _XTYPEDEF_POINTER /* Don't let Xdefs.h define 'pointer' */ @@ -237,6 +238,28 @@ pad_to_int32(const int bytes) { return (((bytes) + 3) & ~3); } +/** + * Compare the two version numbers comprising of major.minor. + * + * @return A value less than 0 if a is less than b, 0 if a is equal to b, + * or a value greater than 0 + */ +static inline int +version_compare(uint32_t a_major, uint32_t a_minor, + uint32_t b_major, uint32_t b_minor) +{ + if (a_major > b_major) + return 1; + if (a_major < b_major) + return -1; + if (a_minor > b_minor) + return 1; + if (a_minor < b_minor) + return -1; + + return 0; +} + /* some macros to help swap requests, replies, and events */ #define LengthRestB(stuff) \ -- cgit v1.2.3 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/programs/Xserver/include') 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