Reviewed-by: Marek Olšák <marek.ol...@amd.com> Marek
On Wed, Nov 12, 2014 at 1:37 PM, <jfons...@vmware.com> wrote: > From: José Fonseca <jfons...@vmware.com> > > The latest version of the specs explicitly allow it, and given that Mesa > universally supports KHR_debug we should definitely support it. > > Totally untested. (Just happened to noticed this while implementing > GLX_EXT_create_context_es2_profile for st/xlib.) > --- > src/gallium/state_trackers/dri/dri_context.c | 6 +++--- > src/mesa/drivers/dri/common/dri_util.c | 14 ++++++-------- > 2 files changed, 9 insertions(+), 11 deletions(-) > > diff --git a/src/gallium/state_trackers/dri/dri_context.c > b/src/gallium/state_trackers/dri/dri_context.c > index fe3240a..84b8807 100644 > --- a/src/gallium/state_trackers/dri/dri_context.c > +++ b/src/gallium/state_trackers/dri/dri_context.c > @@ -72,9 +72,6 @@ dri_create_context(gl_api api, const struct gl_config * > visual, > attribs.major = major_version; > attribs.minor = minor_version; > > - if ((flags & __DRI_CTX_FLAG_DEBUG) != 0) > - attribs.flags |= ST_CONTEXT_FLAG_DEBUG; > - > if ((flags & __DRI_CTX_FLAG_FORWARD_COMPATIBLE) != 0) > attribs.flags |= ST_CONTEXT_FLAG_FORWARD_COMPATIBLE; > break; > @@ -83,6 +80,9 @@ dri_create_context(gl_api api, const struct gl_config * > visual, > goto fail; > } > > + if ((flags & __DRI_CTX_FLAG_DEBUG) != 0) > + attribs.flags |= ST_CONTEXT_FLAG_DEBUG; > + > if (flags & ~(__DRI_CTX_FLAG_DEBUG | __DRI_CTX_FLAG_FORWARD_COMPATIBLE)) { > *error = __DRI_CTX_ERROR_UNKNOWN_FLAG; > goto fail; > diff --git a/src/mesa/drivers/dri/common/dri_util.c > b/src/mesa/drivers/dri/common/dri_util.c > index 02499f2..d6e875f 100644 > --- a/src/mesa/drivers/dri/common/dri_util.c > +++ b/src/mesa/drivers/dri/common/dri_util.c > @@ -376,19 +376,17 @@ driCreateContextAttribs(__DRIscreen *screen, int api, > return NULL; > } > > - /* The EGL_KHR_create_context spec says: > + /* The latest version of EGL_KHR_create_context spec says: > * > - * "Flags are only defined for OpenGL context creation, and > specifying > - * a flags value other than zero for other types of contexts, > - * including OpenGL ES contexts, will generate an error." > + * "If the EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR flag bit is set in > + * EGL_CONTEXT_FLAGS_KHR, then a <debug context> will be created. > + * [...] This bit is supported for OpenGL and OpenGL ES contexts. > * > - * The GLX_EXT_create_context_es2_profile specification doesn't say > - * anything specific about this case. However, none of the known flags > - * have any meaning in an ES context, so this seems safe. > + * None of the other flags have any meaning in an ES context, so this > seems safe. > */ > if (mesa_api != API_OPENGL_COMPAT > && mesa_api != API_OPENGL_CORE > - && flags != 0) { > + && (flags & ~__DRI_CTX_FLAG_DEBUG)) { > *error = __DRI_CTX_ERROR_BAD_FLAG; > return NULL; > } > -- > 2.1.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev