summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHanno Böck <hanno@gentoo.org>2006-09-16 14:21:20 +0000
committerHanno Böck <hanno@gentoo.org>2006-09-16 14:21:20 +0000
commitb19359934c40ca2006f4696ecb3e134443f4e35b (patch)
treed2a512312a1bbaea1c9c8c623ce03929be1a90e7 /x11-wm/compiz/files
parentStable on hppa. See bug #147061. (diff)
downloadgentoo-2-b19359934c40ca2006f4696ecb3e134443f4e35b.tar.gz
gentoo-2-b19359934c40ca2006f4696ecb3e134443f4e35b.tar.bz2
gentoo-2-b19359934c40ca2006f4696ecb3e134443f4e35b.zip
compiz initial commit
(Portage version: 2.1.2_pre1)
Diffstat (limited to 'x11-wm/compiz/files')
-rw-r--r--x11-wm/compiz/files/03-composite-cube-logo.patch43
-rw-r--r--x11-wm/compiz/files/04-fbconfig-depth-fix.patch31
-rw-r--r--x11-wm/compiz/files/06-glfinish.patch23
-rw-r--r--x11-wm/compiz/files/07-cow.patch120
-rwxr-xr-xx11-wm/compiz/files/compiz-aiglx5
-rw-r--r--x11-wm/compiz/files/digest-compiz-0.0.13_pre200609163
6 files changed, 225 insertions, 0 deletions
diff --git a/x11-wm/compiz/files/03-composite-cube-logo.patch b/x11-wm/compiz/files/03-composite-cube-logo.patch
new file mode 100644
index 000000000000..c777257a52d1
--- /dev/null
+++ b/x11-wm/compiz/files/03-composite-cube-logo.patch
@@ -0,0 +1,43 @@
+Composite cube logo against background color.
+
+From: Kristian Høgsberg <krh@redhat.com>
+
+
+---
+
+ plugins/cube.c | 17 +++++++++++++++++
+ 1 files changed, 17 insertions(+), 0 deletions(-)
+
+diff --git a/plugins/cube.c b/plugins/cube.c
+index 31edd5c..339d843 100644
+--- a/plugins/cube.c
++++ b/plugins/cube.c
+@@ -1162,11 +1162,28 @@ cubePaintTransformedScreen (CompScreen
+
+ if (cs->invert == 1 && s->size == 4 && cs->texture.name)
+ {
++ glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE);
++
++ glTexEnvf (GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_INTERPOLATE);
++ glTexEnvf (GL_TEXTURE_ENV, GL_SOURCE0_RGB, GL_TEXTURE0);
++ glTexEnvf (GL_TEXTURE_ENV, GL_SOURCE1_RGB, GL_PRIMARY_COLOR);
++ glTexEnvf (GL_TEXTURE_ENV, GL_SOURCE2_RGB, GL_TEXTURE0);
++ glTexEnvf (GL_TEXTURE_ENV, GL_OPERAND0_RGB, GL_SRC_COLOR);
++ glTexEnvf (GL_TEXTURE_ENV, GL_OPERAND1_RGB, GL_SRC_COLOR);
++ glTexEnvf (GL_TEXTURE_ENV, GL_OPERAND2_RGB, GL_SRC_ALPHA);
++
++ glTexEnvf (GL_TEXTURE_ENV, GL_COMBINE_ALPHA, GL_REPLACE);
++ glTexEnvf (GL_TEXTURE_ENV, GL_SOURCE0_ALPHA, GL_PREVIOUS);
++ glTexEnvf (GL_TEXTURE_ENV, GL_OPERAND0_ALPHA, GL_SRC_ALPHA);
++
+ enableTexture (s, &cs->texture, COMP_TEXTURE_FILTER_GOOD);
++
+ glTexCoordPointer (2, GL_FLOAT, 0, cs->tc);
+ glDrawArrays (GL_TRIANGLE_FAN, 0, cs->nvertices >> 1);
+ disableTexture (s, &cs->texture);
+ glDisableClientState (GL_TEXTURE_COORD_ARRAY);
++
++ glTexEnvi (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
+ }
+ else
+ {
diff --git a/x11-wm/compiz/files/04-fbconfig-depth-fix.patch b/x11-wm/compiz/files/04-fbconfig-depth-fix.patch
new file mode 100644
index 000000000000..29dbdc96de34
--- /dev/null
+++ b/x11-wm/compiz/files/04-fbconfig-depth-fix.patch
@@ -0,0 +1,31 @@
+Make sure the depth of the corresponding match for the fbconfig we pick.
+
+From: Kristian Høgsberg <krh@redhat.com>
+
+
+---
+
+ src/screen.c | 10 ++++++++++
+ 1 files changed, 10 insertions(+), 0 deletions(-)
+
+diff --git a/src/screen.c b/src/screen.c
+index 9ec30d5..75c6abc 100644
+--- a/src/screen.c
++++ b/src/screen.c
+@@ -1309,6 +1309,16 @@ addScreen (CompDisplay *display,
+
+ for (j = 0; j < nElements; j++)
+ {
++ {
++ XVisualInfo *vi;
++ int visual_depth;
++ vi = glXGetVisualFromFBConfig(dpy, fbConfigs[j]);
++ visual_depth = vi->depth;
++ XFree(vi);
++ if (visual_depth != i)
++ continue;
++ }
++
+ (*s->getFBConfigAttrib) (dpy,
+ fbConfigs[j],
+ GLX_ALPHA_SIZE,
diff --git a/x11-wm/compiz/files/06-glfinish.patch b/x11-wm/compiz/files/06-glfinish.patch
new file mode 100644
index 000000000000..2c7b2a1609bc
--- /dev/null
+++ b/x11-wm/compiz/files/06-glfinish.patch
@@ -0,0 +1,23 @@
+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
+@@ -2079,6 +2079,8 @@ eventLoop (void)
+
+ (*s->donePaintScreen) (s);
+
++ glFinish ();
++
+ /* remove destroyed windows */
+ while (s->pendingDestroys)
+ {
diff --git a/x11-wm/compiz/files/07-cow.patch b/x11-wm/compiz/files/07-cow.patch
new file mode 100644
index 000000000000..aa0550b13003
--- /dev/null
+++ b/x11-wm/compiz/files/07-cow.patch
@@ -0,0 +1,120 @@
+--- ./src/display.c.cow 2006-08-29 19:48:53.000000000 -0400
++++ ./src/display.c 2006-08-29 18:11:46.000000000 -0400
+@@ -1998,7 +1998,7 @@
+ PAINT_SCREEN_REGION_MASK |
+ PAINT_SCREEN_FULL_MASK);
+
+- glXSwapBuffers (s->display->display, s->root);
++ glXSwapBuffers (s->display->display, s->output);
+ }
+ else if (s->damageMask & COMP_SCREEN_DAMAGE_REGION_MASK)
+ {
+@@ -2022,7 +2022,7 @@
+ y = s->height - pBox->y2;
+
+ (*s->copySubBuffer) (s->display->display,
+- s->root,
++ s->output,
+ pBox->x1, y,
+ pBox->x2 - pBox->x1,
+ pBox->y2 - pBox->y1);
+@@ -2071,7 +2071,7 @@
+ &s->region,
+ PAINT_SCREEN_FULL_MASK);
+
+- glXSwapBuffers (s->display->display, s->root);
++ glXSwapBuffers (s->display->display, s->output);
+ }
+ }
+
+--- ./src/screen.c.cow 2006-08-29 14:11:48.000000000 -0400
++++ ./src/screen.c 2006-08-29 18:19:32.000000000 -0400
+@@ -40,6 +40,8 @@
+ #include <X11/Xatom.h>
+ #include <X11/Xproto.h>
+ #include <X11/extensions/Xrandr.h>
++#include <X11/extensions/Xcomposite.h>
++#include <X11/extensions/shape.h>
+ #include <X11/cursorfont.h>
+
+ #include <compiz.h>
+@@ -878,6 +880,25 @@
+ (unsigned char *) data, 1);
+ }
+
++static void
++makeOutputWindow (CompScreen *s)
++{
++ Display *dpy = s->display->display;
++ XserverRegion region;
++
++ s->overlay = XCompositeGetOverlayWindow (dpy, s->root);
++ s->output = s->overlay;
++
++ region = XFixesCreateRegion (dpy, NULL, 0);
++
++ XFixesSetWindowShapeRegion (dpy,
++ s->output,
++ ShapeInput,
++ 0, 0, region);
++
++ XFixesDestroyRegion (dpy, region);
++}
++
+ Bool
+ addScreen (CompDisplay *display,
+ int screenNum,
+@@ -1045,6 +1066,8 @@
+
+ s->grabWindow = None;
+
++ makeOutputWindow (s);
++
+ templ.visualid = XVisualIDFromVisual (s->attrib.visual);
+
+ visinfo = XGetVisualInfo (dpy, VisualIDMask, &templ, &nvisinfo);
+@@ -1174,7 +1197,7 @@
+ s->copySubBuffer = (GLXCopySubBufferProc)
+ getProcAddress (s, "glXCopySubBufferMESA");
+
+- glXMakeCurrent (dpy, s->root, s->ctx);
++ glXMakeCurrent (dpy, s->output, s->ctx);
+ currentRoot = s->root;
+
+ glExtensions = (const char *) glGetString (GL_EXTENSIONS);
+@@ -2844,7 +2867,7 @@
+ {
+ if (currentRoot != s->root)
+ {
+- glXMakeCurrent (s->display->display, s->root, s->ctx);
++ glXMakeCurrent (s->display->display, s->output, s->ctx);
+ currentRoot = s->root;
+
+ s->pendingCommands = TRUE;
+--- ./include/compiz.h.cow 2006-08-29 19:36:02.000000000 -0400
++++ ./include/compiz.h 2006-08-29 15:46:43.000000000 -0400
+@@ -1288,6 +1288,8 @@
+ Region damage;
+ unsigned long damageMask;
+ Window root;
++ Window overlay;
++ Window output;
+ XWindowAttributes attrib;
+ Window grabWindow;
+ CompFBConfig glxPixmapFBConfigs[MAX_DEPTH + 1];
+--- ./src/event.c.cow 2006-08-29 21:37:29.000000000 -0400
++++ ./src/event.c 2006-08-29 21:39:03.000000000 -0400
+@@ -1145,7 +1145,12 @@
+ s = findScreenAtDisplay (d, event->xcreatewindow.parent);
+ if (s)
+ {
+- addWindow (s, event->xcreatewindow.window, getTopWindow (s));
++ /* The first time some client asks for the composite
++ * overlay window, the X server creates it, which causes
++ * an errorneous CreateNotify event. We catch it and
++ * ignore it. */
++ if (s->overlay != event->xcreatewindow.window)
++ addWindow (s, event->xcreatewindow.window, getTopWindow (s));
+ }
+ break;
+ case DestroyNotify:
diff --git a/x11-wm/compiz/files/compiz-aiglx b/x11-wm/compiz/files/compiz-aiglx
new file mode 100755
index 000000000000..117a864e8ef0
--- /dev/null
+++ b/x11-wm/compiz/files/compiz-aiglx
@@ -0,0 +1,5 @@
+# Start window decorator
+gnome-window-decorator --replace &
+
+# Start compiz
+LIBGL_ALWAYS_INDIRECT=1 compiz --replace --indirect-rendering --strict-binding gconf move resize minimize place decoration wobbly cube rotate scale switcher zoom fade screenshot water dbus
diff --git a/x11-wm/compiz/files/digest-compiz-0.0.13_pre20060916 b/x11-wm/compiz/files/digest-compiz-0.0.13_pre20060916
new file mode 100644
index 000000000000..e70008a76fef
--- /dev/null
+++ b/x11-wm/compiz/files/digest-compiz-0.0.13_pre20060916
@@ -0,0 +1,3 @@
+MD5 89a0078ac97dc08972ed347850a9c09c compiz-20060916.tar.bz2 336009
+RMD160 bee7ff7083dd752257b7a9cf6f7d9f06f257a79c compiz-20060916.tar.bz2 336009
+SHA256 afd6d930cb739e7fe2e9246ba3c522d90d626991c8bf9dee2753c80543527ba7 compiz-20060916.tar.bz2 336009