[PATCH weston 1/5] gl-renderer: save OpenGL version in renderer context
Arnaud Vrac
rawoul at gmail.com
Wed Nov 29 14:25:31 UTC 2017
From: Arnaud Vrac <avrac at freebox.fr>
Signed-off-by: Arnaud Vrac <rawoul at gmail.com>
---
libweston/gl-renderer.c | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/libweston/gl-renderer.c b/libweston/gl-renderer.c
index 94d81ef4..0a7db13f 100644
--- a/libweston/gl-renderer.c
+++ b/libweston/gl-renderer.c
@@ -199,6 +199,9 @@ struct gl_renderer {
EGLSurface dummy_surface;
+ int gl_major;
+ int gl_minor;
+
struct wl_array vertices;
struct wl_array vtxcnt;
@@ -3572,6 +3575,27 @@ fan_debug_repaint_binding(struct weston_keyboard *keyboard,
weston_compositor_damage_all(compositor);
}
+static bool
+get_gl_version(int *major, int *minor)
+{
+ const char *version;
+
+ version = (const char *) glGetString(GL_VERSION);
+ if (version) {
+ if (sscanf(version, "%d.%d", major, minor) == 2)
+ return true;
+
+ if (sscanf(version, "OpenGL ES %d.%d", major, minor) == 2)
+ return true;
+ }
+
+ weston_log("failed to get GL version, default to GLES 2.0\n");
+ *major = 2;
+ *minor = 0;
+
+ return false;
+}
+
static int
gl_renderer_setup(struct weston_compositor *ec, EGLSurface egl_surface)
{
@@ -3612,6 +3636,8 @@ gl_renderer_setup(struct weston_compositor *ec, EGLSurface egl_surface)
return -1;
}
+ get_gl_version(&gr->gl_major, &gr->gl_minor);
+
log_egl_gl_info(gr->egl_display);
gr->image_target_texture_2d =
--
2.15.0
More information about the wayland-devel
mailing list