diff options
author | Scott Anderson <scott.anderson@collabora.com> | 2019-12-20 14:28:44 +1300 |
---|---|---|
committer | Scott Anderson <scott.anderson@collabora.com> | 2020-02-18 17:38:27 +1300 |
commit | dddb592cfb4664b43477e2217e7cb6196205a6b0 (patch) | |
tree | bb8bf0ac89612adc6b6ab2bb052c0e18653dac5e | |
parent | 598d3a15b7beeb4d994d89b54ddb8e9ae24e9da9 (diff) | |
download | weston-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.c | 6 | ||||
-rw-r--r-- | libweston/renderer-gl/gl-renderer-internal.h | 3 | ||||
-rw-r--r-- | libweston/renderer-gl/gl-renderer.c | 2 |
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; |