debian/changelog                              |   10 ++++---
 debian/compiz.wrapper                         |   23 ++++++++++++++---
 debian/patches/002_tfp-server-extension.patch |   35 --------------------------
 debian/patches/005_glfinish.patch             |   23 -----------------
 debian/patches/014_tfp-server-extension.patch |   30 ----------------------
 debian/patches/series                         |    1 
 6 files changed, 25 insertions(+), 97 deletions(-)

New commits:
commit 97c017876e21eb009225fd01e9ad7ac56ce8dfe0
Author: Thierry Reding <[EMAIL PROTECTED]>
Date:   Fri Jan 5 12:38:39 2007 +0100

    Remove obsolete patches.

diff --git a/debian/patches/002_tfp-server-extension.patch 
b/debian/patches/002_tfp-server-extension.patch
deleted file mode 100644
index a15cb1f..0000000
--- a/debian/patches/002_tfp-server-extension.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Make compiz look for GLX_EXT_texture_from_pixmap in the server extensions too.
-
-From: Kristian Høgsberg <[EMAIL PROTECTED]>
-
----
-
- src/screen.c |    8 ++++++--
- 1 files changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/src/screen.c b/src/screen.c
-index 0941107..9ec30d5 100644
---- a/src/screen.c
-+++ b/src/screen.c
-@@ -1366,7 +1366,7 @@ addScreen (CompDisplay *display,
-     Window             *children;
-     unsigned int       nchildren;
-     int                        defaultDepth, nvisinfo, nElements, value, i;
--    const char                 *glxExtensions, *glExtensions;
-+    const char                 *glxExtensions, *glxServerExtensions, 
*glExtensions;
-     GLint              stencilBits;
-     XSetWindowAttributes attrib;
-     GLfloat            globalAmbient[]  = { 0.1f, 0.1f,  0.1f, 0.1f };
-@@ -1610,7 +1610,11 @@ addScreen (CompDisplay *display,
-     XFree (visinfo);
- 
-     glxExtensions = glXQueryExtensionsString (s->display->display, screenNum);
--    if (!strstr (glxExtensions, "GLX_EXT_texture_from_pixmap"))
-+    glxServerExtensions = glXQueryServerString(s->display->display,
-+                                             screenNum, GLX_EXTENSIONS );
-+
-+    if (!strstr (glxExtensions, "GLX_EXT_texture_from_pixmap") &&
-+      !strstr (glxServerExtensions, "GLX_EXT_texture_from_pixmap"))
-     {
-       fprintf (stderr, "%s: GLX_EXT_texture_from_pixmap is missing\n",
-                programName);
diff --git a/debian/patches/005_glfinish.patch 
b/debian/patches/005_glfinish.patch
deleted file mode 100644
index 1f72760..0000000
--- a/debian/patches/005_glfinish.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Add glFinish() after drawing a frame to work-around throttling problems.
-
-From: Kristian Høgsberg <[EMAIL PROTECTED]>
-
-
----
-
- src/display.c |    2 ++
- 1 files changed, 2 insertions(+), 0 deletions(-)
-
-diff --git a/src/display.c b/src/display.c
-index 7cf12e1..c44b2a2 100644
---- a/src/display.c
-+++ b/src/display.c
-@@ -2193,6 +2193,8 @@ eventLoop (void)
- 
-                   (*s->donePaintScreen) (s);
- 
-+                  glFinish ();
-+
-                   /* remove destroyed windows */
-                   while (s->pendingDestroys)
-                   {

commit 6e4f0f7f6ff2a081a4806952da43153655a609ef
Author: Thierry Reding <[EMAIL PROTECTED]>
Date:   Fri Jan 5 12:38:05 2007 +0100

    Check whether the GLX_EXT_tfp is available with direct or indirect 
rendering.
    
    If it is only available with indirect rendering, export 
LIBGL_ALWAYS_INDIRECT
    forcing compiz to use indirect rendering. This works around an issue with
    libGL which currently doesn't list GLX_EXT_tfp as supported.

diff --git a/debian/changelog b/debian/changelog
index cd8c01f..93fa80a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,7 +1,7 @@
 compiz (0.3.6-1) experimental; urgency=low
 
   * New upstream release:
-    + Drop 002_tfp-server-extension.patch, fixed upstream.
+    + Drop 002_tfp-server-extension.patch, obsolete.
     + Drop 005_glfinish.patch, fixed upstream.
     + Refresh 011_snap-by-default.patch.
   * Replace build-dependency on libdbus-1-dev by libdbus-glib-1-dev.
@@ -17,9 +17,6 @@ compiz (0.3.6-1) experimental; urgency=l
   * Add the libdecoration0 and libdecoration0-dev packages. libdecoration0 is
     needed by both Gtk and KDE window decorators while libdecoration0-dev can
     be used to write additional decorators.
-  * Add patch 014_tfp-server-extension that makes compiz look for
-    GLX_EXT_texture_from_pixmap in the server extensions too when using an
-    indirect rendering context.
   * Add patch 015_optional-fbo which adds a command-line option for disabling
     the use of FBOs (work around buggy drivers). Add the --no-fbo option to
     command-line in the compiz wrapper.
@@ -27,8 +24,11 @@ compiz (0.3.6-1) experimental; urgency=l
     the compiz wrapper. These are now the defaults.
   * Add png and svg to the list of default plugins. They are needed to load
     PNG and SVG images (e.g. for the cube's top face).
+  * Check whether the GLX_EXT_texture_from_pixmap extension is available in
+    direct or indirect rendering contexts. If it is available only in indirect
+    rendering contexts, force compiz to use indirect rendering.
 
- -- Thierry Reding <[EMAIL PROTECTED]>  Fri,  5 Jan 2007 12:04:35 +0100
+ -- Thierry Reding <[EMAIL PROTECTED]>  Fri,  5 Jan 2007 12:34:42 +0100
 
 compiz (0.3.4-1) experimental; urgency=low
 
diff --git a/debian/compiz.wrapper b/debian/compiz.wrapper
index 22b7faa..6db0085 100644
--- a/debian/compiz.wrapper
+++ b/debian/compiz.wrapper
@@ -1,7 +1,28 @@
 #!/bin/sh
 
+GLXINFO='/usr/bin/glxinfo 2> /dev/null'
+EXT_TFP='GLX_EXT_texture_from_pixmap'
+
 COMPIZ_OPTIONS="--no-fbo"
 
+# Check whether the GLX_EXT_texture_from_pixmap extension is available in
+# direct or indirect rendering contexts. If it is available only in indirect
+# rendering contexts, force compiz to use indirect rendering.
+if test `$GLXINFO | grep -c $EXT_TFP` -lt 3; then
+       echo "$EXT_TFP is not available with direct rendering."
+
+       export LIBGL_ALWAYS_INDIRECT=1
+       if test `$GLXINFO | grep -c $EXT_TFP` -lt 3; then
+               echo "$EXT_TFP is available with indirect rendering."
+       else
+               echo "$EXT_TFP is not available with indirect rendering. 
Aborting!"
+               unset LIBGL_ALWAYS_INDIRECT
+               exit 1
+       fi
+else
+       echo "$EXT_TFP is available with direct rendering."
+fi
+
 # start the gtk-window-decorator if present
 if [ -x /usr/bin/gtk-window-decorator ]; then
        /usr/bin/gtk-window-decorator --replace &
diff --git a/debian/patches/014_tfp-server-extension.patch 
b/debian/patches/014_tfp-server-extension.patch
deleted file mode 100644
index 2e9a98e..0000000
--- a/debian/patches/014_tfp-server-extension.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Make compiz look for GLX_EXT_texture_from_pixmap in the server extensions too
-when using an indirect rendering context.
-
-Patch by Kristian Høgsberg <[EMAIL PROTECTED]>
-Forward-ported to compiz 0.3.6 by Thierry Reding <[EMAIL PROTECTED]>
-
-diff --git a/src/screen.c b/src/screen.c
-index f0b93e1..e59b1be 100644
---- a/src/screen.c
-+++ b/src/screen.c
-@@ -1384,7 +1384,7 @@ addScreen (CompDisplay *display,
-     Window             *children;
-     unsigned int       nchildren;
-     int                        defaultDepth, nvisinfo, nElements, value, i;
--    const char                 *glxExtensions, *glExtensions;
-+    const char                 *glxExtensions, *glxServerExtensions, 
*glExtensions;
-     GLint              stencilBits;
-     XSetWindowAttributes attrib;
-     GLfloat            globalAmbient[]  = { 0.1f, 0.1f,  0.1f, 0.1f };
-@@ -1630,7 +1630,13 @@ addScreen (CompDisplay *display,
-           i++;
- 
-       glxExtensions = glXQueryExtensionsString (dpy, screenNum);
--      if (!strstr (glxExtensions, "GLX_EXT_texture_from_pixmap"))
-+      glxServerExtensions = glXQueryServerString(s->display->display,
-+                      screenNum, GLX_EXTENSIONS);
-+      if ((glXIsDirect(dpy, s->ctx) &&
-+           !strstr (glxExtensions, "GLX_EXT_texture_from_pixmap")) ||
-+          (!glXIsDirect(dpy, s->ctx) &&
-+           !strstr (glxExtensions, "GLX_EXT_texture_from_pixmap") &&
-+           !strstr (glxServerExtensions, "GLX_EXT_texture_from_pixmap")))
-       {
-           if (i > 0)
-           {
diff --git a/debian/patches/series b/debian/patches/series
index bf6a47f..2162b82 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,5 +1,4 @@
 011_snap-by-default.patch
 012_debian-kde-includes-dir.patch
 013_set-qtdir-fallback.patch
-014_tfp-server-extension.patch
 015_optional-fbo.patch

commit 78a76278d9e32dc5e67290c5c7dffd855f39a3f6
Author: Thierry Reding <[EMAIL PROTECTED]>
Date:   Fri Jan 5 12:24:05 2007 +0100

    Make compiz look for GLX_EXT_texture_from_pixmap in the server extensions 
too
    when using an indirect rendering context.

diff --git a/debian/changelog b/debian/changelog
index 4413209..cd8c01f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -18,7 +18,8 @@ compiz (0.3.6-1) experimental; urgency=l
     needed by both Gtk and KDE window decorators while libdecoration0-dev can
     be used to write additional decorators.
   * Add patch 014_tfp-server-extension that makes compiz look for
-    GLX_EXT_texture_from_pixmap in the server extensions too.
+    GLX_EXT_texture_from_pixmap in the server extensions too when using an
+    indirect rendering context.
   * Add patch 015_optional-fbo which adds a command-line option for disabling
     the use of FBOs (work around buggy drivers). Add the --no-fbo option to
     command-line in the compiz wrapper.
@@ -27,7 +28,7 @@ compiz (0.3.6-1) experimental; urgency=l
   * Add png and svg to the list of default plugins. They are needed to load
     PNG and SVG images (e.g. for the cube's top face).
 
- -- Thierry Reding <[EMAIL PROTECTED]>  Fri,  5 Jan 2007 09:57:37 +0100
+ -- Thierry Reding <[EMAIL PROTECTED]>  Fri,  5 Jan 2007 12:04:35 +0100
 
 compiz (0.3.4-1) experimental; urgency=low
 
diff --git a/debian/compiz.wrapper b/debian/compiz.wrapper
index 1f19bb0..22b7faa 100644
--- a/debian/compiz.wrapper
+++ b/debian/compiz.wrapper
@@ -2,12 +2,6 @@ #!/bin/sh
 
 COMPIZ_OPTIONS="--no-fbo"
 
-# if the GLX implementation is not by NVIDIA, use indirect rendering
-/usr/bin/glxinfo | grep "client glx vendor string: NVIDIA Corporation" > 
/dev/null 2>&1
-if [ "x$?" != "x0" ]; then
-       COMPIZ_OPTIONS="$COMPIZ_OPTIONS --indirect-rendering"
-fi
-
 # start the gtk-window-decorator if present
 if [ -x /usr/bin/gtk-window-decorator ]; then
        /usr/bin/gtk-window-decorator --replace &
diff --git a/debian/patches/014_tfp-server-extension.patch 
b/debian/patches/014_tfp-server-extension.patch
index 68483b8..2e9a98e 100644
--- a/debian/patches/014_tfp-server-extension.patch
+++ b/debian/patches/014_tfp-server-extension.patch
@@ -1,10 +1,11 @@
-Make compiz look for GLX_EXT_texture_from_pixmap in the server extensions too.
+Make compiz look for GLX_EXT_texture_from_pixmap in the server extensions too
+when using an indirect rendering context.
 
 Patch by Kristian Høgsberg <[EMAIL PROTECTED]>
 Forward-ported to compiz 0.3.6 by Thierry Reding <[EMAIL PROTECTED]>
 
 diff --git a/src/screen.c b/src/screen.c
-index f0b93e1..5ed5d3f 100644
+index f0b93e1..e59b1be 100644
 --- a/src/screen.c
 +++ b/src/screen.c
 @@ -1384,7 +1384,7 @@ addScreen (CompDisplay *display,
@@ -16,15 +17,18 @@ index f0b93e1..5ed5d3f 100644
      GLint              stencilBits;
      XSetWindowAttributes attrib;
      GLfloat            globalAmbient[]  = { 0.1f, 0.1f,  0.1f, 0.1f };
-@@ -1630,7 +1630,10 @@ addScreen (CompDisplay *display,
+@@ -1630,7 +1630,13 @@ addScreen (CompDisplay *display,
            i++;
  
        glxExtensions = glXQueryExtensionsString (dpy, screenNum);
 -      if (!strstr (glxExtensions, "GLX_EXT_texture_from_pixmap"))
 +      glxServerExtensions = glXQueryServerString(s->display->display,
 +                      screenNum, GLX_EXTENSIONS);
-+      if (!strstr (glxExtensions, "GLX_EXT_texture_from_pixmap") &&
-+          !strstr (glxServerExtensions, "GLX_EXT_texture_from_pixmap"))
++      if ((glXIsDirect(dpy, s->ctx) &&
++           !strstr (glxExtensions, "GLX_EXT_texture_from_pixmap")) ||
++          (!glXIsDirect(dpy, s->ctx) &&
++           !strstr (glxExtensions, "GLX_EXT_texture_from_pixmap") &&
++           !strstr (glxServerExtensions, "GLX_EXT_texture_from_pixmap")))
        {
            if (i > 0)
            {

commit 9822c3f9cac8b06b782d428268ea7181ff48783b
Author: Thierry Reding <[EMAIL PROTECTED]>
Date:   Fri Jan 5 10:48:56 2007 +0100

    Add bug closer.

diff --git a/debian/changelog b/debian/changelog
index da970d4..4413209 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -13,6 +13,7 @@ compiz (0.3.6-1) experimental; urgency=l
     has not explicitly been set before. This allows the configure script to
     correctly detect the moc compiler.
   * Add the compiz-kde package which provides a window decorator for KDE.
+    Closes: #390338.
   * Add the libdecoration0 and libdecoration0-dev packages. libdecoration0 is
     needed by both Gtk and KDE window decorators while libdecoration0-dev can
     be used to write additional decorators.
@@ -26,7 +27,7 @@ compiz (0.3.6-1) experimental; urgency=l
   * Add png and svg to the list of default plugins. They are needed to load
     PNG and SVG images (e.g. for the cube's top face).
 
- -- Thierry Reding <[EMAIL PROTECTED]>  Fri,  5 Jan 2007 08:34:51 +0100
+ -- Thierry Reding <[EMAIL PROTECTED]>  Fri,  5 Jan 2007 09:57:37 +0100
 
 compiz (0.3.4-1) experimental; urgency=low
 


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to