diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index d00c801..3c9fe3d 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -20,7 +20,7 @@ Summary: X.Org X11 X server Name: xorg-x11-server Version: 1.4.99.901 -Release: 22.%{gitdate}%{?dist} +Release: 23.%{gitdate}%{?dist} URL: http://www.x.org License: MIT Group: User Interface/X @@ -52,17 +52,18 @@ Patch1014: xserver-1.4.99-xaa-evict-pixmaps.patch Patch2013: xserver-1.4.99-document-fontpath-correctly.patch # Trivial things to maybe merge upstream at next rebase +Patch3000: xserver-1.5.0-stenciled-visuals.patch # Trivial things to never merge upstream ever # Don't merge this without protecting the gccisms. -Patch5001: xserver-1.4.99-alloca-poison.patch +Patch5001: xserver-1.4.99-alloca-poison.patch # This really could be done prettier. -Patch5002: xserver-1.4.99-ssh-isnt-local.patch +Patch5002: xserver-1.4.99-ssh-isnt-local.patch -Patch5007: xserver-1.5.0-bad-fbdev-thats-mine.patch -Patch5008: xserver-1.5.0-xaa-sucks.patch -Patch5009: xserver-1.5.0-no-evdev-keyboards-kthnx.patch -Patch5010: xserver-1.5.0-selinux-off-by-default.patch +Patch5007: xserver-1.5.0-bad-fbdev-thats-mine.patch +Patch5008: xserver-1.5.0-xaa-sucks.patch +Patch5009: xserver-1.5.0-no-evdev-keyboards-kthnx.patch +Patch5010: xserver-1.5.0-selinux-off-by-default.patch %define moduledir %{_libdir}/xorg/modules %define drimoduledir %{_libdir}/dri @@ -513,6 +514,10 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Apr 22 2008 Adam Jackson 1.4.99.901-23.20080415 +- xserver-1.5.0-stenciled-visuals.patch: Prefer visuals with a stencil + buffer for the default GLX visual. (Hans de Goede, #442510) + * Tue Apr 15 2008 Dave Airlie 1.4.99.901-22.20080415 - rebase to upstream server 1.5 branch from today - drop acr quirk diff --git a/xserver-1.5.0-stenciled-visuals.patch b/xserver-1.5.0-stenciled-visuals.patch new file mode 100644 index 0000000..71b6000 --- /dev/null +++ b/xserver-1.5.0-stenciled-visuals.patch @@ -0,0 +1,58 @@ +From 45be1e933f5a3e21b32dc1d1141b6261154faa31 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Tue, 22 Apr 2008 14:18:57 -0400 +Subject: [PATCH] Prefer GLX visuals with stencil buffer for the default visual. + +--- + GL/glx/glxscreens.c | 13 ++++++++++--- + 1 files changed, 10 insertions(+), 3 deletions(-) + +diff --git a/GL/glx/glxscreens.c b/GL/glx/glxscreens.c +index 41ee029..5859de0 100644 +--- a/GL/glx/glxscreens.c ++++ b/GL/glx/glxscreens.c +@@ -437,6 +437,7 @@ initGlxVisual(VisualPtr visual, __GLXconfig *config) + typedef struct { + GLboolean doubleBuffer; + GLboolean depthBuffer; ++ GLboolean stencilBuffer; + } FBConfigTemplateRec, *FBConfigTemplatePtr; + + static __GLXconfig * +@@ -453,6 +454,8 @@ pickFBConfig(__GLXscreen *pGlxScreen, FBConfigTemplatePtr template, int class) + continue; + if ((config->depthBits > 0) != template->depthBuffer) + continue; ++ if ((config->stencilBits > 0) != template->stencilBuffer) ++ continue; + + return config; + } +@@ -466,8 +469,9 @@ addMinimalSet(__GLXscreen *pGlxScreen) + __GLXconfig *config; + VisualPtr visuals; + int i, j; +- FBConfigTemplateRec best = { GL_TRUE, GL_TRUE }; +- FBConfigTemplateRec minimal = { GL_FALSE, GL_FALSE }; ++ FBConfigTemplateRec best = { GL_TRUE, GL_TRUE, GL_TRUE }; ++ FBConfigTemplateRec good = { GL_TRUE, GL_TRUE, GL_FALSE }; ++ FBConfigTemplateRec minimal = { GL_FALSE, GL_FALSE, GL_FALSE }; + + pGlxScreen->visuals = xcalloc(pGlxScreen->pScreen->numVisuals, + sizeof (__GLXconfig *)); +@@ -480,8 +484,11 @@ addMinimalSet(__GLXscreen *pGlxScreen) + for (i = 0, j = 0; i < pGlxScreen->pScreen->numVisuals; i++) { + if (visuals[i].nplanes == 32) + config = pickFBConfig(pGlxScreen, &minimal, visuals[i].class); +- else ++ else { + config = pickFBConfig(pGlxScreen, &best, visuals[i].class); ++ if (config == NULL) ++ config = pickFBConfig(pGlxScreen, &good, visuals[i].class); ++ } + if (config == NULL) + config = pGlxScreen->fbconfigs; + if (config == NULL) +-- +1.5.4.5 +