91 lines
2.7 KiB
Diff
91 lines
2.7 KiB
Diff
|
diff -up compiz-0.8.2/include/compiz-core.h.flip compiz-0.8.2/include/compiz-core.h
|
||
|
--- compiz-0.8.2/include/compiz-core.h.flip 2009-07-31 13:00:46.120940112 -0400
|
||
|
+++ compiz-0.8.2/include/compiz-core.h 2009-07-31 13:00:57.625815409 -0400
|
||
|
@@ -219,6 +219,8 @@ extern Bool useCow;
|
||
|
extern Bool noDetection;
|
||
|
extern Bool useDesktopHints;
|
||
|
extern Bool onlyCurrentScreen;
|
||
|
+extern Bool noWait;
|
||
|
+extern Bool alwaysSwap;
|
||
|
|
||
|
extern char **initialPlugins;
|
||
|
extern int nInitialPlugins;
|
||
|
diff -up compiz-0.8.2/src/display.c.flip compiz-0.8.2/src/display.c
|
||
|
--- compiz-0.8.2/src/display.c.flip 2009-07-31 13:00:46.121940240 -0400
|
||
|
+++ compiz-0.8.2/src/display.c 2009-07-31 13:00:57.627815245 -0400
|
||
|
@@ -1488,6 +1488,9 @@ eventLoop (void)
|
||
|
s->idle ? s->redrawTime :
|
||
|
timeDiff);
|
||
|
|
||
|
+ if (alwaysSwap == TRUE)
|
||
|
+ damageScreen (s);
|
||
|
+
|
||
|
/* substract top most overlay window region */
|
||
|
if (s->overlayWindowCount)
|
||
|
{
|
||
|
@@ -1547,9 +1550,11 @@ eventLoop (void)
|
||
|
targetScreen = NULL;
|
||
|
targetOutput = &s->outputDev[0];
|
||
|
|
||
|
- waitForVideoSync (s);
|
||
|
+ if (!noWait)
|
||
|
+ waitForVideoSync (s);
|
||
|
|
||
|
- if (mask & COMP_SCREEN_DAMAGE_ALL_MASK)
|
||
|
+ if ((mask & COMP_SCREEN_DAMAGE_ALL_MASK) ||
|
||
|
+ (alwaysSwap == TRUE))
|
||
|
{
|
||
|
glXSwapBuffers (d->display, s->output);
|
||
|
}
|
||
|
diff -up compiz-0.8.2/src/main.c.flip compiz-0.8.2/src/main.c
|
||
|
--- compiz-0.8.2/src/main.c.flip 2009-07-31 13:00:46.122940228 -0400
|
||
|
+++ compiz-0.8.2/src/main.c 2009-07-31 13:00:57.628820890 -0400
|
||
|
@@ -67,6 +67,8 @@ Bool noDetection = FALSE;
|
||
|
Bool useDesktopHints = FALSE;
|
||
|
Bool onlyCurrentScreen = FALSE;
|
||
|
static Bool debugOutput = FALSE;
|
||
|
+Bool noWait = FALSE;
|
||
|
+Bool alwaysSwap = FALSE;
|
||
|
|
||
|
#ifdef USE_COW
|
||
|
Bool useCow = TRUE;
|
||
|
@@ -89,7 +91,9 @@ usage (void)
|
||
|
"[--replace]\n "
|
||
|
"[--sm-disable] "
|
||
|
"[--sm-client-id ID] "
|
||
|
- "[--only-current-screen]\n "
|
||
|
+ "[--only-current-screen] "
|
||
|
+ "[--no-wait]\n "
|
||
|
+ "[--always-swap] "
|
||
|
|
||
|
#ifdef USE_COW
|
||
|
" [--use-root-window] "
|
||
|
@@ -376,6 +380,14 @@ main (int argc, char **argv)
|
||
|
if (i + 1 < argc)
|
||
|
backgroundImage = argv[++i];
|
||
|
}
|
||
|
+ else if (!strcmp (argv[i], "--no-wait"))
|
||
|
+ {
|
||
|
+ noWait = TRUE;
|
||
|
+ }
|
||
|
+ else if (!strcmp (argv[i], "--always-swap"))
|
||
|
+ {
|
||
|
+ alwaysSwap = TRUE;
|
||
|
+ }
|
||
|
else if (*argv[i] == '-')
|
||
|
{
|
||
|
compLogMessage ("core", CompLogLevelWarn,
|
||
|
diff -up compiz-0.8.2/src/screen.c.flip compiz-0.8.2/src/screen.c
|
||
|
--- compiz-0.8.2/src/screen.c.flip 2009-02-15 14:26:28.000000000 -0500
|
||
|
+++ compiz-0.8.2/src/screen.c 2009-07-31 13:00:57.631815337 -0400
|
||
|
@@ -2422,6 +2422,9 @@ void
|
||
|
damageScreenRegion (CompScreen *screen,
|
||
|
Region region)
|
||
|
{
|
||
|
+ if (alwaysSwap)
|
||
|
+ damageScreen (screen);
|
||
|
+
|
||
|
if (screen->damageMask & COMP_SCREEN_DAMAGE_ALL_MASK)
|
||
|
return;
|
||
|
|