Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into pci-rework
This commit is contained in:
commit
1a5561c4ec
|
@ -137,19 +137,13 @@ static const char CREATE_NEW_SCREEN_FUNC[] =
|
||||||
static void
|
static void
|
||||||
__glXDRIleaveServer(void)
|
__glXDRIleaveServer(void)
|
||||||
{
|
{
|
||||||
int i;
|
DRIBlockHandler(NULL, NULL, NULL);
|
||||||
|
|
||||||
for (i = 0; i < screenInfo.numScreens; i++)
|
|
||||||
DRIDoBlockHandler(i, NULL, NULL, NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
__glXDRIenterServer(void)
|
__glXDRIenterServer(void)
|
||||||
{
|
{
|
||||||
int i;
|
DRIWakeupHandler(NULL, 0, NULL);
|
||||||
|
|
||||||
for (i = 0; i < screenInfo.numScreens; i++)
|
|
||||||
DRIDoWakeupHandler(i, NULL, 0, NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -42,8 +42,6 @@ in this Software without prior written authorization from The Open Group.
|
||||||
#include <X11/extensions/mitmiscstr.h>
|
#include <X11/extensions/mitmiscstr.h>
|
||||||
#include "modinit.h"
|
#include "modinit.h"
|
||||||
|
|
||||||
extern Bool permitOldBugs;
|
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
static unsigned char MITReqCode;
|
static unsigned char MITReqCode;
|
||||||
#endif
|
#endif
|
||||||
|
@ -90,12 +88,8 @@ ProcMITSetBugMode(client)
|
||||||
REQUEST(xMITSetBugModeReq);
|
REQUEST(xMITSetBugModeReq);
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xMITSetBugModeReq);
|
REQUEST_SIZE_MATCH(xMITSetBugModeReq);
|
||||||
if ((stuff->onOff != xTrue) && (stuff->onOff != xFalse))
|
if (stuff->onOff != xFalse)
|
||||||
{
|
return BadRequest;
|
||||||
client->errorValue = stuff->onOff;
|
|
||||||
return BadValue;
|
|
||||||
}
|
|
||||||
permitOldBugs = stuff->onOff;
|
|
||||||
return(client->noClientException);
|
return(client->noClientException);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -110,7 +104,7 @@ ProcMITGetBugMode(client)
|
||||||
rep.type = X_Reply;
|
rep.type = X_Reply;
|
||||||
rep.length = 0;
|
rep.length = 0;
|
||||||
rep.sequenceNumber = client->sequence;
|
rep.sequenceNumber = client->sequence;
|
||||||
rep.onOff = permitOldBugs;
|
rep.onOff = FALSE;
|
||||||
if (client->swapped) {
|
if (client->swapped) {
|
||||||
swaps(&rep.sequenceNumber, n);
|
swaps(&rep.sequenceNumber, n);
|
||||||
swapl(&rep.length, n);
|
swapl(&rep.length, n);
|
||||||
|
|
|
@ -60,6 +60,8 @@ compCloseScreen (int index, ScreenPtr pScreen)
|
||||||
CompScreenPtr cs = GetCompScreen (pScreen);
|
CompScreenPtr cs = GetCompScreen (pScreen);
|
||||||
Bool ret;
|
Bool ret;
|
||||||
|
|
||||||
|
xfree (cs->alternateVisuals);
|
||||||
|
|
||||||
pScreen->CloseScreen = cs->CloseScreen;
|
pScreen->CloseScreen = cs->CloseScreen;
|
||||||
pScreen->BlockHandler = cs->BlockHandler;
|
pScreen->BlockHandler = cs->BlockHandler;
|
||||||
pScreen->InstallColormap = cs->InstallColormap;
|
pScreen->InstallColormap = cs->InstallColormap;
|
||||||
|
@ -100,7 +102,7 @@ compInstallColormap (ColormapPtr pColormap)
|
||||||
CompScreenPtr cs = GetCompScreen (pScreen);
|
CompScreenPtr cs = GetCompScreen (pScreen);
|
||||||
int a;
|
int a;
|
||||||
|
|
||||||
for (a = 0; a < NUM_COMP_ALTERNATE_VISUALS; a++)
|
for (a = 0; a < cs->numAlternateVisuals; a++)
|
||||||
if (pVisual->vid == cs->alternateVisuals[a])
|
if (pVisual->vid == cs->alternateVisuals[a])
|
||||||
return;
|
return;
|
||||||
pScreen->InstallColormap = cs->InstallColormap;
|
pScreen->InstallColormap = cs->InstallColormap;
|
||||||
|
@ -170,6 +172,41 @@ compFindVisuallessDepth (ScreenPtr pScreen, int d)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Add a list of visual IDs to the list of visuals to implicitly redirect.
|
||||||
|
*/
|
||||||
|
static Bool
|
||||||
|
compRegisterAlternateVisuals (CompScreenPtr cs, VisualID *vids, int nVisuals)
|
||||||
|
{
|
||||||
|
VisualID *p;
|
||||||
|
|
||||||
|
p = xrealloc(cs->alternateVisuals,
|
||||||
|
sizeof(VisualID) * (cs->numAlternateVisuals + nVisuals));
|
||||||
|
if(p == NULL)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
memcpy(&p[cs->numAlternateVisuals], vids, sizeof(VisualID) * nVisuals);
|
||||||
|
|
||||||
|
cs->alternateVisuals = p;
|
||||||
|
cs->numAlternateVisuals += nVisuals;
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
_X_EXPORT
|
||||||
|
Bool CompositeRegisterAlternateVisuals (ScreenPtr pScreen, VisualID *vids,
|
||||||
|
int nVisuals)
|
||||||
|
{
|
||||||
|
CompScreenPtr cs = GetCompScreen (pScreen);
|
||||||
|
return compRegisterAlternateVisuals(cs, vids, nVisuals);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if COMP_INCLUDE_RGB24_VISUAL
|
||||||
|
#define NUM_COMP_ALTERNATE_VISUALS 2
|
||||||
|
#else
|
||||||
|
#define NUM_COMP_ALTERNATE_VISUALS 1
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef struct _alternateVisual {
|
typedef struct _alternateVisual {
|
||||||
int depth;
|
int depth;
|
||||||
CARD32 format;
|
CARD32 format;
|
||||||
|
@ -197,8 +234,6 @@ compAddAlternateVisuals (ScreenPtr pScreen, CompScreenPtr cs)
|
||||||
int numAlternate = 0;
|
int numAlternate = 0;
|
||||||
int alt;
|
int alt;
|
||||||
|
|
||||||
memset (cs->alternateVisuals, '\0', sizeof (cs->alternateVisuals));
|
|
||||||
|
|
||||||
for (alt = 0; alt < NUM_COMP_ALTERNATE_VISUALS; alt++)
|
for (alt = 0; alt < NUM_COMP_ALTERNATE_VISUALS; alt++)
|
||||||
{
|
{
|
||||||
DepthPtr depth;
|
DepthPtr depth;
|
||||||
|
@ -321,7 +356,7 @@ compAddAlternateVisuals (ScreenPtr pScreen, CompScreenPtr cs)
|
||||||
/*
|
/*
|
||||||
* remember the visual ID to detect auto-update windows
|
* remember the visual ID to detect auto-update windows
|
||||||
*/
|
*/
|
||||||
cs->alternateVisuals[alt] = visual->vid;
|
compRegisterAlternateVisuals(cs, &visual->vid, 1);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Fix up the depth
|
* Fix up the depth
|
||||||
|
@ -367,6 +402,9 @@ compScreenInit (ScreenPtr pScreen)
|
||||||
cs->pOverlayWin = NULL;
|
cs->pOverlayWin = NULL;
|
||||||
cs->pOverlayClients = NULL;
|
cs->pOverlayClients = NULL;
|
||||||
|
|
||||||
|
cs->numAlternateVisuals = 0;
|
||||||
|
cs->alternateVisuals = NULL;
|
||||||
|
|
||||||
if (!compAddAlternateVisuals (pScreen, cs))
|
if (!compAddAlternateVisuals (pScreen, cs))
|
||||||
{
|
{
|
||||||
xfree (cs);
|
xfree (cs);
|
||||||
|
|
|
@ -109,12 +109,6 @@ typedef struct _CompSubwindows {
|
||||||
#define COMP_INCLUDE_RGB24_VISUAL 0
|
#define COMP_INCLUDE_RGB24_VISUAL 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if COMP_INCLUDE_RGB24_VISUAL
|
|
||||||
#define NUM_COMP_ALTERNATE_VISUALS 2
|
|
||||||
#else
|
|
||||||
#define NUM_COMP_ALTERNATE_VISUALS 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef struct _CompOverlayClientRec *CompOverlayClientPtr;
|
typedef struct _CompOverlayClientRec *CompOverlayClientPtr;
|
||||||
|
|
||||||
typedef struct _CompOverlayClientRec {
|
typedef struct _CompOverlayClientRec {
|
||||||
|
@ -154,7 +148,8 @@ typedef struct _CompScreen {
|
||||||
ScreenBlockHandlerProcPtr BlockHandler;
|
ScreenBlockHandlerProcPtr BlockHandler;
|
||||||
CloseScreenProcPtr CloseScreen;
|
CloseScreenProcPtr CloseScreen;
|
||||||
Bool damaged;
|
Bool damaged;
|
||||||
XID alternateVisuals[NUM_COMP_ALTERNATE_VISUALS];
|
int numAlternateVisuals;
|
||||||
|
VisualID *alternateVisuals;
|
||||||
|
|
||||||
WindowPtr pOverlayWin;
|
WindowPtr pOverlayWin;
|
||||||
CompOverlayClientPtr pOverlayClients;
|
CompOverlayClientPtr pOverlayClients;
|
||||||
|
@ -224,6 +219,10 @@ CompositeExtensionInit (void);
|
||||||
* compinit.c
|
* compinit.c
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
Bool
|
||||||
|
CompositeRegisterAlternateVisuals (ScreenPtr pScreen,
|
||||||
|
VisualID *vids, int nVisuals);
|
||||||
|
|
||||||
Bool
|
Bool
|
||||||
compScreenInit (ScreenPtr pScreen);
|
compScreenInit (ScreenPtr pScreen);
|
||||||
|
|
||||||
|
|
|
@ -301,7 +301,7 @@ compIsAlternateVisual (ScreenPtr pScreen,
|
||||||
CompScreenPtr cs = GetCompScreen (pScreen);
|
CompScreenPtr cs = GetCompScreen (pScreen);
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < NUM_COMP_ALTERNATE_VISUALS; i++)
|
for (i = 0; i < cs->numAlternateVisuals; i++)
|
||||||
if (cs->alternateVisuals[i] == visual)
|
if (cs->alternateVisuals[i] == visual)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
21
dix/events.c
21
dix/events.c
|
@ -3214,7 +3214,7 @@ EventSuppressForWindow(register WindowPtr pWin, register ClientPtr client,
|
||||||
{
|
{
|
||||||
register int i, free;
|
register int i, free;
|
||||||
|
|
||||||
if ((mask & ~PropagateMask) && !permitOldBugs)
|
if (mask & ~PropagateMask)
|
||||||
{
|
{
|
||||||
client->errorValue = mask;
|
client->errorValue = mask;
|
||||||
return BadValue;
|
return BadValue;
|
||||||
|
@ -3765,7 +3765,7 @@ ProcGrabPointer(ClientPtr client)
|
||||||
client->errorValue = stuff->ownerEvents;
|
client->errorValue = stuff->ownerEvents;
|
||||||
return BadValue;
|
return BadValue;
|
||||||
}
|
}
|
||||||
if ((stuff->eventMask & ~PointerGrabMask) && !permitOldBugs)
|
if (stuff->eventMask & ~PointerGrabMask)
|
||||||
{
|
{
|
||||||
client->errorValue = stuff->eventMask;
|
client->errorValue = stuff->eventMask;
|
||||||
return BadValue;
|
return BadValue;
|
||||||
|
@ -3851,7 +3851,7 @@ ProcChangeActivePointerGrab(ClientPtr client)
|
||||||
TimeStamp time;
|
TimeStamp time;
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xChangeActivePointerGrabReq);
|
REQUEST_SIZE_MATCH(xChangeActivePointerGrabReq);
|
||||||
if ((stuff->eventMask & ~PointerGrabMask) && !permitOldBugs)
|
if (stuff->eventMask & ~PointerGrabMask)
|
||||||
{
|
{
|
||||||
client->errorValue = stuff->eventMask;
|
client->errorValue = stuff->eventMask;
|
||||||
return BadValue;
|
return BadValue;
|
||||||
|
@ -4152,13 +4152,12 @@ ProcSendEvent(ClientPtr client)
|
||||||
if (stuff->event.u.u.type == ClientMessage &&
|
if (stuff->event.u.u.type == ClientMessage &&
|
||||||
stuff->event.u.u.detail != 8 &&
|
stuff->event.u.u.detail != 8 &&
|
||||||
stuff->event.u.u.detail != 16 &&
|
stuff->event.u.u.detail != 16 &&
|
||||||
stuff->event.u.u.detail != 32 &&
|
stuff->event.u.u.detail != 32)
|
||||||
!permitOldBugs)
|
|
||||||
{
|
{
|
||||||
client->errorValue = stuff->event.u.u.detail;
|
client->errorValue = stuff->event.u.u.detail;
|
||||||
return BadValue;
|
return BadValue;
|
||||||
}
|
}
|
||||||
if ((stuff->eventMask & ~AllEventMasks) && !permitOldBugs)
|
if (stuff->eventMask & ~AllEventMasks)
|
||||||
{
|
{
|
||||||
client->errorValue = stuff->eventMask;
|
client->errorValue = stuff->eventMask;
|
||||||
return BadValue;
|
return BadValue;
|
||||||
|
@ -4375,12 +4374,10 @@ ProcGrabButton(ClientPtr client)
|
||||||
|
|
||||||
|
|
||||||
grab = CreateGrab(client->index, inputInfo.pointer, pWin,
|
grab = CreateGrab(client->index, inputInfo.pointer, pWin,
|
||||||
permitOldBugs ? (Mask)(stuff->eventMask |
|
(Mask)stuff->eventMask, (Bool)stuff->ownerEvents,
|
||||||
ButtonPressMask | ButtonReleaseMask) :
|
(Bool) stuff->keyboardMode, (Bool)stuff->pointerMode,
|
||||||
(Mask)stuff->eventMask,
|
inputInfo.keyboard, stuff->modifiers, ButtonPress,
|
||||||
(Bool)stuff->ownerEvents, (Bool) stuff->keyboardMode,
|
stuff->button, confineTo, cursor);
|
||||||
(Bool)stuff->pointerMode, inputInfo.keyboard, stuff->modifiers,
|
|
||||||
ButtonPress, stuff->button, confineTo, cursor);
|
|
||||||
if (!grab)
|
if (!grab)
|
||||||
return BadAlloc;
|
return BadAlloc;
|
||||||
return AddPassiveGrabToList(grab);
|
return AddPassiveGrabToList(grab);
|
||||||
|
|
|
@ -148,12 +148,6 @@ ClientPtr requestingClient; /* XXX this should be obsolete now, remove? */
|
||||||
_X_EXPORT TimeStamp currentTime;
|
_X_EXPORT TimeStamp currentTime;
|
||||||
_X_EXPORT TimeStamp lastDeviceEventTime;
|
_X_EXPORT TimeStamp lastDeviceEventTime;
|
||||||
|
|
||||||
/*
|
|
||||||
* turn off some error checking, to permit old broken clients (like R2/R3
|
|
||||||
* xterms) to work
|
|
||||||
*/
|
|
||||||
_X_EXPORT Bool permitOldBugs = FALSE;
|
|
||||||
|
|
||||||
_X_EXPORT int defaultColorVisualClass = -1;
|
_X_EXPORT int defaultColorVisualClass = -1;
|
||||||
_X_EXPORT int monitorResolution = 0;
|
_X_EXPORT int monitorResolution = 0;
|
||||||
|
|
||||||
|
|
|
@ -2093,7 +2093,7 @@ WhereDoIGoInTheStack(
|
||||||
else
|
else
|
||||||
return NullWindow;
|
return NullWindow;
|
||||||
case TopIf:
|
case TopIf:
|
||||||
if ((!pWin->mapped || (pSib && !pSib->mapped)) && !permitOldBugs)
|
if ((!pWin->mapped || (pSib && !pSib->mapped)))
|
||||||
return(pWin->nextSib);
|
return(pWin->nextSib);
|
||||||
else if (pSib)
|
else if (pSib)
|
||||||
{
|
{
|
||||||
|
@ -2108,7 +2108,7 @@ WhereDoIGoInTheStack(
|
||||||
else
|
else
|
||||||
return(pWin->nextSib);
|
return(pWin->nextSib);
|
||||||
case BottomIf:
|
case BottomIf:
|
||||||
if ((!pWin->mapped || (pSib && !pSib->mapped)) && !permitOldBugs)
|
if ((!pWin->mapped || (pSib && !pSib->mapped)))
|
||||||
return(pWin->nextSib);
|
return(pWin->nextSib);
|
||||||
else if (pSib)
|
else if (pSib)
|
||||||
{
|
{
|
||||||
|
@ -2123,7 +2123,7 @@ WhereDoIGoInTheStack(
|
||||||
else
|
else
|
||||||
return(pWin->nextSib);
|
return(pWin->nextSib);
|
||||||
case Opposite:
|
case Opposite:
|
||||||
if ((!pWin->mapped || (pSib && !pSib->mapped)) && !permitOldBugs)
|
if ((!pWin->mapped || (pSib && !pSib->mapped)))
|
||||||
return(pWin->nextSib);
|
return(pWin->nextSib);
|
||||||
else if (pSib)
|
else if (pSib)
|
||||||
{
|
{
|
||||||
|
|
|
@ -71,7 +71,6 @@
|
||||||
#define BUILTIN_MONITOR_SECTION \
|
#define BUILTIN_MONITOR_SECTION \
|
||||||
"Section \"Monitor\"\n" \
|
"Section \"Monitor\"\n" \
|
||||||
"\tIdentifier\t" BUILTIN_MONITOR_NAME "\n" \
|
"\tIdentifier\t" BUILTIN_MONITOR_NAME "\n" \
|
||||||
"\tOption\t\"TargetRefresh\"\t\"75.0\"\n" \
|
|
||||||
"EndSection\n\n"
|
"EndSection\n\n"
|
||||||
|
|
||||||
#define BUILTIN_SCREEN_NAME \
|
#define BUILTIN_SCREEN_NAME \
|
||||||
|
|
|
@ -602,6 +602,9 @@ the keymap for a mapping to the
|
||||||
.B Terminate
|
.B Terminate
|
||||||
action and, if found, use XKEYBOARD for processing actions, otherwise
|
action and, if found, use XKEYBOARD for processing actions, otherwise
|
||||||
the builtin handler will be used.
|
the builtin handler will be used.
|
||||||
|
.TP 7
|
||||||
|
.BI "Option \*qAIGLX\*q \*q" boolean \*q
|
||||||
|
enable or disable AIGLX. AIGLX is enabled by default.
|
||||||
.SH MODULE SECTION
|
.SH MODULE SECTION
|
||||||
The
|
The
|
||||||
.B Module
|
.B Module
|
||||||
|
|
|
@ -244,7 +244,6 @@ _X_HIDDEN void *dixLookupTab[] = {
|
||||||
SYMVAR(globalSerialNumber)
|
SYMVAR(globalSerialNumber)
|
||||||
SYMVAR(lastDeviceEventTime)
|
SYMVAR(lastDeviceEventTime)
|
||||||
SYMVAR(monitorResolution)
|
SYMVAR(monitorResolution)
|
||||||
SYMVAR(permitOldBugs)
|
|
||||||
SYMVAR(screenInfo)
|
SYMVAR(screenInfo)
|
||||||
SYMVAR(serverClient)
|
SYMVAR(serverClient)
|
||||||
SYMVAR(serverGeneration)
|
SYMVAR(serverGeneration)
|
||||||
|
|
|
@ -70,7 +70,6 @@ extern int limitStackSpace;
|
||||||
#ifdef RLIMIT_NOFILE
|
#ifdef RLIMIT_NOFILE
|
||||||
extern int limitNoFile;
|
extern int limitNoFile;
|
||||||
#endif
|
#endif
|
||||||
extern Bool permitOldBugs;
|
|
||||||
extern Bool defeatAccessControl;
|
extern Bool defeatAccessControl;
|
||||||
extern long maxBigRequestSize;
|
extern long maxBigRequestSize;
|
||||||
extern Bool blackRoot;
|
extern Bool blackRoot;
|
||||||
|
|
|
@ -580,7 +580,6 @@ void UseMsg(void)
|
||||||
#endif
|
#endif
|
||||||
ErrorF("-audit int set audit trail level\n");
|
ErrorF("-audit int set audit trail level\n");
|
||||||
ErrorF("-auth file select authorization file\n");
|
ErrorF("-auth file select authorization file\n");
|
||||||
ErrorF("bc enable bug compatibility\n");
|
|
||||||
ErrorF("-br create root window with black background\n");
|
ErrorF("-br create root window with black background\n");
|
||||||
ErrorF("+bs enable any backing store support\n");
|
ErrorF("+bs enable any backing store support\n");
|
||||||
ErrorF("-bs disable any backing store support\n");
|
ErrorF("-bs disable any backing store support\n");
|
||||||
|
@ -768,8 +767,6 @@ ProcessCommandLine(int argc, char *argv[])
|
||||||
else
|
else
|
||||||
UseMsg();
|
UseMsg();
|
||||||
}
|
}
|
||||||
else if ( strcmp( argv[i], "bc") == 0)
|
|
||||||
permitOldBugs = TRUE;
|
|
||||||
else if ( strcmp( argv[i], "-br") == 0)
|
else if ( strcmp( argv[i], "-br") == 0)
|
||||||
blackRoot = TRUE;
|
blackRoot = TRUE;
|
||||||
else if ( strcmp( argv[i], "+bs") == 0)
|
else if ( strcmp( argv[i], "+bs") == 0)
|
||||||
|
|
Loading…
Reference in New Issue