Patches 7, 8, and 9 are Reviewed-by: Ian Romanick <ian.d.roman...@intel.com>
On 11/21/2017 10:01 AM, Marek Olšák wrote: > From: Marek Olšák <marek.ol...@amd.com> > > I plan to remove one of them. > --- > src/compiler/shader_enums.h | 68 ++++++++++++++-------------- > src/mesa/tnl/t_context.h | 106 > ++++++++++++++++++++++---------------------- > src/mesa/vbo/vbo_attrib.h | 92 +++++++++++++++++++------------------- > 3 files changed, 133 insertions(+), 133 deletions(-) > > diff --git a/src/compiler/shader_enums.h b/src/compiler/shader_enums.h > index 9d229d4..17b236e 100644 > --- a/src/compiler/shader_enums.h > +++ b/src/compiler/shader_enums.h > @@ -67,54 +67,54 @@ const char *_mesa_shader_stage_to_abbrev(unsigned stage); > > /** > * Indexes for vertex program attributes. > * GL_NV_vertex_program aliases generic attributes over the conventional > * attributes. In GL_ARB_vertex_program shader the aliasing is optional. > * In GL_ARB_vertex_shader / OpenGL 2.0 the aliasing is disallowed (the > * generic attributes are distinct/separate). > */ > typedef enum > { > - VERT_ATTRIB_POS = 0, > - VERT_ATTRIB_WEIGHT = 1, > - VERT_ATTRIB_NORMAL = 2, > - VERT_ATTRIB_COLOR0 = 3, > - VERT_ATTRIB_COLOR1 = 4, > - VERT_ATTRIB_FOG = 5, > - VERT_ATTRIB_COLOR_INDEX = 6, > - VERT_ATTRIB_EDGEFLAG = 7, > - VERT_ATTRIB_TEX0 = 8, > - VERT_ATTRIB_TEX1 = 9, > - VERT_ATTRIB_TEX2 = 10, > - VERT_ATTRIB_TEX3 = 11, > - VERT_ATTRIB_TEX4 = 12, > - VERT_ATTRIB_TEX5 = 13, > - VERT_ATTRIB_TEX6 = 14, > - VERT_ATTRIB_TEX7 = 15, > - VERT_ATTRIB_POINT_SIZE = 16, > - VERT_ATTRIB_GENERIC0 = 17, > - VERT_ATTRIB_GENERIC1 = 18, > - VERT_ATTRIB_GENERIC2 = 19, > - VERT_ATTRIB_GENERIC3 = 20, > - VERT_ATTRIB_GENERIC4 = 21, > - VERT_ATTRIB_GENERIC5 = 22, > - VERT_ATTRIB_GENERIC6 = 23, > - VERT_ATTRIB_GENERIC7 = 24, > - VERT_ATTRIB_GENERIC8 = 25, > - VERT_ATTRIB_GENERIC9 = 26, > - VERT_ATTRIB_GENERIC10 = 27, > - VERT_ATTRIB_GENERIC11 = 28, > - VERT_ATTRIB_GENERIC12 = 29, > - VERT_ATTRIB_GENERIC13 = 30, > - VERT_ATTRIB_GENERIC14 = 31, > - VERT_ATTRIB_GENERIC15 = 32, > - VERT_ATTRIB_MAX = 33 > + VERT_ATTRIB_POS, > + VERT_ATTRIB_WEIGHT, > + VERT_ATTRIB_NORMAL, > + VERT_ATTRIB_COLOR0, > + VERT_ATTRIB_COLOR1, > + VERT_ATTRIB_FOG, > + VERT_ATTRIB_COLOR_INDEX, > + VERT_ATTRIB_EDGEFLAG, > + VERT_ATTRIB_TEX0, > + VERT_ATTRIB_TEX1, > + VERT_ATTRIB_TEX2, > + VERT_ATTRIB_TEX3, > + VERT_ATTRIB_TEX4, > + VERT_ATTRIB_TEX5, > + VERT_ATTRIB_TEX6, > + VERT_ATTRIB_TEX7, > + VERT_ATTRIB_POINT_SIZE, > + VERT_ATTRIB_GENERIC0, > + VERT_ATTRIB_GENERIC1, > + VERT_ATTRIB_GENERIC2, > + VERT_ATTRIB_GENERIC3, > + VERT_ATTRIB_GENERIC4, > + VERT_ATTRIB_GENERIC5, > + VERT_ATTRIB_GENERIC6, > + VERT_ATTRIB_GENERIC7, > + VERT_ATTRIB_GENERIC8, > + VERT_ATTRIB_GENERIC9, > + VERT_ATTRIB_GENERIC10, > + VERT_ATTRIB_GENERIC11, > + VERT_ATTRIB_GENERIC12, > + VERT_ATTRIB_GENERIC13, > + VERT_ATTRIB_GENERIC14, > + VERT_ATTRIB_GENERIC15, > + VERT_ATTRIB_MAX > } gl_vert_attrib; > > const char *gl_vert_attrib_name(gl_vert_attrib attrib); > > /** > * Symbolic constats to help iterating over > * specific blocks of vertex attributes. > * > * VERT_ATTRIB_FF > * includes all fixed function attributes as well as > diff --git a/src/mesa/tnl/t_context.h b/src/mesa/tnl/t_context.h > index e7adb5f..67a87f2 100644 > --- a/src/mesa/tnl/t_context.h > +++ b/src/mesa/tnl/t_context.h > @@ -69,84 +69,84 @@ > * number of bits allocated for these numbers in places like vertex > * program instruction formats and register layouts. > */ > /* The bit space exhaustion is a fact now, done by _TNL_ATTRIB_ATTRIBUTE* for > * GLSL vertex shader which cannot be aliased with conventional vertex > attribs. > * Compacting _TNL_ATTRIB_MAT_* attribs would not work, they would not give > * as many free bits (11 plus already 1 free bit) as _TNL_ATTRIB_ATTRIBUTE* > * attribs want (16). > */ > enum { > - _TNL_ATTRIB_POS = 0, > - _TNL_ATTRIB_WEIGHT = 1, > - _TNL_ATTRIB_NORMAL = 2, > - _TNL_ATTRIB_COLOR0 = 3, > - _TNL_ATTRIB_COLOR1 = 4, > - _TNL_ATTRIB_FOG = 5, > - _TNL_ATTRIB_COLOR_INDEX = 6, > - _TNL_ATTRIB_EDGEFLAG = 7, > - _TNL_ATTRIB_TEX0 = 8, > - _TNL_ATTRIB_TEX1 = 9, > - _TNL_ATTRIB_TEX2 = 10, > - _TNL_ATTRIB_TEX3 = 11, > - _TNL_ATTRIB_TEX4 = 12, > - _TNL_ATTRIB_TEX5 = 13, > - _TNL_ATTRIB_TEX6 = 14, > - _TNL_ATTRIB_TEX7 = 15, > - > - _TNL_ATTRIB_GENERIC0 = 17, /* doesn't really exist! */ > - _TNL_ATTRIB_GENERIC1 = 18, > - _TNL_ATTRIB_GENERIC2 = 19, > - _TNL_ATTRIB_GENERIC3 = 20, > - _TNL_ATTRIB_GENERIC4 = 21, > - _TNL_ATTRIB_GENERIC5 = 22, > - _TNL_ATTRIB_GENERIC6 = 23, > - _TNL_ATTRIB_GENERIC7 = 24, > - _TNL_ATTRIB_GENERIC8 = 25, > - _TNL_ATTRIB_GENERIC9 = 26, > - _TNL_ATTRIB_GENERIC10 = 27, > - _TNL_ATTRIB_GENERIC11 = 28, > - _TNL_ATTRIB_GENERIC12 = 29, > - _TNL_ATTRIB_GENERIC13 = 30, > - _TNL_ATTRIB_GENERIC14 = 31, > - _TNL_ATTRIB_GENERIC15 = 32, > + _TNL_ATTRIB_POS, > + _TNL_ATTRIB_WEIGHT, > + _TNL_ATTRIB_NORMAL, > + _TNL_ATTRIB_COLOR0, > + _TNL_ATTRIB_COLOR1, > + _TNL_ATTRIB_FOG, > + _TNL_ATTRIB_COLOR_INDEX, > + _TNL_ATTRIB_EDGEFLAG, > + _TNL_ATTRIB_TEX0, > + _TNL_ATTRIB_TEX1, > + _TNL_ATTRIB_TEX2, > + _TNL_ATTRIB_TEX3, > + _TNL_ATTRIB_TEX4, > + _TNL_ATTRIB_TEX5, > + _TNL_ATTRIB_TEX6, > + _TNL_ATTRIB_TEX7, > + > + /* This is really a VARYING_SLOT, not an attrib. Need to fix > + * tnl to understand the difference. > + */ > + _TNL_ATTRIB_POINTSIZE, > + > + _TNL_ATTRIB_GENERIC0, /* doesn't really exist! */ > + _TNL_ATTRIB_GENERIC1, > + _TNL_ATTRIB_GENERIC2, > + _TNL_ATTRIB_GENERIC3, > + _TNL_ATTRIB_GENERIC4, > + _TNL_ATTRIB_GENERIC5, > + _TNL_ATTRIB_GENERIC6, > + _TNL_ATTRIB_GENERIC7, > + _TNL_ATTRIB_GENERIC8, > + _TNL_ATTRIB_GENERIC9, > + _TNL_ATTRIB_GENERIC10, > + _TNL_ATTRIB_GENERIC11, > + _TNL_ATTRIB_GENERIC12, > + _TNL_ATTRIB_GENERIC13, > + _TNL_ATTRIB_GENERIC14, > + _TNL_ATTRIB_GENERIC15, > + > + _TNL_ATTRIB_MAX, > > /* These alias with the generics, but they are not active > * concurrently, so it's not a problem. The TNL module > * doesn't have to do anything about this as this is how they > * are passed into the _draw_prims callback. > * > * When we generate fixed-function replacement programs (in > * t_vp_build.c currently), they refer to the appropriate > * generic attribute in order to pick up per-vertex material > * data. > */ > - _TNL_ATTRIB_MAT_FRONT_AMBIENT = 17, > - _TNL_ATTRIB_MAT_BACK_AMBIENT = 18, > - _TNL_ATTRIB_MAT_FRONT_DIFFUSE = 19, > - _TNL_ATTRIB_MAT_BACK_DIFFUSE = 20, > - _TNL_ATTRIB_MAT_FRONT_SPECULAR = 21, > - _TNL_ATTRIB_MAT_BACK_SPECULAR = 22, > - _TNL_ATTRIB_MAT_FRONT_EMISSION = 23, > - _TNL_ATTRIB_MAT_BACK_EMISSION = 24, > - _TNL_ATTRIB_MAT_FRONT_SHININESS = 25, > - _TNL_ATTRIB_MAT_BACK_SHININESS = 26, > - _TNL_ATTRIB_MAT_FRONT_INDEXES = 27, > - _TNL_ATTRIB_MAT_BACK_INDEXES = 28, > - > - /* This is really a VARYING_SLOT, not an attrib. Need to fix > - * tnl to understand the difference. > - */ > - _TNL_ATTRIB_POINTSIZE = 16, > - > - _TNL_ATTRIB_MAX = 33 > -} ; > + _TNL_ATTRIB_MAT_FRONT_AMBIENT = _TNL_ATTRIB_GENERIC0, > + _TNL_ATTRIB_MAT_BACK_AMBIENT, > + _TNL_ATTRIB_MAT_FRONT_DIFFUSE, > + _TNL_ATTRIB_MAT_BACK_DIFFUSE, > + _TNL_ATTRIB_MAT_FRONT_SPECULAR, > + _TNL_ATTRIB_MAT_BACK_SPECULAR, > + _TNL_ATTRIB_MAT_FRONT_EMISSION, > + _TNL_ATTRIB_MAT_BACK_EMISSION, > + _TNL_ATTRIB_MAT_FRONT_SHININESS, > + _TNL_ATTRIB_MAT_BACK_SHININESS, > + _TNL_ATTRIB_MAT_FRONT_INDEXES, > + _TNL_ATTRIB_MAT_BACK_INDEXES, > +}; > > #define _TNL_ATTRIB_TEX(u) (_TNL_ATTRIB_TEX0 + (u)) > #define _TNL_ATTRIB_GENERIC(n) (_TNL_ATTRIB_GENERIC0 + (n)) > > /* special index used for handing invalid glVertexAttribute() indices */ > #define _TNL_ATTRIB_ERROR (_TNL_ATTRIB_GENERIC15 + 1) > > /** > * Handy attribute ranges: > */ > diff --git a/src/mesa/vbo/vbo_attrib.h b/src/mesa/vbo/vbo_attrib.h > index 5ee77fe..560c826 100644 > --- a/src/mesa/vbo/vbo_attrib.h > +++ b/src/mesa/vbo/vbo_attrib.h > @@ -37,72 +37,72 @@ > * 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. > */ > /* 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 { > - VBO_ATTRIB_POS = 0, > - VBO_ATTRIB_WEIGHT = 1, > - VBO_ATTRIB_NORMAL = 2, > - VBO_ATTRIB_COLOR0 = 3, > - VBO_ATTRIB_COLOR1 = 4, > - VBO_ATTRIB_FOG = 5, > - VBO_ATTRIB_INDEX = 6, > - VBO_ATTRIB_EDGEFLAG = 7, > - VBO_ATTRIB_TEX0 = 8, > - VBO_ATTRIB_TEX1 = 9, > - VBO_ATTRIB_TEX2 = 10, > - VBO_ATTRIB_TEX3 = 11, > - VBO_ATTRIB_TEX4 = 12, > - VBO_ATTRIB_TEX5 = 13, > - VBO_ATTRIB_TEX6 = 14, > - VBO_ATTRIB_TEX7 = 15, > - VBO_ATTRIB_POINT_SIZE = 16, > + VBO_ATTRIB_POS, > + VBO_ATTRIB_WEIGHT, > + VBO_ATTRIB_NORMAL, > + VBO_ATTRIB_COLOR0, > + VBO_ATTRIB_COLOR1, > + VBO_ATTRIB_FOG, > + VBO_ATTRIB_INDEX, > + VBO_ATTRIB_EDGEFLAG, > + VBO_ATTRIB_TEX0, > + VBO_ATTRIB_TEX1, > + VBO_ATTRIB_TEX2, > + VBO_ATTRIB_TEX3, > + VBO_ATTRIB_TEX4, > + VBO_ATTRIB_TEX5, > + VBO_ATTRIB_TEX6, > + VBO_ATTRIB_TEX7, > + VBO_ATTRIB_POINT_SIZE, > > - VBO_ATTRIB_GENERIC0 = 17, /* Not used? */ > - VBO_ATTRIB_GENERIC1 = 18, > - VBO_ATTRIB_GENERIC2 = 19, > - VBO_ATTRIB_GENERIC3 = 20, > - VBO_ATTRIB_GENERIC4 = 21, > - VBO_ATTRIB_GENERIC5 = 22, > - VBO_ATTRIB_GENERIC6 = 23, > - VBO_ATTRIB_GENERIC7 = 24, > - VBO_ATTRIB_GENERIC8 = 25, > - VBO_ATTRIB_GENERIC9 = 26, > - VBO_ATTRIB_GENERIC10 = 27, > - VBO_ATTRIB_GENERIC11 = 28, > - VBO_ATTRIB_GENERIC12 = 29, > - VBO_ATTRIB_GENERIC13 = 30, > - VBO_ATTRIB_GENERIC14 = 31, > - VBO_ATTRIB_GENERIC15 = 32, > + VBO_ATTRIB_GENERIC0, /* Not used? */ > + VBO_ATTRIB_GENERIC1, > + VBO_ATTRIB_GENERIC2, > + VBO_ATTRIB_GENERIC3, > + VBO_ATTRIB_GENERIC4, > + VBO_ATTRIB_GENERIC5, > + VBO_ATTRIB_GENERIC6, > + VBO_ATTRIB_GENERIC7, > + VBO_ATTRIB_GENERIC8, > + VBO_ATTRIB_GENERIC9, > + VBO_ATTRIB_GENERIC10, > + VBO_ATTRIB_GENERIC11, > + VBO_ATTRIB_GENERIC12, > + VBO_ATTRIB_GENERIC13, > + VBO_ATTRIB_GENERIC14, > + VBO_ATTRIB_GENERIC15, > > /* XXX: in the vertex program inputs_read flag, we alias > * materials and generics and use knowledge about the program > * (whether it is a fixed-function emulation) to > * differentiate. Here we must keep them apart instead. > */ > - VBO_ATTRIB_MAT_FRONT_AMBIENT = 33, > - VBO_ATTRIB_MAT_BACK_AMBIENT = 34, > - VBO_ATTRIB_MAT_FRONT_DIFFUSE = 35, > - VBO_ATTRIB_MAT_BACK_DIFFUSE = 36, > - VBO_ATTRIB_MAT_FRONT_SPECULAR = 37, > - VBO_ATTRIB_MAT_BACK_SPECULAR = 38, > - VBO_ATTRIB_MAT_FRONT_EMISSION = 39, > - VBO_ATTRIB_MAT_BACK_EMISSION = 40, > - VBO_ATTRIB_MAT_FRONT_SHININESS = 41, > - VBO_ATTRIB_MAT_BACK_SHININESS = 42, > - VBO_ATTRIB_MAT_FRONT_INDEXES = 43, > - VBO_ATTRIB_MAT_BACK_INDEXES = 44, > + VBO_ATTRIB_MAT_FRONT_AMBIENT, > + VBO_ATTRIB_MAT_BACK_AMBIENT, > + VBO_ATTRIB_MAT_FRONT_DIFFUSE, > + VBO_ATTRIB_MAT_BACK_DIFFUSE, > + VBO_ATTRIB_MAT_FRONT_SPECULAR, > + VBO_ATTRIB_MAT_BACK_SPECULAR, > + VBO_ATTRIB_MAT_FRONT_EMISSION, > + VBO_ATTRIB_MAT_BACK_EMISSION, > + VBO_ATTRIB_MAT_FRONT_SHININESS, > + VBO_ATTRIB_MAT_BACK_SHININESS, > + VBO_ATTRIB_MAT_FRONT_INDEXES, > + VBO_ATTRIB_MAT_BACK_INDEXES, > > - VBO_ATTRIB_MAX = 45 > + VBO_ATTRIB_MAX > }; > > #define VBO_ATTRIB_FIRST_MATERIAL VBO_ATTRIB_MAT_FRONT_AMBIENT > #define VBO_ATTRIB_LAST_MATERIAL VBO_ATTRIB_MAT_BACK_INDEXES > > #define VBO_MAX_COPIED_VERTS 3 > > #endif > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev