egl: Return EGL_BAD_MATCH for invalid profile attributes
authorMatt Turner <mattst88@gmail.com>
Tue, 9 Oct 2012 00:01:34 +0000 (17:01 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Fri, 2 Nov 2012 18:08:06 +0000 (11:08 -0700)
Version 12 of the EGL_KHR_create_context spec changed this behavior.

NOTE: This is a candidate for the 9.0 branch
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit 587d5db11d8047663201c5fb06a6b2feb5d55891)

src/egl/main/eglcontext.c

index 71eca6f..4efb76b 100644 (file)
@@ -229,17 +229,14 @@ _eglParseContextAttribList(_EGLContext *ctx, _EGLDisplay *dpy,
              *
              *     "* If an OpenGL context is requested, the requested version
              *        is greater than 3.2, and the value for attribute
-             *        EGL_CONTEXT_PROFILE_MASK_KHR has no bits set; has any
-             *        bits set other than EGL_CONTEXT_CORE_PROFILE_BIT_KHR and
-             *        EGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_KHR; has more than
-             *        one of these bits set; or if the implementation does not
-             *        support the requested profile, then an
-             *        EGL_BAD_PROFILE_KHR error is generated."
-             *
-             * However, it does not define EGL_BAD_PROFILE_KHR.  For now use
-             * EGL_BAD_ATTRIBUTE.
+             *        EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR has no bits set; has
+             *        any bits set other than EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR
+             *        and EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR; has
+             *        more than one of these bits set; or if the implementation does
+             *        not support the requested profile, then an EGL_BAD_MATCH error
+             *        is generated."
              */
-            err = EGL_BAD_ATTRIBUTE;
+            err = EGL_BAD_MATCH;
             break;
          }
       }