xfree86/modes: Check for non-desktop monitors during PreInit [v2]
At startup, we want to ignore non-desktop monitors unless we don't find any desktop monitors. Because there are no DIX RandR resources allocated, let the driver store this information in a new field in the xf86Output structure and then use that value to help decide whether to include an output as part of the default configuration. v2: Suggested-by: Michel Dänzer <michel@daenzer.net> Bump XF86_CRTC_VERSION from 7 to 8. This will let out-of-tree drivers know whether this field is available. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Adam Jackson <ajax@nwnk.net>
This commit is contained in:
parent
80d4f4b6c2
commit
fabbaa8d62
|
@ -538,9 +538,9 @@ xf86OutputEnabled(xf86OutputPtr output, Bool strict)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If not, try to only light up the ones we know are connected */
|
/* If not, try to only light up the ones we know are connected which are supposed to be on the desktop */
|
||||||
if (strict) {
|
if (strict) {
|
||||||
enable = output->status == XF86OutputStatusConnected;
|
enable = output->status == XF86OutputStatusConnected && !output->non_desktop;
|
||||||
}
|
}
|
||||||
/* But if that fails, try to light up even outputs we're unsure of */
|
/* But if that fails, try to light up even outputs we're unsure of */
|
||||||
else {
|
else {
|
||||||
|
|
|
@ -247,7 +247,7 @@ typedef struct _xf86CrtcFuncs {
|
||||||
|
|
||||||
} xf86CrtcFuncsRec, *xf86CrtcFuncsPtr;
|
} xf86CrtcFuncsRec, *xf86CrtcFuncsPtr;
|
||||||
|
|
||||||
#define XF86_CRTC_VERSION 7
|
#define XF86_CRTC_VERSION 8
|
||||||
|
|
||||||
struct _xf86Crtc {
|
struct _xf86Crtc {
|
||||||
/**
|
/**
|
||||||
|
@ -627,6 +627,11 @@ struct _xf86Output {
|
||||||
/** Whether to use the old per-screen Monitor config section */
|
/** Whether to use the old per-screen Monitor config section */
|
||||||
Bool use_screen_monitor;
|
Bool use_screen_monitor;
|
||||||
|
|
||||||
|
/** For pre-init, whether the output should be excluded from the
|
||||||
|
* desktop when there are other viable outputs to use
|
||||||
|
*/
|
||||||
|
Bool non_desktop;
|
||||||
|
|
||||||
#ifdef RANDR_12_INTERFACE
|
#ifdef RANDR_12_INTERFACE
|
||||||
/**
|
/**
|
||||||
* RandR 1.2 output structure.
|
* RandR 1.2 output structure.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user