Merge branch 'master' into XACE-SELINUX
This commit is contained in:
commit
99b220969f
|
@ -34,6 +34,7 @@ nodist_libswrast_la_SOURCES = s_aaline.c \
|
|||
s_drawpix.c \
|
||||
s_feedback.c \
|
||||
s_fog.c \
|
||||
s_fragprog.c \
|
||||
s_imaging.c \
|
||||
s_lines.c \
|
||||
s_logic.c \
|
||||
|
|
|
@ -678,6 +678,30 @@ CompositeExtensionInit (void)
|
|||
ExtensionEntry *extEntry;
|
||||
int s;
|
||||
|
||||
for (s = 0; s < screenInfo.numScreens; s++) {
|
||||
ScreenPtr pScreen = screenInfo.screens[s];
|
||||
VisualPtr vis;
|
||||
|
||||
/* Composite on 8bpp pseudocolor root windows appears to fail, so
|
||||
* just disable it on anything pseudocolor for safety.
|
||||
*/
|
||||
for (vis = pScreen->visuals; vis->vid != pScreen->rootVisual; vis++)
|
||||
;
|
||||
if ((vis->class | DynamicClass) == PseudoColor)
|
||||
return;
|
||||
|
||||
/* Ensure that Render is initialized, which is required for automatic
|
||||
* compositing.
|
||||
*/
|
||||
if (GetPictureScreenIfSet(pScreen) == NULL)
|
||||
return;
|
||||
}
|
||||
/* Xinerama's rewriting of window drawing before Composite gets to it
|
||||
* breaks Composite.
|
||||
*/
|
||||
if (!noPanoramiXExtension)
|
||||
return;
|
||||
|
||||
CompositeClientWindowType = CreateNewResourceType (FreeCompositeClientWindow);
|
||||
if (!CompositeClientWindowType)
|
||||
return;
|
||||
|
|
|
@ -867,10 +867,6 @@ AC_DEFINE(DAMAGE,1,[Support Damage extension])
|
|||
DAMAGE_LIB='$(top_builddir)/damageext/libdamageext.la'
|
||||
DAMAGE_INC='-I$(top_srcdir)/damageext'
|
||||
MIEXT_DAMAGE_LIB='$(top_builddir)/miext/damage/libdamage.la'
|
||||
dnl damage (may) need the composite wrapper when composite is enabled
|
||||
if test "$COMPOSITE" = yes; then
|
||||
MIEXT_DAMAGE_LIB="$MIEXT_DAMAGE_LIB "'$(top_builddir)/miext/cw/libcw.la'
|
||||
fi
|
||||
MIEXT_DAMAGE_INC='-I$(top_srcdir)/miext/damage'
|
||||
|
||||
AC_DEFINE(XINPUT, 1, [Support X Input extension])
|
||||
|
|
|
@ -668,10 +668,6 @@ exaDriverInit (ScreenPtr pScreen,
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef COMPOSITE
|
||||
miDisableCompositeWrapper(pScreen);
|
||||
#endif
|
||||
|
||||
#ifdef MITSHM
|
||||
/* Re-register with the MI funcs, which don't allow shared pixmaps.
|
||||
* Shared pixmaps are almost always a performance loss for us, but this
|
||||
|
|
|
@ -81,7 +81,7 @@ ddxUseMsg (void)
|
|||
ErrorF("-host-cursor Re-use exisiting X host server cursor\n");
|
||||
ErrorF("-fullscreen Attempt to run Xephyr fullscreen\n");
|
||||
ErrorF("-grayscale Simulate 8bit grayscale\n");
|
||||
ErrorF("-fakexa Simulate acceleration using software rendering\n");
|
||||
ErrorF("-fakexa Simulate acceleration using software rendering\n");
|
||||
ErrorF("\n");
|
||||
|
||||
exit(1);
|
||||
|
|
|
@ -107,6 +107,19 @@ DDCModeFromDetailedTiming(int scrnIndex, struct detailed_timings *timing,
|
|||
{
|
||||
DisplayModePtr Mode;
|
||||
|
||||
/*
|
||||
* Refuse to create modes that are insufficiently large. 64 is a random
|
||||
* number, maybe the spec says something about what the minimum is. In
|
||||
* particular I see this frequently with _old_ EDID, 1.0 or so, so maybe
|
||||
* our parser is just being too aggresive there.
|
||||
*/
|
||||
if (timing->h_active < 64 || timing->v_active < 64) {
|
||||
xf86DrvMsg(scrnIndex, X_INFO,
|
||||
"%s: Ignoring tiny %dx%d mode\n", __func__,
|
||||
timing->h_active, timing->v_active);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* We don't do stereo */
|
||||
if (timing->stereo) {
|
||||
xf86DrvMsg(scrnIndex, X_INFO,
|
||||
|
|
|
@ -208,9 +208,6 @@ _X_HIDDEN void *miLookupTab[] = {
|
|||
#ifdef RENDER
|
||||
SYMFUNC(miGlyphExtents)
|
||||
#endif
|
||||
#ifdef COMPOSITE
|
||||
SYMFUNC(miDisableCompositeWrapper)
|
||||
#endif
|
||||
#ifdef DAMAGE
|
||||
SYMFUNC(DamageDamageRegion)
|
||||
#endif
|
||||
|
|
|
@ -197,6 +197,19 @@ DDCModeFromDetailedTiming(int scrnIndex, struct detailed_timings *timing,
|
|||
{
|
||||
DisplayModePtr Mode;
|
||||
|
||||
/*
|
||||
* Refuse to create modes that are insufficiently large. 64 is a random
|
||||
* number, maybe the spec says something about what the minimum is. In
|
||||
* particular I see this frequently with _old_ EDID, 1.0 or so, so maybe
|
||||
* our parser is just being too aggresive there.
|
||||
*/
|
||||
if (timing->h_active < 64 || timing->v_active < 64) {
|
||||
xf86DrvMsg(scrnIndex, X_INFO,
|
||||
"%s: Ignoring tiny %dx%d mode\n", __func__,
|
||||
timing->h_active, timing->v_active);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* We don't do stereo */
|
||||
if (timing->stereo) {
|
||||
xf86DrvMsg(scrnIndex, X_INFO,
|
||||
|
|
|
@ -9,6 +9,7 @@ MSB_3_FIXED = mf3-xaaBitmap.c mf3-xaaStipple.c
|
|||
POLYSEG = s-xaaLine.c s-xaaDashLine.c
|
||||
|
||||
libxaa_la_LDFLAGS = -avoid-version
|
||||
libxaa_la_LIBADD = $(top_builddir)/miext/cw/libcw.la
|
||||
|
||||
module_LTLIBRARIES = libxaa.la
|
||||
libxaa_la_SOURCES = xaaInit.c xaaGC.c xaaInitAccel.c xaaFallback.c \
|
||||
|
|
|
@ -35,7 +35,7 @@ XAAPolyLinesDashed(
|
|||
#endif
|
||||
){
|
||||
XAAInfoRecPtr infoRec = GET_XAAINFORECPTR_FROM_GC(pGC);
|
||||
XAAGCPtr pGCPriv = (XAAGCPtr) (pGC)->devPrivates[XAAGCIndex].ptr;
|
||||
XAAGCPtr pGCPriv = (XAAGCPtr) (pGC)->devPrivates[XAAGetGCIndex()].ptr;
|
||||
BoxPtr pboxInit = REGION_RECTS(pGC->pCompositeClip);
|
||||
int nboxInit = REGION_NUM_RECTS(pGC->pCompositeClip);
|
||||
unsigned int bias = miGetZeroLineBias(pDrawable->pScreen);
|
||||
|
|
|
@ -38,7 +38,7 @@ Bool
|
|||
XAACreateGC(GCPtr pGC)
|
||||
{
|
||||
ScreenPtr pScreen = pGC->pScreen;
|
||||
XAAGCPtr pGCPriv = (XAAGCPtr)(pGC->devPrivates[XAAGCIndex].ptr);
|
||||
XAAGCPtr pGCPriv = (XAAGCPtr)(pGC->devPrivates[XAAGetGCIndex()].ptr);
|
||||
Bool ret;
|
||||
|
||||
XAA_SCREEN_PROLOGUE(pScreen,CreateGC);
|
||||
|
|
|
@ -305,7 +305,7 @@ XAAValidatePolylines(
|
|||
DrawablePtr pDraw )
|
||||
{
|
||||
XAAInfoRecPtr infoRec = GET_XAAINFORECPTR_FROM_GC(pGC);
|
||||
XAAGCPtr pGCPriv = (XAAGCPtr) (pGC)->devPrivates[XAAGCIndex].ptr;
|
||||
XAAGCPtr pGCPriv = (XAAGCPtr) (pGC)->devPrivates[XAAGetGCIndex()].ptr;
|
||||
|
||||
if(pGC->lineStyle == LineSolid) changes &= ~GCDashList;
|
||||
if(!changes) return;
|
||||
|
|
|
@ -42,14 +42,9 @@ static int XAASetDGAMode(int index, int num, DGADevicePtr devRet);
|
|||
static void XAAEnableDisableFBAccess (int index, Bool enable);
|
||||
static Bool XAAChangeWindowAttributes (WindowPtr pWin, unsigned long mask);
|
||||
|
||||
/*
|
||||
* XXX These three should be static, but that breaks ABI compat with XF4.4
|
||||
* and Xorg 6.7.0 modules. DO NOT use them in new code, you should never
|
||||
* be setting them, and you've got Get functions below.
|
||||
*/
|
||||
int XAAScreenIndex = -1;
|
||||
int XAAGCIndex = -1;
|
||||
int XAAPixmapIndex = -1;
|
||||
static int XAAScreenIndex = -1;
|
||||
static int XAAGCIndex = -1;
|
||||
static int XAAPixmapIndex = -1;
|
||||
|
||||
static unsigned long XAAGeneration = 0;
|
||||
|
||||
|
@ -227,6 +222,14 @@ XAAInit(ScreenPtr pScreen, XAAInfoRecPtr infoRec)
|
|||
if(infoRec->Flags & MICROSOFT_ZERO_LINE_BIAS)
|
||||
miSetZeroLineBias(pScreen, OCTANT1 | OCTANT2 | OCTANT3 | OCTANT4);
|
||||
|
||||
#ifdef COMPOSITE
|
||||
/* Initialize the composite wrapper. This needs to happen after the
|
||||
* wrapping above (so it comes before us), but before all other extensions,
|
||||
* so it doesn't confuse them. (particularly damage).
|
||||
*/
|
||||
miInitializeCompositeWrapper(pScreen);
|
||||
#endif
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
|
@ -64,7 +64,7 @@ void
|
|||
XAAComputeDash(GCPtr pGC)
|
||||
{
|
||||
XAAInfoRecPtr infoRec = GET_XAAINFORECPTR_FROM_GC(pGC);
|
||||
XAAGCPtr pGCPriv = (XAAGCPtr) (pGC)->devPrivates[XAAGCIndex].ptr;
|
||||
XAAGCPtr pGCPriv = (XAAGCPtr) (pGC)->devPrivates[XAAGetGCIndex()].ptr;
|
||||
Bool EvenDash = (pGC->numInDashList & 0x01) ? FALSE : TRUE;
|
||||
int PatternLength = 0;
|
||||
unsigned char* DashPtr = (unsigned char*)pGC->dash;
|
||||
|
|
|
@ -522,7 +522,7 @@ void
|
|||
XAASync(ScreenPtr pScreen)
|
||||
{
|
||||
XAAScreenPtr pScreenPriv =
|
||||
(XAAScreenPtr) pScreen->devPrivates[XAAScreenIndex].ptr;
|
||||
(XAAScreenPtr) pScreen->devPrivates[XAAGetScreenIndex()].ptr;
|
||||
XAAInfoRecPtr infoRec = pScreenPriv->AccelInfoRec;
|
||||
|
||||
if(infoRec->NeedToSync) {
|
||||
|
|
|
@ -1640,9 +1640,6 @@ XAAGetPixelFromRGBA (
|
|||
extern GCOps XAAFallbackOps;
|
||||
extern GCOps *XAAGetFallbackOps(void);
|
||||
extern GCFuncs XAAGCFuncs;
|
||||
extern int XAAScreenIndex; /* XXX DONTUSE */
|
||||
extern int XAAGCIndex; /* XXX DONTUSE */
|
||||
extern int XAAPixmapIndex; /* XXX DONTUSE */
|
||||
extern int XAAGetScreenIndex(void);
|
||||
extern int XAAGetGCIndex(void);
|
||||
extern int XAAGetPixmapIndex(void);
|
||||
|
|
|
@ -50,7 +50,6 @@ int cwWindowIndex;
|
|||
#ifdef RENDER
|
||||
int cwPictureIndex;
|
||||
#endif
|
||||
static Bool cwDisabled[MAXSCREENS];
|
||||
static unsigned long cwGeneration = 0;
|
||||
extern GCOps cwGCOps;
|
||||
|
||||
|
@ -619,9 +618,9 @@ void
|
|||
miInitializeCompositeWrapper(ScreenPtr pScreen)
|
||||
{
|
||||
cwScreenPtr pScreenPriv;
|
||||
|
||||
if (cwDisabled[pScreen->myNum])
|
||||
return;
|
||||
#ifdef RENDER
|
||||
Bool has_render = GetPictureScreenIfSet(pScreen) != NULL;
|
||||
#endif
|
||||
|
||||
if (cwGeneration != serverGeneration)
|
||||
{
|
||||
|
@ -631,7 +630,8 @@ miInitializeCompositeWrapper(ScreenPtr pScreen)
|
|||
cwGCIndex = AllocateGCPrivateIndex();
|
||||
cwWindowIndex = AllocateWindowPrivateIndex();
|
||||
#ifdef RENDER
|
||||
cwPictureIndex = AllocatePicturePrivateIndex();
|
||||
if (has_render)
|
||||
cwPictureIndex = AllocatePicturePrivateIndex();
|
||||
#endif
|
||||
cwGeneration = serverGeneration;
|
||||
}
|
||||
|
@ -640,8 +640,10 @@ miInitializeCompositeWrapper(ScreenPtr pScreen)
|
|||
if (!AllocateWindowPrivate(pScreen, cwWindowIndex, 0))
|
||||
return;
|
||||
#ifdef RENDER
|
||||
if (!AllocatePicturePrivate(pScreen, cwPictureIndex, 0))
|
||||
return;
|
||||
if (has_render) {
|
||||
if (!AllocatePicturePrivate(pScreen, cwPictureIndex, 0))
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
pScreenPriv = (cwScreenPtr)xalloc(sizeof(cwScreenRec));
|
||||
if (!pScreenPriv)
|
||||
|
@ -661,17 +663,11 @@ miInitializeCompositeWrapper(ScreenPtr pScreen)
|
|||
SCREEN_EPILOGUE(pScreen, GetWindowPixmap, cwGetWindowPixmap);
|
||||
|
||||
#ifdef RENDER
|
||||
if (GetPictureScreen (pScreen))
|
||||
if (has_render)
|
||||
cwInitializeRender(pScreen);
|
||||
#endif
|
||||
}
|
||||
|
||||
_X_EXPORT void
|
||||
miDisableCompositeWrapper(ScreenPtr pScreen)
|
||||
{
|
||||
cwDisabled[pScreen->myNum] = TRUE;
|
||||
}
|
||||
|
||||
static Bool
|
||||
cwCloseScreen (int i, ScreenPtr pScreen)
|
||||
{
|
||||
|
|
|
@ -169,7 +169,3 @@ cwFiniRender (ScreenPtr pScreen);
|
|||
|
||||
void
|
||||
miInitializeCompositeWrapper(ScreenPtr pScreen);
|
||||
|
||||
/* Must be called before miInitializeCompositeWrapper */
|
||||
void
|
||||
miDisableCompositeWrapper(ScreenPtr pScreen);
|
||||
|
|
|
@ -1831,16 +1831,6 @@ DamageSetup (ScreenPtr pScreen)
|
|||
if (!pScrPriv)
|
||||
return FALSE;
|
||||
|
||||
#ifdef COMPOSITE
|
||||
/* This is a kludge to ensure wrapping order with the composite wrapper.
|
||||
* If it's done from compinit.c, then DamageSetup may be called before the
|
||||
* extension init phase, so that cw will be higher in the wrapping chain and
|
||||
* rewrite drawables before damage gets to it, causing confusion.
|
||||
*/
|
||||
if (!noCompositeExtension)
|
||||
miInitializeCompositeWrapper (pScreen);
|
||||
#endif
|
||||
|
||||
pScrPriv->internalLevel = 0;
|
||||
pScrPriv->pScreenDamage = 0;
|
||||
|
||||
|
|
|
@ -125,7 +125,7 @@ struct _OsTimerRec {
|
|||
};
|
||||
|
||||
static void DoTimer(OsTimerPtr timer, CARD32 now, OsTimerPtr *prev);
|
||||
static void CheckAllTimers(CARD32 now);
|
||||
static void CheckAllTimers(void);
|
||||
static OsTimerPtr timers = NULL;
|
||||
|
||||
/*****************
|
||||
|
@ -204,7 +204,7 @@ WaitForSomething(int *pClientsReady)
|
|||
timeout = timers->expires - now;
|
||||
if (timeout > 0 && timeout > timers->delta + 250) {
|
||||
/* time has rewound. reset the timers. */
|
||||
CheckAllTimers(now);
|
||||
CheckAllTimers();
|
||||
}
|
||||
|
||||
if (timers) {
|
||||
|
@ -436,11 +436,14 @@ ANYSET(FdMask *src)
|
|||
/* If time has rewound, re-run every affected timer.
|
||||
* Timers might drop out of the list, so we have to restart every time. */
|
||||
static void
|
||||
CheckAllTimers(CARD32 now)
|
||||
CheckAllTimers(void)
|
||||
{
|
||||
OsTimerPtr timer;
|
||||
CARD32 now;
|
||||
|
||||
start:
|
||||
now = GetTimeInMillis();
|
||||
|
||||
for (timer = timers; timer; timer = timer->next) {
|
||||
if (timer->expires - now > timer->delta + 250) {
|
||||
TimerForce(timer);
|
||||
|
|
|
@ -136,10 +136,7 @@ _X_EXPORT Bool noTestExtensions;
|
|||
_X_EXPORT Bool noBigReqExtension = FALSE;
|
||||
#endif
|
||||
#ifdef COMPOSITE
|
||||
/* COMPOSITE is disabled by default for now until the
|
||||
* interface is stable */
|
||||
#define COMPOSITE_DEFAULT FALSE
|
||||
_X_EXPORT Bool noCompositeExtension = !COMPOSITE_DEFAULT;
|
||||
_X_EXPORT Bool noCompositeExtension = FALSE;
|
||||
#endif
|
||||
|
||||
#ifdef DAMAGE
|
||||
|
|
Loading…
Reference in New Issue