diff options
Diffstat (limited to 'src/mesa/vbo/vbo_attrib.h')
-rw-r--r-- | src/mesa/vbo/vbo_attrib.h | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/src/mesa/vbo/vbo_attrib.h b/src/mesa/vbo/vbo_attrib.h index fb11596e88b..ba36ab75aa5 100644 --- a/src/mesa/vbo/vbo_attrib.h +++ b/src/mesa/vbo/vbo_attrib.h @@ -34,22 +34,23 @@ /* - * Note: The first attributes match the VERT_ATTRIB_* definitions - * in mtypes.h. However, the tnl module has additional attributes - * for materials, color indexes, edge flags, etc. + * Note: The first 32 attributes match the VERT_ATTRIB_* definitions. + * However, we have extra attributes for storing per-vertex glMaterial + * values. The material attributes get shifted into the generic positions + * at draw time. + * + * One reason we can't alias materials and generics here is display lists. + * A display list might contain both generic attributes and material + * attributes which are selected at draw time depending on whether we're + * using fixed function or a shader. <sigh> */ -/* Although it's nice to use these as bit indexes in a DWORD flag, we - * could manage without if necessary. Another limit currently is the - * number of bits allocated for these numbers in places like vertex - * program instruction formats and register layouts. - */ -enum { +enum vbo_attrib { VBO_ATTRIB_POS, VBO_ATTRIB_NORMAL, VBO_ATTRIB_COLOR0, VBO_ATTRIB_COLOR1, VBO_ATTRIB_FOG, - VBO_ATTRIB_INDEX, + VBO_ATTRIB_COLOR_INDEX, VBO_ATTRIB_EDGEFLAG, VBO_ATTRIB_TEX0, VBO_ATTRIB_TEX1, |