glthread: handle GL_*_ARRAY in glEnable/Disable

Surprisingly, the GL compatibility profile allows these in both
glEnableClientState and glEnable.

Fixes: 0b1dd18591 - glthread: track which vertex array attribs are enabled

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20824>
(cherry picked from commit 777166cc66)
This commit is contained in:
Marek Olšák 2022-12-26 14:59:53 -05:00 committed by Eric Engestrom
parent 75a63104b0
commit 16fc1641cc
2 changed files with 25 additions and 1 deletions

View file

@ -1921,7 +1921,7 @@
"description": "glthread: handle GL_*_ARRAY in glEnable/Disable",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "0b1dd1859134e71b25ad1124535df96d435e9766"
},

View file

@ -488,6 +488,18 @@ _mesa_glthread_Enable(struct gl_context *ctx, GLenum cap)
case GL_POLYGON_STIPPLE:
ctx->GLThread.PolygonStipple = true;
break;
case GL_VERTEX_ARRAY:
case GL_NORMAL_ARRAY:
case GL_COLOR_ARRAY:
case GL_TEXTURE_COORD_ARRAY:
case GL_INDEX_ARRAY:
case GL_EDGE_FLAG_ARRAY:
case GL_FOG_COORDINATE_ARRAY:
case GL_SECONDARY_COLOR_ARRAY:
case GL_POINT_SIZE_ARRAY_OES:
_mesa_glthread_ClientState(ctx, NULL, _mesa_array_to_attrib(ctx, cap),
true);
break;
}
}
@ -517,6 +529,18 @@ _mesa_glthread_Disable(struct gl_context *ctx, GLenum cap)
case GL_POLYGON_STIPPLE:
ctx->GLThread.PolygonStipple = false;
break;
case GL_VERTEX_ARRAY:
case GL_NORMAL_ARRAY:
case GL_COLOR_ARRAY:
case GL_TEXTURE_COORD_ARRAY:
case GL_INDEX_ARRAY:
case GL_EDGE_FLAG_ARRAY:
case GL_FOG_COORDINATE_ARRAY:
case GL_SECONDARY_COLOR_ARRAY:
case GL_POINT_SIZE_ARRAY_OES:
_mesa_glthread_ClientState(ctx, NULL, _mesa_array_to_attrib(ctx, cap),
false);
break;
}
}