summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarish Krupo <[email protected]>2017-12-08 21:29:39 +0530
committerTapani Pälli <[email protected]>2017-12-14 13:43:03 +0200
commit96fc5fbf232b6bc7f3db0b5037df9f120704980f (patch)
treec4b65fec94e9acf01e91b6ab3b98e6013581a459
parent4eb0dca46bf481258443bb76fb542613c3a260d1 (diff)
egl/android: Provide an option for the backend to expose KHR_image
From android cts 8.0_r4, a new test case checks if all the required egl extensions are exposed. In the current implementation we expose KHR_image if KHR_image_base and KHR_image_pixmap are supported but KHR_image spec does not mandate the existence of both the extensions. This patch preserves the current check and also provides the backend with an option to expose the KHR_image extension. Test: run cts -m CtsOpenGLTestCases -t \ android.opengl.cts.OpenGlEsVersionTest#testRequiredEglExtensions Signed-off-by: Harish Krupo <[email protected]> Reviewed-by: Tapani Pälli <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
-rw-r--r--src/egl/drivers/dri2/platform_android.c1
-rw-r--r--src/egl/main/eglapi.c3
-rw-r--r--src/egl/main/egldisplay.h1
3 files changed, 4 insertions, 1 deletions
diff --git a/src/egl/drivers/dri2/platform_android.c b/src/egl/drivers/dri2/platform_android.c
index 2320fb6f214..7cf03b3467f 100644
--- a/src/egl/drivers/dri2/platform_android.c
+++ b/src/egl/drivers/dri2/platform_android.c
@@ -1249,6 +1249,7 @@ dri2_initialize_android(_EGLDriver *drv, _EGLDisplay *dpy)
#if ANDROID_API_LEVEL >= 23
dpy->Extensions.KHR_partial_update = EGL_TRUE;
#endif
+ dpy->Extensions.KHR_image = EGL_TRUE;
/* Fill vtbl last to prevent accidentally calling virtual function during
* initialization.
diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c
index cec67425e13..5110688f2d1 100644
--- a/src/egl/main/eglapi.c
+++ b/src/egl/main/eglapi.c
@@ -504,7 +504,8 @@ _eglCreateExtensionsString(_EGLDisplay *dpy)
_EGL_CHECK_EXTENSION(KHR_gl_texture_3D_image);
_EGL_CHECK_EXTENSION(KHR_gl_texture_cubemap_image);
if (dpy->Extensions.KHR_image_base && dpy->Extensions.KHR_image_pixmap)
- _eglAppendExtension(&exts, "EGL_KHR_image");
+ dpy->Extensions.KHR_image = EGL_TRUE;
+ _EGL_CHECK_EXTENSION(KHR_image);
_EGL_CHECK_EXTENSION(KHR_image_base);
_EGL_CHECK_EXTENSION(KHR_image_pixmap);
_EGL_CHECK_EXTENSION(KHR_no_config_context);
diff --git a/src/egl/main/egldisplay.h b/src/egl/main/egldisplay.h
index 52fb4ce21bb..0005c81836d 100644
--- a/src/egl/main/egldisplay.h
+++ b/src/egl/main/egldisplay.h
@@ -122,6 +122,7 @@ struct _egl_extensions
EGLBoolean KHR_gl_texture_2D_image;
EGLBoolean KHR_gl_texture_3D_image;
EGLBoolean KHR_gl_texture_cubemap_image;
+ EGLBoolean KHR_image;
EGLBoolean KHR_image_base;
EGLBoolean KHR_image_pixmap;
EGLBoolean KHR_no_config_context;