From 96fc5fbf232b6bc7f3db0b5037df9f120704980f Mon Sep 17 00:00:00 2001 From: Harish Krupo Date: Fri, 8 Dec 2017 21:29:39 +0530 Subject: [PATCH] egl/android: Provide an option for the backend to expose KHR_image MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Tapani Pälli Reviewed-by: Eric Engestrom Reviewed-by: Emil Velikov --- src/egl/drivers/dri2/platform_android.c | 1 + src/egl/main/eglapi.c | 3 ++- src/egl/main/egldisplay.h | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) 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; -- 2.30.2