rebase to 1.12.99.905 snapshot

This commit is contained in:
Dave Airlie 2012-08-22 09:08:00 +10:00
parent 50633b0110
commit 3f449eb72c
5 changed files with 10 additions and 180 deletions

1
.gitignore vendored
View File

@ -18,3 +18,4 @@ xorg-server-1.9.1.tar.bz2
/xorg-server-20120717.tar.xz
/xorg-server-20120726.tar.xz
/xorg-server-20120808.tar.xz
/xorg-server-20120822.tar.xz

View File

@ -1 +1 @@
c22c936b35cee60609041ccb7ee52c00b0634d7b
6619f5c0e1086b57888ff7146e8ed5897b50d440

View File

@ -1 +1,2 @@
c6b0c5843a14b4d1ee967050a665ef64 xorg-server-20120808.tar.xz
ff68cba6b6e5aba97a0a1b1e196dff47 xorg-server-20120822.tar.xz

View File

@ -9,7 +9,7 @@
# check out the master branch, pull, cherry-pick, and push. FIXME describe
# rebasing, add convenience 'make' targets maybe.
%global gitdate 20120808
%global gitdate 20120822
%global stable_abi 1
%if !0%{?gitdate} || %{stable_abi}
@ -21,7 +21,7 @@
%global videodrv_minor 0
%global xinput_major 18
%global xinput_minor 0
%global extension_major 6
%global extension_major 7
%global extension_minor 0
%endif
@ -42,8 +42,8 @@
Summary: X.Org X11 X server
Name: xorg-x11-server
Version: 1.12.99.904
Release: 4%{?gitdate:.%{gitdate}}%{dist}
Version: 1.12.99.905
Release: 1%{?gitdate:.%{gitdate}}%{dist}
URL: http://www.x.org
License: MIT
Group: User Interface/X
@ -100,8 +100,6 @@ Patch7023: 0002-linux-Make-failure-to-iopl-non-fatal.patch
Patch7024: 0003-xfree86-Change-the-semantics-of-driverFunc-GET_REQUI.patch
Patch7025: 0001-Always-install-vbe-and-int10-sdk-headers.patch
Patch7026: xserver-1.12.99-git.patch
# do not upstream - do not even use here yet
# Patch7027: xserver-autobind-hotplug.patch
@ -577,6 +575,9 @@ rm -rf $RPM_BUILD_ROOT
%{xserver_source_dir}
%changelog
* Wed Aug 22 2012 Dave Airlie <airlied@redhat.com> 1.12.99.905-1
- rebase to 1.12.99.905 snapshot
* Fri Aug 17 2012 Dave Airlie <airlied@redhat.com> 1.12.99.904-4
- autobind was horribly broken on unplug - drop it like its hotplug.

View File

