[Mesa-stable] [PATCH] mesa: raise error for glEnable(GL_VERTEX_ARRAY), etc. in core profile
Ilia Mirkin
imirkin at alum.mit.edu
Mon May 23 21:20:15 UTC 2016
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
On Mon, May 23, 2016 at 5:15 PM, Brian Paul <brianp at vmware.com> wrote:
> Otherwise, if the call executes normally we'll hit an assertion later
> in the VBO code when we draw something. Note that these cases were
> already handled correctly for the glIsEnabled() function (and the API
> checks were copied from there).
>
> Tested with new piglit gl-3.1-enable-vertex-array test.
>
> v2: fix compat/es mix-up, per Ilia.
>
> Cc: <mesa-stable at lists.freedesktop.org>
> Reviewed-by: Charmaine Lee <charmainel at vmware.com>
> ---
> src/mesa/main/enable.c | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c
> index d283077..1d674bf 100644
> --- a/src/mesa/main/enable.c
> +++ b/src/mesa/main/enable.c
> @@ -741,12 +741,22 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
> case GL_VERTEX_ARRAY:
> case GL_NORMAL_ARRAY:
> case GL_COLOR_ARRAY:
> - case GL_INDEX_ARRAY:
> case GL_TEXTURE_COORD_ARRAY:
> + if (ctx->API != API_OPENGL_COMPAT && ctx->API != API_OPENGLES)
> + goto invalid_enum_error;
> + client_state( ctx, cap, state );
> + return;
> + case GL_INDEX_ARRAY:
> case GL_EDGE_FLAG_ARRAY:
> case GL_FOG_COORDINATE_ARRAY_EXT:
> case GL_SECONDARY_COLOR_ARRAY_EXT:
> + if (ctx->API != API_OPENGL_COMPAT)
> + goto invalid_enum_error;
> + client_state( ctx, cap, state );
> + return;
> case GL_POINT_SIZE_ARRAY_OES:
> + if (ctx->API != API_OPENGLES)
> + goto invalid_enum_error;
> client_state( ctx, cap, state );
> return;
>
> --
> 1.9.1
>
More information about the mesa-stable
mailing list