diff options
author | Harish Krupo <[email protected]> | 2017-12-08 21:29:39 +0530 |
---|---|---|
committer | Tapani Pälli <[email protected]> | 2017-12-14 13:43:03 +0200 |
commit | 96fc5fbf232b6bc7f3db0b5037df9f120704980f (patch) | |
tree | c4b65fec94e9acf01e91b6ab3b98e6013581a459 | |
parent | 4eb0dca46bf481258443bb76fb542613c3a260d1 (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.c | 1 | ||||
-rw-r--r-- | src/egl/main/eglapi.c | 3 | ||||
-rw-r--r-- | src/egl/main/egldisplay.h | 1 |
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; |