[Mesa-dev] [PATCH 3/3] glx: Allow to create any OpenGL ES version.
Jose Fonseca
jfonseca at vmware.com
Fri Apr 10 15:19:58 PDT 2015
On 12/11/14 18:16, Daniel Stone wrote:
> Hi,
>
> On 12 November 2014 12:37, <jfonseca at vmware.com
> <mailto:jfonseca at vmware.com>> wrote:
>
> @@ -544,9 +544,22 @@ dri2_convert_glx_attribs(unsigned num_attribs,
> const uint32_t *attribs,
> case GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB:
> *api = __DRI_API_OPENGL;
> break;
> - case GLX_CONTEXT_ES2_PROFILE_BIT_EXT:
> - *api = __DRI_API_GLES2;
> - break;
> + case GLX_CONTEXT_ES_PROFILE_BIT_EXT:
> + switch (*major_ver) {
> + case 3:
> + *api = __DRI_API_GLES3;
> + break;
> + case 2:
> + *api = __DRI_API_GLES2;
> + break;
> + case 1:
> + *api = __DRI_API_GLES;
> + break;
> + default:
> + *error = __DRI_CTX_ERROR_BAD_API;
> + return false;
> + }
> + break;
> default:
> *error = __DRI_CTX_ERROR_BAD_API;
> return false;
> @@ -577,19 +590,6 @@ dri2_convert_glx_attribs(unsigned num_attribs,
> const uint32_t *attribs,
> return false;
> }
>
> - /* The GLX_EXT_create_context_es2_profile spec says:
> - *
> - * "... If the version requested is 2.0, and the
> - * GLX_CONTEXT_ES2_PROFILE_BIT_EXT bit is set in the
> - * GLX_CONTEXT_PROFILE_MASK_ARB attribute (see below), then
> the context
> - * returned will implement OpenGL ES 2.0. This is the only
> way in which
> - * an implementation may request an OpenGL ES 2.0 context."
> - */
> - if (*api == __DRI_API_GLES2 && (*major_ver != 2 || *minor_ver !=
> 0)) {
>
>
> It looks like you're missing minor_ver checking here? For instance, 2.99
> isn't a valid GLES version.
>
> Cheers,
> Daniel
I'm trying to get this patch off my plate.
I think it should be OK not to check minor_ver here. We don't get
minor_ver for the desktop (non-ES) contexts. I belive the major/minor
version checking done inside Mesa still applies.
Jose
More information about the mesa-dev
mailing list