* Mon Aug 13 2007 Dave Airlie <airlied@redhat.com> 1.3.0.0-18

- xserver-1.3.0-mesa7.patch: Add support for building against mesa 7.0.1
  along with DRI zero-copy TFP hopefully
- xserver-1.3.0-exaupgrade.patch: Add updated EXA support
- dropped xserver-1.2.99.901-xephyr-crash-at-exit.patch - upstream
- rebase xorg-x11-server-1.1.1-offscreen-pixmaps.patch to xserver-1.3.0-newglx-offscreen-pixmaps.patch
- dropped xorg-x11-server-1.1.1-glcore-visual-matching.patch - fixed upstream
This commit is contained in:
Dave Airlie 2007-08-14 06:16:44 +00:00
parent 1fa0041869
commit 5d4276c96a
7 changed files with 9893 additions and 118 deletions

View File

@ -1,29 +0,0 @@
--- xorg-server-1.1.1/GL/mesa/X/xf86glx.c.glcore-visual 2006-07-05 14:31:36.000000000 -0400
+++ xorg-server-1.1.1/GL/mesa/X/xf86glx.c 2006-12-11 12:14:30.000000000 -0500
@@ -311,17 +311,22 @@
{
__GLXMESAscreen *mesaScreen = (__GLXMESAscreen *) screen;
const __GLcontextModes *modes;
- unsigned i = 0;
+ XMesaVisual *xmv;
for ( modes = screen->modes ; modes != NULL ; modes = modes->next ) {
if ( modes->visualID == vid ) {
break;
}
-
- i++;
}
- return (modes != NULL) ? mesaScreen->xm_vis[i] : NULL;
+ if (!modes)
+ return NULL;
+
+ for (xmv = mesaScreen->xm_vis; xmv; xmv++)
+ if ((*xmv)->mesa_visual.visualID == vid)
+ return *xmv;
+
+ return NULL;
}
static void init_screen_visuals(__GLXMESAscreen *screen)

View File

