From: Mathias Fröhlich <mathias.froehl...@gmx.net> Hi Brian,
The present series takes again care of the struct layout of the VAO. My last spring changes here destroyed the past attempt to get a minimum size struct layout on these structs. And with this series the property is again established. A struct gl_vertex_attributes instance has no pading bits anymore. The change also factors out a new struct gl_vertex_format from the vertex array objects member struct struct gl_vertex_attributes. At this series struct gl_vertex_format is only introduced and packed for the tight struct alignment, but can be used in many more places where we currently open code this set of data. The series also removes redundant storage for the enabled arrays and makes use of the more concise representation of this boolean flag. The series went through intels CI system without failures. Please review Thanks in advance and best Mathias Mathias Fröhlich (10): mesa: Rename gl_vertex_array_object::_Enabled -> Enabled. mesa: Use the gl_vertex_array_object::Enabled bitfield. mesa: Use gl_vertex_array_object::Enabled for glGet. mesa: Remove gl_array_attributes::Enabled. mesa: Work with bitmasks when en/dis-abling VAO arrays. mesa: Unify glEdgeFlagPointer data type. nouveau: Use gl_array_attribute::_ElementSize. tnl: Use gl_array_attribute::_ElementSize. mesa: Factor out struct gl_vertex_format. mesa: Remove unneeded bitfield widths from the VAO. src/mesa/drivers/dri/i965/brw_context.h | 2 +- src/mesa/drivers/dri/i965/brw_draw.c | 14 +- src/mesa/drivers/dri/i965/brw_draw_upload.c | 60 +++++---- src/mesa/drivers/dri/i965/genX_state_upload.c | 14 +- src/mesa/drivers/dri/nouveau/nouveau_vbo_t.c | 10 +- src/mesa/main/api_arrayelt.c | 62 ++++----- src/mesa/main/arrayobj.c | 55 +++----- src/mesa/main/arrayobj.h | 4 +- src/mesa/main/attrib.c | 4 +- src/mesa/main/draw.c | 31 +++-- src/mesa/main/draw_validate.c | 2 +- src/mesa/main/enable.c | 21 ++- src/mesa/main/get.c | 42 +++++- src/mesa/main/get_hash_params.py | 38 +++--- src/mesa/main/mtypes.h | 34 +++-- src/mesa/main/varray.c | 126 +++++++++--------- src/mesa/main/varray.h | 42 +++++- src/mesa/state_tracker/st_atom.h | 2 +- src/mesa/state_tracker/st_atom_array.c | 28 ++-- src/mesa/state_tracker/st_draw_feedback.c | 2 +- src/mesa/tnl/t_draw.c | 22 +-- src/mesa/tnl/t_split_copy.c | 25 +--- src/mesa/vbo/vbo_context.c | 5 +- src/mesa/vbo/vbo_exec_api.c | 13 +- src/mesa/vbo/vbo_exec_draw.c | 15 +-- src/mesa/vbo/vbo_private.h | 12 +- src/mesa/vbo/vbo_save_api.c | 19 ++- src/mesa/vbo/vbo_save_draw.c | 16 +-- src/mesa/vbo/vbo_save_loopback.c | 10 +- 29 files changed, 389 insertions(+), 341 deletions(-) -- 2.17.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev