[gnome-session] Add a quick-and-dirty blacklist for Radeon R100, R200, Intel 8xx

Owen Taylor otaylor at fedoraproject.org
Wed Apr 27 17:08:53 UTC 2011


commit a0f8c48f25c740435dd42d640d49bc034e4939b7
Author: Owen W. Taylor <otaylor at fishsoup.net>
Date:   Wed Apr 27 13:08:06 2011 -0400

    Add a quick-and-dirty blacklist for Radeon R100, R200, Intel 8xx

 gnome-session-3.0.1-renderer-blacklist.patch |   43 ++++++++++++++++++++++++++
 gnome-session.spec                           |    9 +++++-
 2 files changed, 51 insertions(+), 1 deletions(-)
---
diff --git a/gnome-session-3.0.1-renderer-blacklist.patch b/gnome-session-3.0.1-renderer-blacklist.patch
new file mode 100644
index 0000000..d5fecd5
--- /dev/null
+++ b/gnome-session-3.0.1-renderer-blacklist.patch
@@ -0,0 +1,43 @@
+diff -up gnome-session-3.0.1/tools/gnome-session-check-accelerated-helper.c.blacklist gnome-session-3.0.1/tools/gnome-session-check-accelerated-helper.c
+--- gnome-session-3.0.1/tools/gnome-session-check-accelerated-helper.c.blacklist	2011-03-22 16:31:43.000000000 -0400
++++ gnome-session-3.0.1/tools/gnome-session-check-accelerated-helper.c	2011-04-27 13:01:15.132322955 -0400
+@@ -108,6 +108,21 @@ _has_hardware_gl (Display *display)
+         Window window = None;
+         const char *renderer;
+         int ret = 1;
++        int i;
++
++        /* This is a quick-and-dirty list of things that we know don't work
++         * well enough to use. Since we tend to use only direct contexts,
++         * we can ignore a lot of really old drivers that won't have
++         * texture_from_pixmap in a direct context.
++         */
++        static const char * const renderer_blacklist[] = {
++                "software rasterizer", /* Classic mesa software rendering */
++                "softpipe",            /* Gallium software rendering */
++                "llvmpipe",            /* Somewhat better Gallium software rendering */
++                "R100",                /* ATI Radeon R1xx */
++                "R200",                /* ATI Radeon R2xx */
++                "Intel(R) 8"           /* Intel 830-865 */
++        };
+ 
+         int attrlist[] = {
+                 GLX_RGBA,
+@@ -143,13 +158,10 @@ _has_hardware_gl (Display *display)
+                 goto out;
+ 
+         renderer = (const char *) glGetString (GL_RENDERER);
+-        /* The current Mesa software GL renderer string is
+-	 * "Software Rasterizer".
+-	 * Gallium has softpipe and llvmpipe. */
+-        if (strcasestr (renderer, "software rasterizer") != NULL ||
+-            strcasestr (renderer, "softpipe") != NULL ||
+-            strcasestr (renderer, "llvmpipe") != NULL)
+-                goto out;
++        for (i = 0; i < sizeof (renderer_blacklist) / sizeof (renderer_blacklist[0]); i++) {
++                if (strcasestr (renderer, renderer_blacklist[i]) != NULL)
++                        goto out;
++        }
+ 
+         /* we need to get the max texture size while we have a context,
+          * but we'll check its value later */
diff --git a/gnome-session.spec b/gnome-session.spec
index 392d6f1..930f2a4 100644
--- a/gnome-session.spec
+++ b/gnome-session.spec
@@ -3,13 +3,16 @@
 Summary: GNOME session manager
 Name: gnome-session
 Version: 3.0.1
-Release: 1%{?dist}
+Release: 2%{?dist}
 URL: http://www.gnome.org
 #VCS: git:git://git.gnome.org/gnome-session
 Source0: http://download.gnome.org/sources/gnome-session/3.0/%{name}-%{version}.tar.bz2
 Source1: gnome-authentication-agent.desktop
 Source2: gnome.desktop
 
+# https://bugzilla.gnome.org/show_bug.cgi?id=644325
+Patch0: gnome-session-3.0.1-renderer-blacklist.patch
+
 License: GPLv2+
 Group: User Interface/Desktops
 
@@ -80,6 +83,7 @@ Desktop file to add GNOME to display manager session menu.
 
 %prep
 %setup -q
+%patch0 -p1 -b .blacklist
 
 echo "ACLOCAL_AMFLAGS = -I m4" >> Makefile.am
 
@@ -158,6 +162,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas || :
 %{_datadir}/glib-2.0/schemas/org.gnome.SessionManager.gschema.xml
 
 %changelog
+* Wed Apr 27 2011 Owen Taylor <otaylor at redhat.com> - 3.0.1-2
+- Add a quick-and-dirty blacklist for Radeon R100, R200, Intel 8xx
+
 * Tue Apr 26 2011 Matthias Clasen <mclasen at redhat.com> 3.0.1-1
 - Update to 3.0.1
 


More information about the scm-commits mailing list