diff options
author | Hanno Boeck <hanno@gentoo.org> | 2006-09-16 14:21:20 +0000 |
---|---|---|
committer | Hanno Boeck <hanno@gentoo.org> | 2006-09-16 14:21:20 +0000 |
commit | f9a0f237d05e72bb343fdd86b36784dfbe16fd10 (patch) | |
tree | 8fba740986e9679a1d6d95e3430875b5d53f82cd /x11-wm/compiz/files | |
parent | ppc stable (diff) | |
download | historical-f9a0f237d05e72bb343fdd86b36784dfbe16fd10.tar.gz historical-f9a0f237d05e72bb343fdd86b36784dfbe16fd10.tar.bz2 historical-f9a0f237d05e72bb343fdd86b36784dfbe16fd10.zip |
compiz initial commit
Package-Manager: portage-2.1.2_pre1
Diffstat (limited to 'x11-wm/compiz/files')
-rw-r--r-- | x11-wm/compiz/files/03-composite-cube-logo.patch | 43 | ||||
-rw-r--r-- | x11-wm/compiz/files/04-fbconfig-depth-fix.patch | 31 | ||||
-rw-r--r-- | x11-wm/compiz/files/06-glfinish.patch | 23 | ||||
-rw-r--r-- | x11-wm/compiz/files/07-cow.patch | 120 | ||||
-rwxr-xr-x | x11-wm/compiz/files/compiz-aiglx | 5 | ||||
-rw-r--r-- | x11-wm/compiz/files/digest-compiz-0.0.13_pre20060916 | 3 |
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 |