summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stone <daniels@collabora.com>2019-02-08 05:00:52 +0000
committerDaniel Stone <daniels@collabora.com>2019-06-26 12:28:03 +0100
commit0a86a81cc251330b15e213fde8434f291e35bf88 (patch)
tree0a9761553c4cd178badabefd4974b6651e335fec
parentf1cecef2f88006e1e76202d030830d58519afb3d (diff)
gl-renderer: Add EGL_EXT_partial_update query
Query for the extension itself and the core entrypoint. Signed-off-by: Daniel Stone <daniels@collabora.com>
-rw-r--r--libweston/renderer-gl/gl-renderer.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c
index ab86eb06..2c03f2ab 100644
--- a/libweston/renderer-gl/gl-renderer.c
+++ b/libweston/renderer-gl/gl-renderer.c
@@ -233,6 +233,8 @@ struct gl_renderer {
bool has_egl_image_external;
bool has_egl_buffer_age;
+ bool has_egl_partial_update;
+ PFNEGLSETDAMAGEREGIONKHRPROC set_damage_region;
bool has_configless_context;
@@ -3446,6 +3448,8 @@ gl_renderer_setup_egl_extensions(struct weston_compositor *ec)
(void *) eglGetProcAddress("eglUnbindWaylandDisplayWL");
gr->query_buffer =
(void *) eglGetProcAddress("eglQueryWaylandBufferWL");
+ gr->set_damage_region =
+ (void *) eglGetProcAddress("eglSetDamageRegionKHR");
extensions =
(const char *) eglQueryString(gr->egl_display, EGL_EXTENSIONS);
@@ -3468,6 +3472,9 @@ gl_renderer_setup_egl_extensions(struct weston_compositor *ec)
if (weston_check_egl_extension(extensions, "EGL_EXT_buffer_age"))
gr->has_egl_buffer_age = true;
+ if (weston_check_egl_extension(extensions, "EGL_KHR_partial_update"))
+ gr->has_egl_partial_update = true;
+
for (i = 0; i < ARRAY_LENGTH(swap_damage_ext_to_entrypoint); i++) {
if (weston_check_egl_extension(extensions,
swap_damage_ext_to_entrypoint[i].extension)) {