mesa/vbo: replace vbo_draw_method() with _mesa_set_drawing_arrays()
authorBrian Paul <brianp@vmware.com>
Wed, 24 Jan 2018 16:14:35 +0000 (09:14 -0700)
committerBrian Paul <brianp@vmware.com>
Mon, 29 Jan 2018 15:35:14 +0000 (08:35 -0700)
commit0d044f7d619c56c67d8235312363d93e2362248f
tree14c151223842438d386f5369075b007f44d4c377
parentd9894ede02d13735c62da3e0ace9e9c647e2956a
mesa/vbo: replace vbo_draw_method() with _mesa_set_drawing_arrays()

The arrays specified by ctx->Array._DrawArrays are used for all
vertex drawing via vbo_context::draw_prims().  Different arrays are
used for immediate mode, vertex arrays, display lists, etc.  Changing
from one to another requires updating derived/driver array state.

Before, we indirectly specifid the arrays with the gl_draw_method values.
Now we just directly specify the arrays instead.  This is simpler and
will allow a subsequent display list optimization.

In the future, it might make sense to get rid of ctx->Array._DrawArrays
entirely and just pass the arrays as another parameter to
vbo_context::draw_prims().

Reviewed-by: Mathias Fröhlich <mathias.froehlich@web.de>
src/mesa/main/arrayobj.c
src/mesa/main/attrib.c
src/mesa/main/mtypes.h
src/mesa/main/varray.h
src/mesa/vbo/vbo_exec_api.c
src/mesa/vbo/vbo_exec_array.c
src/mesa/vbo/vbo_private.h
src/mesa/vbo/vbo_save_draw.c