@ -1,58 +0,0 @@
--- xorg-server-1.3.0.0/GL/glx/glxdri.c.offscreen-pixmaps 2007-04-09 15:59:09.000000000 -0400
+++ xorg-server-1.3.0.0/GL/glx/glxdri.c 2007-05-07 11:35:04.000000000 -0400
@@ -327,6 +327,22 @@
int bpp;
GLenum target, format, type;
+ /* When the GLX_EXT_texture_from_pixmap is used, as it's
+ * implemented here, we want to pull pixmap out of video memory
+ * and into host memory. */
+ {
+ extern void XAAEvictPixmaps(void);
+ static int evictedPixmaps = 0;
+
+ if (!evictedPixmaps) {
+ __glXDRIenterServer();
+ if (dlsym(RTLD_DEFAULT, "XAAEvictPixmaps"))
+ XAAEvictPixmaps();
+ __glXDRIleaveServer();
+ evictedPixmaps = TRUE;
+ }
+ }
+
pixmap = (PixmapPtr) glxPixmap->pDraw;
if (!glxPixmap->pDamage) {
glxPixmap->pDamage = DamageCreate(NULL, NULL, DamageReportNone,
--- xorg-server-1.3.0.0/hw/xfree86/xaa/xaaInit.c.offscreen-pixmaps 2006-09-18 02:04:18.000000000 -0400
+++ xorg-server-1.3.0.0/hw/xfree86/xaa/xaaInit.c 2007-05-07 11:25:56.000000000 -0400
@@ -97,6 +97,30 @@
xfree(infoRec);
}
+void
+XAAEvictPixmaps(void)
+{
+ XAAScreenPtr pScreenPriv;
+ XAAInfoRecPtr infoRec;
+ ScreenPtr pScreen;
+ int i;
+
+ xf86MsgVerb(X_INFO, 3, "XAA: Evicting pixmaps\n");
+
+ for (i = 0; i < screenInfo.numScreens; i++) {
+ pScreen = screenInfo.screens[i];
+ infoRec = GET_XAAINFORECPTR_FROM_SCREEN(pScreen);
+
+ pScreenPriv = pScreen->devPrivates[XAAScreenIndex].ptr;
+ infoRec = pScreenPriv->AccelInfoRec;
+
+ infoRec->offscreenDepths = 0;
+ infoRec->Flags &= ~OFFSCREEN_PIXMAPS;
+
+ XAAMoveOutOffscreenPixmaps(pScreen);
+ XAAInvalidatePixmapCache(pScreen);
+ }
+}
Bool
XAAInit(ScreenPtr pScreen, XAAInfoRecPtr infoRec)

View File

@ -9,7 +9,7 @@
Summary: X.Org X11 X server Summary: X.Org X11 X server
Name: xorg-x11-server Name: xorg-x11-server
Version: 1.3.0.0 Version: 1.3.0.0
Release: 17%{?dist} Release: 18%{?dist}
URL: http://www.x.org URL: http://www.x.org
License: MIT/X11 License: MIT/X11
Group: User Interface/X Group: User Interface/X
@ -27,7 +27,6 @@ Patch10: xorg-x11-server-1.1.1-vbe-filter-less.patch
Patch11: xorg-x11-server-1.1.1-vt-activate-is-a-terrible-api.patch Patch11: xorg-x11-server-1.1.1-vt-activate-is-a-terrible-api.patch
Patch12: xorg-x11-server-1.1.1-graphics-expose.patch Patch12: xorg-x11-server-1.1.1-graphics-expose.patch
Patch15: xorg-x11-server-1.1.1-automake-1.10-fixes.patch Patch15: xorg-x11-server-1.1.1-automake-1.10-fixes.patch
Patch18: xorg-x11-server-1.1.1-glcore-visual-matching.patch
Patch19: xserver-1.3.0-xnest-exposures.patch Patch19: xserver-1.3.0-xnest-exposures.patch
Patch20: xserver-1.3.0-x86emu-imul-int64.patch Patch20: xserver-1.3.0-x86emu-imul-int64.patch
Patch21: xserver-1.3.0-xkb-and-loathing.patch Patch21: xserver-1.3.0-xkb-and-loathing.patch
@ -40,7 +39,6 @@ Patch100: xorg-x11-server-1.1.0-no-move-damage.patch
Patch101: xorg-x11-server-1.1.0-dont-backfill-bg-none.patch Patch101: xorg-x11-server-1.1.0-dont-backfill-bg-none.patch
Patch105: xorg-x11-server-1.2.0-enable-composite.patch Patch105: xorg-x11-server-1.2.0-enable-composite.patch
Patch106: xorg-x11-server-1.1.1-no-composite-in-xnest.patch Patch106: xorg-x11-server-1.1.1-no-composite-in-xnest.patch
Patch107: xorg-x11-server-1.1.1-offscreen-pixmaps.patch
Patch108: xserver-1.3.0-no-pseudocolor-composite.patch Patch108: xserver-1.3.0-no-pseudocolor-composite.patch
# Red Hat specific tweaking, not intended for upstream # Red Hat specific tweaking, not intended for upstream
@ -56,13 +54,15 @@ Patch1008: xorg-x11-server-1.2.0-xf86config-comment-less.patch
Patch1009: xorg-x11-server-1.2.0-maxpixclock-option.patch Patch1009: xorg-x11-server-1.2.0-maxpixclock-option.patch
Patch1010: xserver-1.3.0-no-prerelease-warning.patch Patch1010: xserver-1.3.0-no-prerelease-warning.patch
Patch1011: xserver-1.3.0-composite-version.patch Patch1011: xserver-1.3.0-composite-version.patch
Patch1012: xserver-1.3.0-mesa7.patch
Patch1013: xserver-1.3.0-exaupgrade.patch
Patch1014: xserver-1.3.0-newglx-offscreen-pixmaps.patch
Patch1022: xserver-1.3.0-default-dpi.patch Patch1022: xserver-1.3.0-default-dpi.patch
Patch2001: xserver-1.2.0-geode-mmx.patch Patch2001: xserver-1.2.0-geode-mmx.patch
Patch2002: xserver-1.2.0-xephyr-keysym-madness.patch Patch2002: xserver-1.2.0-xephyr-keysym-madness.patch
Patch2003: xserver-1.2.0-vfprintf.patch Patch2003: xserver-1.2.0-vfprintf.patch
Patch2004: xserver-1.2.0-honor-displaysize.patch Patch2004: xserver-1.2.0-honor-displaysize.patch
Patch2005: xserver-1.2.99.901-xephyr-crash-at-exit.patch
Patch2006: xserver-1.3.0-less-randr-fakerama.patch Patch2006: xserver-1.3.0-less-randr-fakerama.patch
Patch2007: xserver-1.3.0-randr12-config-hack.patch Patch2007: xserver-1.3.0-randr12-config-hack.patch
Patch2008: xserver-1.3.0-randrama-no-zero-screens.patch Patch2008: xserver-1.3.0-randrama-no-zero-screens.patch
@ -141,8 +141,8 @@ BuildRequires: libXpm-devel
BuildRequires: libXaw-devel BuildRequires: libXaw-devel
BuildRequires: libXfixes-devel BuildRequires: libXfixes-devel
BuildRequires: mesa-libGL-devel >= 6.5.2 BuildRequires: mesa-libGL-devel >= 7.0.1
BuildRequires: mesa-source >= 6.5.2 BuildRequires: mesa-source >= 7.0.1
# XXX silly... # XXX silly...
BuildRequires: libdrm-devel >= 2.3.0 BuildRequires: libdrm-devel >= 2.3.0
%if %{with_hw_servers} %if %{with_hw_servers}
@ -289,7 +289,6 @@ Xserver source code needed to build VNC server (Xvnc)
%patch11 -p1 -b .vt-activate %patch11 -p1 -b .vt-activate
%patch12 -p1 -b .graphics-expose %patch12 -p1 -b .graphics-expose
%patch15 -p1 -b .automake-1.10 %patch15 -p1 -b .automake-1.10
%patch18 -p1 -b .glcore-visual
%patch19 -p1 -b .xnest-expose %patch19 -p1 -b .xnest-expose
%patch20 -p1 -b .x86emu-imul %patch20 -p1 -b .x86emu-imul
%patch21 -p1 -b .xkb-signal-loathing %patch21 -p1 -b .xkb-signal-loathing
@ -301,7 +300,6 @@ Xserver source code needed to build VNC server (Xvnc)
%patch101 -p0 -b .dont-backfill-bg-none %patch101 -p0 -b .dont-backfill-bg-none
%patch105 -p1 -b .enable-composite %patch105 -p1 -b .enable-composite
%patch106 -p1 -b .no-xnest-composite %patch106 -p1 -b .no-xnest-composite
%patch107 -p1 -b .offscreen-pixmaps
%patch108 -p1 -b .composite-paranoia %patch108 -p1 -b .composite-paranoia
%patch1001 -p1 -b .Red-Hat-extramodes %patch1001 -p1 -b .Red-Hat-extramodes
@ -315,13 +313,15 @@ Xserver source code needed to build VNC server (Xvnc)
%patch1009 -p1 -b .maxpixclock %patch1009 -p1 -b .maxpixclock
%patch1010 -p1 -b .prerelease-warning %patch1010 -p1 -b .prerelease-warning
%patch1011 -p1 -b .composite-version %patch1011 -p1 -b .composite-version
%patch1012 -p1 -b .newmesa
%patch1013 -p1 -b .newexa
%patch1014 -p1 -b .offscreen-pixmaps
%patch1022 -p1 -b .dpi %patch1022 -p1 -b .dpi
%patch2001 -p1 -b .geode-mmx %patch2001 -p1 -b .geode-mmx
%patch2002 -p1 -b .xephyr-keysym %patch2002 -p1 -b .xephyr-keysym
%patch2003 -p1 -b .vfprintf %patch2003 -p1 -b .vfprintf
%patch2004 -p1 -b .displaysize %patch2004 -p1 -b .displaysize
%patch2005 -p1 -b .xephyr-crash
%patch2006 -p1 -b .fakerama %patch2006 -p1 -b .fakerama
%patch2007 -p1 -b .randrconfig %patch2007 -p1 -b .randrconfig
%patch2008 -p1 -b .randrama-zero-screens %patch2008 -p1 -b .randrama-zero-screens
@ -604,6 +604,14 @@ rm -rf $RPM_BUILD_ROOT
%changelog %changelog
* Mon Aug 13 2007 Dave Airlie <airlied@redhat.com> 1.3.0.0-18
- xserver-1.3.0-mesa7.patch: Add support for building against mesa 7.0.1
along with DRI zero-copy TFP hopefully
- xserver-1.3.0-exaupgrade.patch: Add updated EXA support
- dropped xserver-1.2.99.901-xephyr-crash-at-exit.patch - upstream
- rebase xorg-x11-server-1.1.1-offscreen-pixmaps.patch to xserver-1.3.0-newglx-offscreen-pixmaps.patch
- dropped xorg-x11-server-1.1.1-glcore-visual-matching.patch - fixed upstream
* Thu Aug 09 2007 Adam Jackson <ajax@redhat.com> 1.3.0.0-17 * Thu Aug 09 2007 Adam Jackson <ajax@redhat.com> 1.3.0.0-17
- xserver-1.3.0-default-dpi.patch: Switch default DPI to 100, on the - xserver-1.3.0-default-dpi.patch: Switch default DPI to 100, on the
principle that 75 is almost never right and 100 is much more likely. principle that 75 is almost never right and 100 is much more likely.

View File

@ -1,22 +0,0 @@
--- xorg-server-1.2.99.901/GL/mesa/X/xf86glx.c.jx 2007-03-07 14:15:25.000000000 -0500
+++ xorg-server-1.2.99.901/GL/mesa/X/xf86glx.c 2007-03-13 14:27:38.000000000 -0400
@@ -281,12 +281,14 @@
__GLXMESAscreen *mesaScreen = (__GLXMESAscreen *) screen;
int i;
- for (i = 0; i < mesaScreen->num_vis; i++) {
- if (mesaScreen->xm_vis[i])
- XMesaDestroyVisual(mesaScreen->xm_vis[i]);
- }
+ if (mesaScreen->xm_vis) {
+ for (i = 0; i < mesaScreen->num_vis; i++) {
+ if (mesaScreen->xm_vis[i])
+ XMesaDestroyVisual(mesaScreen->xm_vis[i]);
+ }
- xfree(mesaScreen->xm_vis);
+ xfree(mesaScreen->xm_vis);
+ }
__glXScreenDestroy(screen);

File diff suppressed because it is too large Load Diff

8203
xserver-1.3.0-mesa7.patch Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,60 @@
diff -up xorg-server-1.3.0.0/hw/xfree86/xaa/xaaInit.c.offscreen-pixmaps xorg-server-1.3.0.0/hw/xfree86/xaa/xaaInit.c
--- xorg-server-1.3.0.0/hw/xfree86/xaa/xaaInit.c.offscreen-pixmaps 2007-08-13 10:27:45.000000000 +1000
+++ xorg-server-1.3.0.0/hw/xfree86/xaa/xaaInit.c 2007-08-13 10:28:35.000000000 +1000
@@ -97,6 +97,30 @@ XAADestroyInfoRec(XAAInfoRecPtr infoRec)
xfree(infoRec);
}
+void
+XAAEvictPixmaps(void)
+{
+ XAAScreenPtr pScreenPriv;
+ XAAInfoRecPtr infoRec;
+ ScreenPtr pScreen;
+ int i;
+
+ xf86MsgVerb(X_INFO, 3, "XAA: Evicting pixmaps\n");
+
+ for (i = 0; i < screenInfo.numScreens; i++) {
+ pScreen = screenInfo.screens[i];
+ infoRec = GET_XAAINFORECPTR_FROM_SCREEN(pScreen);
+
+ pScreenPriv = pScreen->devPrivates[XAAScreenIndex].ptr;
+ infoRec = pScreenPriv->AccelInfoRec;
+
+ infoRec->offscreenDepths = 0;
+ infoRec->Flags &= ~OFFSCREEN_PIXMAPS;
+
+ XAAMoveOutOffscreenPixmaps(pScreen);
+ XAAInvalidatePixmapCache(pScreen);
+ }
+}
Bool
XAAInit(ScreenPtr pScreen, XAAInfoRecPtr infoRec)
diff -up xorg-server-1.3.0.0/GL/glx/glxdri.c.offscreen-pixmaps xorg-server-1.3.0.0/GL/glx/glxdri.c
--- xorg-server-1.3.0.0/GL/glx/glxdri.c.offscreen-pixmaps 2007-08-13 10:23:52.000000000 +1000
+++ xorg-server-1.3.0.0/GL/glx/glxdri.c 2007-08-13 10:26:08.000000000 +1000
@@ -380,6 +380,22 @@ __glXDRIbindTexImage(__GLXcontext *baseC
__GLXDRIscreen * const screen =
(__GLXDRIscreen *) __glXgetActiveScreen(pScreen->myNum);
+ if (!screen->driScreen.setTexOffset) {
+ /* When the GLX_EXT_texture_from_pixmap is used, as it's
+ * implemented here, we want to pull pixmap out of video memory
+ * and into host memory. */
+ extern void XAAEvictPixmaps(void);
+ static int evictedPixmaps = 0;
+
+ if (!evictedPixmaps) {
+ __glXDRIenterServer(GL_FALSE);
+ if (dlsym(RTLD_DEFAULT, "XAAEvictPixmaps"))
+ XAAEvictPixmaps();
+ __glXDRIleaveServer(GL_FALSE);
+ evictedPixmaps = TRUE;
+ }
+ }
+
pixmap = (PixmapPtr) glxPixmap->pDraw;
if (screen->texOffsetStart && screen->driScreen.setTexOffset) {