@ -1,173 +0,0 @@
From 2a0d4bdf11ef7d0dbc44ec517eb7e225dffcacdb Mon Sep 17 00:00:00 2001
From: Fedora X Ninjas <x@fedoraproject.org>
Date: Fri, 17 Aug 2012 09:53:13 +1000
Subject: [PATCH] xserver: bunch of fixes from git
---
dix/main.c | 18 +++++++++---------
fb/fbseg.c | 18 +++++++++---------
glx/glxscreens.c | 3 +++
hw/xfree86/modes/xf86Crtc.c | 11 +++++++----
hw/xquartz/quartz.c | 1 +
render/filter.c | 5 ++++-
6 files changed, 33 insertions(+), 23 deletions(-)
diff --git a/dix/main.c b/dix/main.c
index 42f517d..fb935c9 100644
--- a/dix/main.c
+++ b/dix/main.c
@@ -331,6 +331,15 @@ main(int argc, char *argv[], char *envp[])
CloseDownEvents();
+ for (i = screenInfo.numGPUScreens - 1; i >= 0; i--) {
+ ScreenPtr pScreen = screenInfo.gpuscreens[i];
+ FreeScratchPixmapsForScreen(pScreen);
+ (*pScreen->CloseScreen) (pScreen);
+ dixFreePrivates(pScreen->devPrivates, PRIVATE_SCREEN);
+ free(pScreen);
+ screenInfo.numGPUScreens = i;
+ }
+
for (i = screenInfo.numScreens - 1; i >= 0; i--) {
FreeScratchPixmapsForScreen(screenInfo.screens[i]);
FreeGCperDepth(i);
@@ -342,15 +351,6 @@ main(int argc, char *argv[], char *envp[])
screenInfo.numScreens = i;
}
- for (i = screenInfo.numGPUScreens - 1; i >= 0; i--) {
- ScreenPtr pScreen = screenInfo.gpuscreens[i];
- FreeScratchPixmapsForScreen(pScreen);
- (*pScreen->CloseScreen) (pScreen);
- dixFreePrivates(pScreen->devPrivates, PRIVATE_SCREEN);
- free(pScreen);
- screenInfo.numGPUScreens = i;
- }
-
ReleaseClientIds(serverClient);
dixFreePrivates(serverClient->devPrivates, PRIVATE_CLIENT);
serverClient->devPrivates = NULL;
diff --git a/fb/fbseg.c b/fb/fbseg.c
index 0e4e0a9..1848387 100644
--- a/fb/fbseg.c
+++ b/fb/fbseg.c
@@ -65,6 +65,12 @@ fbBresSolid(DrawablePtr pDrawable,
if (axis == X_AXIS) {
bits = 0;
while (len--) {
+ if (e >= 0) {
+ WRITE(dst, FbDoMaskRRop (READ(dst), and, xor, bits));
+ bits = 0;
+ dst += dstStride;
+ e += e3;
+ }
bits |= mask;
mask = fbBresShiftMask(mask, signdx, dstBpp);
if (!mask) {
@@ -74,21 +80,12 @@ fbBresSolid(DrawablePtr pDrawable,
mask = mask0;
}
e += e1;
- if (e >= 0) {
- WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, bits));
- bits = 0;
- dst += dstStride;
- e += e3;
- }
}
if (bits)
WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, bits));
}
else {
while (len--) {
- WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, mask));
- dst += dstStride;
- e += e1;
if (e >= 0) {
e += e3;
mask = fbBresShiftMask(mask, signdx, dstBpp);
@@ -97,6 +94,9 @@ fbBresSolid(DrawablePtr pDrawable,
mask = mask0;
}
}
+ WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, mask));
+ dst += dstStride;
+ e += e1;
}
}
diff --git a/glx/glxscreens.c b/glx/glxscreens.c
index 037b037..61d590c 100644
--- a/glx/glxscreens.c
+++ b/glx/glxscreens.c
@@ -288,6 +288,9 @@ pickFBConfig(__GLXscreen * pGlxScreen, VisualPtr visual)
continue;
if (config->visualRating != GLX_NONE)
continue;
+ /* Ignore multisampled configs */
+ if (config->sampleBuffers)
+ continue;
if (glxConvertToXVisualType(config->visualType) != visual->class)
continue;
/* If it's the 32-bit RGBA visual, demand a 32-bit fbconfig. */
diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index c58088d..964465e 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -726,6 +726,12 @@ xf86CrtcCloseScreen(ScreenPtr screen)
xf86RotateCloseScreen(screen);
+ xf86RandR12CloseScreen(screen);
+
+ free(config->name);
+
+ screen->CloseScreen(screen);
+
for (o = 0; o < config->num_output; o++) {
xf86OutputPtr output = config->output[o];
@@ -749,10 +755,7 @@ xf86CrtcCloseScreen(ScreenPtr screen)
else if (screen->current_master)
DetachUnboundGPU(screen);
}
- xf86RandR12CloseScreen(screen);
-
- free(config->name);
- return screen->CloseScreen(screen);
+ return TRUE;
}
/*
diff --git a/hw/xquartz/quartz.c b/hw/xquartz/quartz.c
index d74fc64..31b0e61 100644
--- a/hw/xquartz/quartz.c
+++ b/hw/xquartz/quartz.c
@@ -43,6 +43,7 @@
#include "darwinEvents.h"
#include "pseudoramiX.h"
#include "extension.h"
+#include "glx_extinit.h"
#define _APPLEWM_SERVER_
#include "applewmExt.h"
diff --git a/render/filter.c b/render/filter.c
index 8c401ee..019ea7f 100644
--- a/render/filter.c
+++ b/render/filter.c
@@ -273,7 +273,10 @@ PictureResetFilters(ScreenPtr pScreen)
free(ps->filters);
free(ps->filterAliases);
- PictureFreeFilterIds();
+
+ /* Free the filters when the last screen is closed */
+ if (pScreen->myNum == 0)
+ PictureFreeFilterIds();
}
int
--
1.7.11.2