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 | ||||
|  |  | |||
|  | @ -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,6 +630,7 @@ miInitializeCompositeWrapper(ScreenPtr pScreen) | |||
| 	cwGCIndex = AllocateGCPrivateIndex(); | ||||
| 	cwWindowIndex = AllocateWindowPrivateIndex(); | ||||
| #ifdef RENDER | ||||
| 	if (has_render) | ||||
| 	    cwPictureIndex = AllocatePicturePrivateIndex(); | ||||
| #endif | ||||
| 	cwGeneration = serverGeneration; | ||||
|  | @ -640,8 +640,10 @@ miInitializeCompositeWrapper(ScreenPtr pScreen) | |||
|     if (!AllocateWindowPrivate(pScreen, cwWindowIndex, 0)) | ||||
| 	return; | ||||
| #ifdef RENDER | ||||
|     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