Make number of RANDR outputs and crtcs for each back-end display configurable.

This commit is contained in:
David Reveman 2008-05-30 23:45:21 -04:00
parent 01a5072e32
commit 1c6f660c60
3 changed files with 21 additions and 2 deletions

View file

@ -330,6 +330,10 @@ extern Bool dmxIgnoreBadFontPaths; /**< True if bad font
extern Bool dmxAddRemoveScreens; /**< True if add and
* remove screens support
* is enabled */
#ifdef RANDR
extern int xRROutputsPerScreen;
extern int xRRCrtcsPerScreen;
#endif
/** Wrap screen or GC function pointer */
#define DMX_WRAP(_entry, _newfunc, _saved, _actual) \

View file

@ -126,6 +126,11 @@ int dmxLaunchIndex = 0;
Bool dmxVnc = FALSE;
#endif
#ifdef RANDR
int xRROutputsPerScreen = 2;
int xRRCrtcsPerScreen = 2;
#endif
#include <execinfo.h>
static void
@ -1090,6 +1095,14 @@ int ddxProcessArgument(int argc, char *argv[], int i)
} else if (!strcmp(argv[i], "-novnc")) {
dmxVnc = FALSE;
retval = 1;
#endif
#ifdef RANDR
} else if (!strcmp(argv[i], "-outputs")) {
if (++i < argc) xRROutputsPerScreen = atoi(argv[i]);
retval = 2;
} else if (!strcmp(argv[i], "-crtcs")) {
if (++i < argc) xRRCrtcsPerScreen = atoi(argv[i]);
retval = 2;
#endif
} else if (!strcmp(argv[i], "-param")) {
if ((i += 2) < argc) {
@ -1153,6 +1166,10 @@ void ddxUseMsg(void)
ErrorF("-noaddremovescreens Disable dynamic screen addition/removal\n");
#ifdef DMXVNC
ErrorF("-vnc Enable VNC\n");
#endif
#ifdef RANDR
ErrorF("-outputs num RANDR outputs for each back-end display\n");
ErrorF("-crtcs num RANDR crtcs for each back-end display\n");
#endif
ErrorF("-param ... Specify configuration parameters (e.g.,\n");
ErrorF(" XkbRules, XkbModel, XkbLayout, etc.)\n");

View file

@ -94,8 +94,6 @@ DevPrivateKey dmxGlyphSetPrivateKey = &dmxGlyphSetPrivateKeyIndex; /**< Private
#ifdef RANDR
static int xRROutputsForFirstScreen = 1;
static int xRRCrtcsForFirstScreen = 1;
static int xRROutputsPerScreen = 2;
static int xRRCrtcsPerScreen = 2;
static DMXScreenInfo *
dmxRRGetScreenForCrtc (ScreenPtr pScreen,