mesa: move _DrawVAOEnabledAttribs determination into st_update_array
authorMarek Olšák <marek.olsak@amd.com>
Tue, 22 Nov 2022 11:57:43 +0000 (06:57 -0500)
committerMarge Bot <emma+marge@anholt.net>
Mon, 12 Dec 2022 19:15:34 +0000 (19:15 +0000)
commitfe1d53355324a42ca6c69bd565131255aec0a56c
treed29ae911fa33f1791a3d9d40e00b6ca512b6ddaf
parent01ef28f1aff66a9239e22974e1d65708cb6a4c67
mesa: move _DrawVAOEnabledAttribs determination into st_update_array

This can just be computed where it's used.

Now the non-glDraw paths like glRasterPos, glBegin/End, and the slow
display list path have to save and restore _VPModeInputFilter, which
is the only field that's different from the glDraw* path.

_VPModeInputFilter is a bitmask of VP inputs that might have to be bound.
The only difference with glBegin/End and the slow display list path is
that they also add VERT_BIT_MAT_ALL to the bitmask, whereas the glDraw* path
doesn't have that.

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19953>
src/mesa/main/arrayobj.h
src/mesa/main/draw.c
src/mesa/main/draw.h
src/mesa/main/mtypes.h
src/mesa/state_tracker/st_atom_array.cpp
src/mesa/state_tracker/st_cb_rasterpos.c
src/mesa/state_tracker/st_context.c
src/mesa/vbo/vbo_exec_draw.c
src/mesa/vbo/vbo_save_draw.c