libEGL: silence warnings for client extension querying
Client extensions may be queried by
eglQueryString(EGL_NO_DISPLAY, EGL_EXTENSIONS);
Generate EGL_BAD_DISPLAY, but do not log the error.
Bug: 30301853
Change-Id: Ie67987b0ec0a8e70937e8baa16baa4f1a204915f
diff --git a/opengl/libs/EGL/eglApi.cpp b/opengl/libs/EGL/eglApi.cpp
index f5dfb92..80a9f40 100644
--- a/opengl/libs/EGL/eglApi.cpp
+++ b/opengl/libs/EGL/eglApi.cpp
@@ -1133,6 +1133,16 @@
{
clearError();
+ // Generate an error quietly when client extensions (as defined by
+ // EGL_EXT_client_extensions) are queried. We do not want to rely on
+ // validate_display to generate the error as validate_display would log
+ // the error, which can be misleading.
+ //
+ // If we want to support EGL_EXT_client_extensions later, we can return
+ // the client extension string here instead.
+ if (dpy == EGL_NO_DISPLAY && name == EGL_EXTENSIONS)
+ return setErrorQuiet(EGL_BAD_DISPLAY, nullptr);
+
const egl_display_ptr dp = validate_display(dpy);
if (!dp) return (const char *) NULL;