diff --git a/xorg-x11-server-1.1.1-offscreen-pixmaps.patch b/xorg-x11-server-1.1.1-offscreen-pixmaps.patch index 39a3fdc..e8bdbb9 100644 --- a/xorg-x11-server-1.1.1-offscreen-pixmaps.patch +++ b/xorg-x11-server-1.1.1-offscreen-pixmaps.patch @@ -1,17 +1,60 @@ -Patch to force pixmaps to be allocated in host memory. Work in -progress, will eventually allow the xserver to keep pixmaps in video -memory until the root window is redirected. At that point pixmaps are -evicted to host memory and subsequent pixmap allocations are done in -host memory. - ---- ./hw/xfree86/xaa/xaaInitAccel.c.no-offscreen-pixmaps 2006-08-07 14:21:11.000000000 -0400 -+++ ./hw/xfree86/xaa/xaaInitAccel.c 2006-08-07 14:20:44.000000000 -0400 -@@ -92,7 +92,7 @@ - {XAAOPT_PIXMAP_CACHE, "XaaNoPixmapCache", - OPTV_BOOLEAN, {0}, FALSE }, - {XAAOPT_OFFSCREEN_PIXMAPS, "XaaNoOffscreenPixmaps", -- OPTV_BOOLEAN, {0}, FALSE }, -+ OPTV_BOOLEAN, {0}, TRUE }, - { -1, NULL, - OPTV_NONE, {0}, FALSE } - }; +--- ./hw/xfree86/xaa/xaaInit.c.offscreen-pixmaps 2006-07-05 14:31:42.000000000 -0400 ++++ ./hw/xfree86/xaa/xaaInit.c 2006-08-07 18:44:21.000000000 -0400 +@@ -98,6 +98,34 @@ + xfree(infoRec); + } + ++static void ++SelectionChangedCallback (CallbackListPtr *list, ++ pointer xaaData, pointer callData) ++{ ++ static Atom atom = BAD_RESOURCE; ++ static char atom_name[] = "_COMPIZ_GL_INCLUDE_INFERIORS"; ++ ++ SelectionInfoPtr info = call_data; ++ XAAInfoRecPtr infoRec = xaa_data; ++ ++ if (atom == BAD_RESOURCE) ++ { ++ atom = MakeAtom(atom_name, strlen(atom_name), True); ++ if (atom == BAD_RESOURCE) ++ return; ++ } ++ ++ if (info->selection->selection == atom && ++ info->kind == SelectionSetOwner && ++ info->selection->window != None) ++ { ++ infoRec->offscreenDepths = 0; ++ infoRec->Flags &= ~OFFSCREEN_PIXMAPS; ++ ++ XAAMoveOutOffscreenPixmaps(pScreen); ++ XAAInvalidatePixmapCache(pScreen); ++ } ++} + + Bool + XAAInit(ScreenPtr pScreen, XAAInfoRecPtr infoRec) +@@ -228,11 +256,11 @@ + if(infoRec->Flags & MICROSOFT_ZERO_LINE_BIAS) + miSetZeroLineBias(pScreen, OCTANT1 | OCTANT2 | OCTANT3 | OCTANT4); + ++ AddCallback(&SelectionCallback, SelectionChangedCallback, infoRec); ++ + return TRUE; + } + +- +- + static Bool + XAACloseScreen (int i, ScreenPtr pScreen) + { +@@ -264,6 +292,8 @@ + + xfree ((pointer) pScreenPriv); + ++ DeleteCallback(&SelectionCallback, SelectionChangedCallback, infoRec); ++ + return (*pScreen->CloseScreen) (i, pScreen); + } + diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 049ee70..7eff580 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -7,8 +7,8 @@ Version: 1.1.1 # For rawhide builds, bump the number /before/ the dist tag. For package # upgrades to officially released distribution releases, if the package # Version field above is not changing, append and/or bump a digit /after/ -# the dist tag. ie: 25%{dist}.0 -> 25%{dist}.1 ... -Release: 17.fc5.aiglx +# the dist tag. ie: 25%{?dist}.0 -> 25%{?dist}.1 ... +Release: 18%{?dist} URL: http://www.x.org License: MIT/X11 Group: User Interface/X @@ -32,7 +32,6 @@ Patch103: xorg-x11-server-1.1.0-tfp-damage.patch Patch104: xorg-x11-server-1.1.0-mesa-copy-sub-buffer.patch Patch105: xorg-x11-server-1.1.1-enable-composite.patch Patch106: xorg-x11-server-1.1.1-no-composite-in-xnest.patch -# Work-in-progress; for now just defaults XaaNoOffscreenPixmaps to false. Patch107: xorg-x11-server-1.1.1-offscreen-pixmaps.patch # Red Hat specific tweaking, not intended for upstream @@ -331,7 +330,7 @@ drivers, input drivers, or other X modules should install this package. %patch104 -p0 -b .mesa-copy-sub-buffer %patch105 -p0 -b .enable-composite %patch106 -p1 -b .no-xnest-composite -%patch107 -p0 -b .offscreen-pixmaps +%patch107 -p1 -b .offscreen-pixmaps %patch1000 -p0 -b .redhat-die-ugly-pattern-die-die-die %patch1001 -p1 -b .Red-Hat-extramodes @@ -681,6 +680,10 @@ rm -rf $RPM_BUILD_ROOT # ------------------------------------------------------------------- %changelog +* Tue Aug 8 2006 Kristian Høgsberg - 1.1.1-18.fc6 +- Update offscreen-pixmaps patch to migrate pixmaps when the compiz + selection is taken. + * Mon Aug 7 2006 Kristian Høgsberg - 1.1.1-17.fc5.aiglx - Build for fc5 aiglx repo.