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

This commit is contained in:
Owen W. Taylor 2011-04-27 13:08:06 -04:00
parent 5b0b933f9a
commit a0f8c48f25
2 changed files with 51 additions and 1 deletions

View File

@ -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 */

View File

@ -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@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@redhat.com> 3.0.1-1
- Update to 3.0.1