Skip to content
Snippets Groups Projects
Commit 23900123 authored by Olivier Fourdan's avatar Olivier Fourdan :tools:
Browse files

compositor: Smarter vblank auto mode


With vblank mode set to auto (default), use the GL renderer to select
XPresent on Intel and AMD if available.

Signed-off-by: default avatarOlivier Fourdan <fourdan@xfce.org>
parent 09fc6c9d
No related branches found
No related tags found
No related merge requests found
......@@ -1064,6 +1064,14 @@ check_glx_renderer (ScreenInfo *screen_info)
"SVGA3D",
NULL
};
#if HAVE_PRESENT_EXTENSION
const char *prefer_xpresent[] = {
"Intel",
"AMD",
NULL
};
#endif /* HAVE_PRESENT_EXTENSION */
int i;
g_return_val_if_fail (screen_info != NULL, FALSE);
......@@ -1086,6 +1094,20 @@ check_glx_renderer (ScreenInfo *screen_info)
return FALSE;
}
#if HAVE_PRESENT_EXTENSION
if (screen_info->vblank_mode == VBLANK_AUTO)
{
i = 0;
while (prefer_xpresent[i] && !strcasestr (glRenderer, prefer_xpresent[i]))
i++;
if (prefer_xpresent[i])
{
g_warning ("Prefer XPresent with %s", glRenderer);
return FALSE;
}
}
#endif /* HAVE_PRESENT_EXTENSION */
return TRUE;
}
......@@ -1357,7 +1379,6 @@ init_glx (ScreenInfo *screen_info)
if (!check_glx_renderer (screen_info))
{
g_warning ("Screen is missing required GL renderer, GL support disabled.");
free_glx_data (screen_info);
return FALSE;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment