[Xfce4-commits] [xfce/xfwm4] 08/08: compositor: Remove present env var

noreply at xfce.org noreply at xfce.org
Mon May 15 09:09:52 CEST 2017


This is an automated email from the git hooks/post-receive script.

olivier pushed a commit to branch master
in repository xfce/xfwm4.

commit 940cfef1c7b5828b951b392b75baecc1638619be
Author: Olivier Fourdan <fourdan at xfce.org>
Date:   Mon May 15 09:00:45 2017 +0200

    compositor: Remove present env var
    
    Prefer Present over GLX if both are available, and remove the
    environment variable "XFWM4_USE_PRESENT".
    
    Eventually, we'd rather use a command line option instead (TODO).
---
 COMPOSITOR       | 18 +++++++-----------
 src/compositor.c | 49 ++++++++++++++++++++-----------------------------
 2 files changed, 27 insertions(+), 40 deletions(-)

diff --git a/COMPOSITOR b/COMPOSITOR
index 381afdc..6e48a9e 100644
--- a/COMPOSITOR
+++ b/COMPOSITOR
@@ -40,13 +40,13 @@ The following tips apply to the X.org Xserver X11R6.8.x
 Section "Extensions"
       Option "Composite" "Enable"
 EndSection
-                                                                                                              
+
 - Save the configuration file and restart the Xserver.
 
 3) Troubleshooting
 ------------------
 
-The composite extensions in X.org look fairly new and there are several problems 
+The composite extensions in X.org look fairly new and there are several problems
 that may arise when using the compositing manager in xfwm4:
 
 - Windows aren't correctly refreshed
@@ -66,7 +66,7 @@ are a few hints that could help categorizing the problem:
   ie, when running "xfwm4 --compositor=off; xcompmgr -c"
 - Does it show with the Xserver embedded compositor manager?
   ie, when running "xfwm4 --compositor=auto"
-  
+
 If the problem with xcompmgr and/or with the Xserver compositor, then there
 is a good chance that the problem is not with xfwm4...
 
@@ -85,8 +85,8 @@ card, feel free to submit your own tips.
 The XRender extension can be very CPU consuming. The NVidia binary closed source
 drivers are able to perform the rendering in hardware.
 
-If you have an NVidia video card and the NVidia binary closed source drivers, 
-you can enable the XRender in hardwareby adding the following option to your 
+If you have an NVidia video card and the NVidia binary closed source drivers,
+you can enable the XRender in hardwareby adding the following option to your
 xorg.conf file:
 
         Option      "RenderAccel" "true"
@@ -105,7 +105,7 @@ EndSection
 4.2) EXA
 ~~~~~~~~
 
-On some card, you may want to try the EXA acceleration by adding 
+On some card, you may want to try the EXA acceleration by adding
 
         Option "AccelMethod" "exa"
 
@@ -128,9 +128,5 @@ Support for those features can be checked using "xfwm4 --version":
 	- Epoxy support:                                Yes
         ...
 
-If both VSYNC methods are available, xfwm4 will prefer OpenGL. To force the
-use of the present extension, set the environment variable XFWM4_USE_PRESENT
-prior to run xfwm4, e.g.:
-
-    $ XFWM4_USE_PRESENT=1 xfwm4 --replace &
+If both VSYNC methods are available, xfwm4 will prefer Present over OpenGL.
 
diff --git a/src/compositor.c b/src/compositor.c
index 6d623d9..dfc279d 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -4250,10 +4250,6 @@ compositorManageScreen (ScreenInfo *screen_info)
     XRenderPictureAttributes pa;
     XRenderPictFormat *visual_format;
     gushort buffer;
-#ifdef HAVE_PRESENT_EXTENSION
-    const gchar *use_present_env;
-    gboolean present_requested;
-#endif /* HAVE_PRESENT_EXTENSION */
 
     g_return_val_if_fail (screen_info != NULL, FALSE);
     TRACE ("entering compositorManageScreen");
@@ -4369,30 +4365,7 @@ compositorManageScreen (ScreenInfo *screen_info)
     XClearArea (display_info->dpy, screen_info->output, 0, 0, 0, 0, TRUE);
     TRACE ("Manual compositing enabled");
 
-#ifdef HAVE_EPOXY
-    screen_info->glx_context = None;
-    screen_info->glx_window = None;
-    screen_info->rootTexture = None;
-    screen_info->glx_drawable = None;
-    screen_info->texture_filter = GL_LINEAR;
-#ifdef HAVE_PRESENT_EXTENSION
-    use_present_env = g_getenv ("XFWM4_USE_PRESENT");
-    present_requested = (g_strcmp0 (use_present_env, "1") == 0);
-    if (present_requested)
-    {
-        screen_info->use_glx = FALSE;
-    }
-    else
-#endif /* HAVE_PRESENT_EXTENSION */
-    {
-        screen_info->use_glx = init_glx (screen_info);
-    }
-#else /* HAVE_EPOXY */
-    screen_info->use_glx = FALSE;
-#endif /* HAVE_EPOXY */
-
 #ifdef HAVE_PRESENT_EXTENSION
-    /* Prefer glx over xpresent if available */
     screen_info->use_present = display_info->have_present && !screen_info->use_glx;
     if (screen_info->use_present)
     {
@@ -4401,14 +4374,32 @@ compositorManageScreen (ScreenInfo *screen_info)
                              screen_info->output,
                              PresentCompleteNotifyMask);
     }
-    else if (present_requested)
+    else
     {
-        g_warning ("XPresent requested but unavailable");
+        g_warning ("XPresent not available");
     }
 #else /* HAVE_PRESENT_EXTENSION */
     screen_info->use_present = FALSE;
 #endif /* HAVE_PRESENT_EXTENSION */
 
+#ifdef HAVE_EPOXY
+    if (!screen_info->use_present)
+    {
+        screen_info->glx_context = None;
+        screen_info->glx_window = None;
+        screen_info->rootTexture = None;
+        screen_info->glx_drawable = None;
+        screen_info->texture_filter = GL_LINEAR;
+        screen_info->use_glx = init_glx (screen_info);
+    }
+    else
+    {
+        g_warning ("GL not available");
+    }
+#else /* HAVE_EPOXY */
+    screen_info->use_glx = FALSE;
+#endif /* HAVE_EPOXY */
+
     if (screen_info->use_glx)
     {
         DBG ("Compositor using GLX for vsync");

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list