On Thursday, 2017-12-07 19:04:41 +0530, Harish Krupo wrote: > 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.
Indeed, the spec even explicitly states so: > The specifications of EGL_KHR_image_base and EGL_KHR_image_pixmap are > required to determine the specification of this extension, although > those extentions may not be supported. Reviewed-by: Eric Engestrom <eric.engest...@imgtec.com> > 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 <harish.krupo....@intel.com> > --- > 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 63223e9a69..0459cc8be2 100644 > --- a/src/egl/drivers/dri2/platform_android.c > +++ b/src/egl/drivers/dri2/platform_android.c > @@ -1212,6 +1212,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 cec67425e1..5110688f2d 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; I feel like this doesn't belong here anymore though; should we move it to platform_*.c, where KHR_image_pixmap is enabled? This would be a separate patch though, feel free to land this one already. > + _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 52fb4ce21b..0005c81836 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.15.1 > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev