[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

compiz: Changes to 'debian-unstable'



 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 <thierry@gilfi.de>
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 <krh@redhat.com>
-
----
-
- 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 <krh@redhat.com>
-
-
----
-
- 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 <thierry@gilfi.de>
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 <thierry@gilfi.de>  Fri,  5 Jan 2007 12:04:35 +0100
+ -- Thierry Reding <thierry@gilfi.de>  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 <krh@redhat.com>
-Forward-ported to compiz 0.3.6 by Thierry Reding <thierry@gilfi.de>
-
-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 <thierry@gilfi.de>
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 <thierry@gilfi.de>  Fri,  5 Jan 2007 09:57:37 +0100
+ -- Thierry Reding <thierry@gilfi.de>  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 <krh@redhat.com>
 Forward-ported to compiz 0.3.6 by Thierry Reding <thierry@gilfi.de>
 
 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 <thierry@gilfi.de>
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 <thierry@gilfi.de>  Fri,  5 Jan 2007 08:34:51 +0100
+ -- Thierry Reding <thierry@gilfi.de>  Fri,  5 Jan 2007 09:57:37 +0100
 
 compiz (0.3.4-1) experimental; urgency=low
 



Reply to: