From: Harish Krupo Date: Fri, 8 Dec 2017 15:59:39 +0000 (+0530) Subject: egl/android: Provide an option for the backend to expose KHR_image X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=96fc5fbf232b6bc7f3db0b5037df9f120704980f;p=mesa.git 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 Reviewed-by: Tapani Pälli Reviewed-by: Eric Engestrom Reviewed-by: Emil Velikov --- 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;