[PATCH] glamor: Make our EGL context current before calling into GL in glamor_init
Michel Dänzer
michel at daenzer.net
Tue Jul 21 23:37:23 PDT 2015
From: Michel Dänzer <michel.daenzer at amd.com>
Without this, the context of another screen may be current, or no context
at all if glamor_egl_init failed for another screen.
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---
glamor/glamor.c | 26 ++++++++++++++------------
1 file changed, 14 insertions(+), 12 deletions(-)
diff --git a/glamor/glamor.c b/glamor/glamor.c
index 6dcc259..439906a 100644
--- a/glamor/glamor.c
+++ b/glamor/glamor.c
@@ -457,6 +457,20 @@ glamor_init(ScreenPtr screen, unsigned int flags)
goto fail;
}
+ glamor_priv->saved_procs.close_screen = screen->CloseScreen;
+ screen->CloseScreen = glamor_close_screen;
+
+ /* If we are using egl screen, call egl screen init to
+ * register correct close screen function. */
+ if (flags & GLAMOR_USE_EGL_SCREEN) {
+ glamor_egl_screen_init(screen, &glamor_priv->ctx);
+ } else {
+ if (!glamor_glx_screen_init(&glamor_priv->ctx))
+ goto fail;
+ }
+
+ glamor_make_current(glamor_priv);
+
if (epoxy_is_desktop_gl())
glamor_priv->gl_flavor = GLAMOR_GL_DESKTOP;
else
@@ -579,18 +593,6 @@ glamor_init(ScreenPtr screen, unsigned int flags)
glamor_set_debug_level(&glamor_debug_level);
- glamor_priv->saved_procs.close_screen = screen->CloseScreen;
- screen->CloseScreen = glamor_close_screen;
-
- /* If we are using egl screen, call egl screen init to
- * register correct close screen function. */
- if (flags & GLAMOR_USE_EGL_SCREEN) {
- glamor_egl_screen_init(screen, &glamor_priv->ctx);
- } else {
- if (!glamor_glx_screen_init(&glamor_priv->ctx))
- goto fail;
- }
-
glamor_priv->saved_procs.create_screen_resources =
screen->CreateScreenResources;
screen->CreateScreenResources = glamor_create_screen_resources;
--
2.1.4
More information about the xorg-devel
mailing list