summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Anderson <scott.anderson@collabora.com>2019-12-20 14:28:44 +1300
committerScott Anderson <scott.anderson@collabora.com>2020-02-18 17:38:27 +1300
commitdddb592cfb4664b43477e2217e7cb6196205a6b0 (patch)
treebb8bf0ac89612adc6b6ab2bb052c0e18653dac5e
parent598d3a15b7beeb4d994d89b54ddb8e9ae24e9da9 (diff)
downloadweston-dddb592cfb4664b43477e2217e7cb6196205a6b0.tar.gz
gl-renderer: Move EGL client extension handling earlier
EGL client extensions are not tied to the EGLDisplay we create, and have an effect on how we create the EGLDisplay. Since we're using this to look for EGL_EXT_platform_base, it makes more sense for this to be near the start of the GL renderer initialization. Signed-off-by: Scott Anderson <scott.anderson@collabora.com>
-rw-r--r--libweston/renderer-gl/egl-glue.c6
-rw-r--r--libweston/renderer-gl/gl-renderer-internal.h3
-rw-r--r--libweston/renderer-gl/gl-renderer.c2
3 files changed, 7 insertions, 4 deletions
diff --git a/libweston/renderer-gl/egl-glue.c b/libweston/renderer-gl/egl-glue.c
index d96efeae..aea2b23c 100644
--- a/libweston/renderer-gl/egl-glue.c
+++ b/libweston/renderer-gl/egl-glue.c
@@ -455,8 +455,8 @@ gl_renderer_get_egl_config(struct gl_renderer *gr,
return egl_config;
}
-static void
-renderer_setup_egl_client_extensions(struct gl_renderer *gr)
+void
+gl_renderer_setup_egl_client_extensions(struct gl_renderer *gr)
{
const char *extensions;
@@ -593,7 +593,5 @@ gl_renderer_setup_egl_extensions(struct weston_compositor *ec)
"to missing EGL_KHR_wait_sync extension\n");
}
- renderer_setup_egl_client_extensions(gr);
-
return 0;
}
diff --git a/libweston/renderer-gl/gl-renderer-internal.h b/libweston/renderer-gl/gl-renderer-internal.h
index 00f617a9..f38bc344 100644
--- a/libweston/renderer-gl/gl-renderer-internal.h
+++ b/libweston/renderer-gl/gl-renderer-internal.h
@@ -135,6 +135,9 @@ gl_renderer_get_egl_config(struct gl_renderer *gr,
const uint32_t *drm_formats,
unsigned drm_formats_count);
+void
+gl_renderer_setup_egl_client_extensions(struct gl_renderer *gr);
+
int
gl_renderer_setup_egl_extensions(struct weston_compositor *ec);
diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c
index 79285c00..d481134a 100644
--- a/libweston/renderer-gl/gl-renderer.c
+++ b/libweston/renderer-gl/gl-renderer.c
@@ -3480,6 +3480,8 @@ gl_renderer_display_create(struct weston_compositor *ec,
if (gr == NULL)
return -1;
+ gl_renderer_setup_egl_client_extensions(gr);
+
gr->base.read_pixels = gl_renderer_read_pixels;
gr->base.repaint_output = gl_renderer_repaint_output;
gr->base.flush_damage = gl_renderer_flush_damage;