[Mesa-dev] [PATCH] mesa: raise error for glEnable(GL_VERTEX_ARRAY), etc. in core profile
Ilia Mirkin
imirkin at alum.mit.edu
Mon May 23 21:03:59 UTC 2016
On Mon, May 23, 2016 at 4:35 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.
>
> Cc: <mesa-stable at lists.freedesktop.org>
> ---
> src/mesa/main/enable.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c
> index d283077..0e10961 100644
> --- a/src/mesa/main/enable.c
> +++ b/src/mesa/main/enable.c
> @@ -741,12 +741,18 @@ _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_EDGE_FLAG_ARRAY:
> + case GL_INDEX_ARRAY:
in IsEnabled it has:
case GL_INDEX_ARRAY:
if (ctx->API != API_OPENGL_COMPAT)
goto invalid_enum_error;
> case GL_FOG_COORDINATE_ARRAY_EXT:
> case GL_SECONDARY_COLOR_ARRAY_EXT:
> case GL_POINT_SIZE_ARRAY_OES:
> + if (ctx->API != API_OPENGLES)
I think this needs to be != API_OPENGL_COMPAT, and then make a
separate section for POINT_SIZE_ARRAY_OES which should be != OPENGLES.
> + goto invalid_enum_error;
> client_state( ctx, cap, state );
> return;
>
> --
> 1.9.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list