diff options
author | Mathias Fröhlich <[email protected]> | 2018-01-27 16:07:22 +0100 |
---|---|---|
committer | Mathias Fröhlich <[email protected]> | 2018-02-01 22:39:07 +0100 |
commit | 3d4fb879ddbce1c5da7199ae74bc2e7ae98d1b70 (patch) | |
tree | 886e65a3a68bfd422e067e92caff2b4351d20134 /src/mesa/vbo/vbo_exec.c | |
parent | b4fd63015ac7fd73e0147ff078caec47be729e87 (diff) |
vbo: Use static const VERT_ATTRIB->VBO_ATTRIB maps.
Instead of each context having its own map instance for
this purpose, use a global static const map.
v2: s,unsigned char,GLubyte,g
s,_VP_MODE_MAX,VP_MODE_MAX,g
Change comment style.
Signed-off-by: Mathias Fröhlich <[email protected]>
Reviewed-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/mesa/vbo/vbo_exec.c')
-rw-r--r-- | src/mesa/vbo/vbo_exec.c | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/src/mesa/vbo/vbo_exec.c b/src/mesa/vbo/vbo_exec.c index 82f204e3dc9..fc06979dcb1 100644 --- a/src/mesa/vbo/vbo_exec.c +++ b/src/mesa/vbo/vbo_exec.c @@ -32,6 +32,80 @@ #include "main/vtxfmt.h" #include "vbo_private.h" +const GLubyte +_vbo_attribute_alias_map[VP_MODE_MAX][VERT_ATTRIB_MAX] = { + /* VP_FF: */ + { + VBO_ATTRIB_POS, /* VERT_ATTRIB_POS */ + VBO_ATTRIB_NORMAL, /* VERT_ATTRIB_NORMAL */ + VBO_ATTRIB_COLOR0, /* VERT_ATTRIB_COLOR0 */ + VBO_ATTRIB_COLOR1, /* VERT_ATTRIB_COLOR1 */ + VBO_ATTRIB_FOG, /* VERT_ATTRIB_FOG */ + VBO_ATTRIB_COLOR_INDEX, /* VERT_ATTRIB_COLOR_INDEX */ + VBO_ATTRIB_EDGEFLAG, /* VERT_ATTRIB_EDGEFLAG */ + VBO_ATTRIB_TEX0, /* VERT_ATTRIB_TEX0 */ + VBO_ATTRIB_TEX1, /* VERT_ATTRIB_TEX1 */ + VBO_ATTRIB_TEX2, /* VERT_ATTRIB_TEX2 */ + VBO_ATTRIB_TEX3, /* VERT_ATTRIB_TEX3 */ + VBO_ATTRIB_TEX4, /* VERT_ATTRIB_TEX4 */ + VBO_ATTRIB_TEX5, /* VERT_ATTRIB_TEX5 */ + VBO_ATTRIB_TEX6, /* VERT_ATTRIB_TEX6 */ + VBO_ATTRIB_TEX7, /* VERT_ATTRIB_TEX7 */ + VBO_ATTRIB_POINT_SIZE, /* VERT_ATTRIB_POINT_SIZE */ + VBO_ATTRIB_GENERIC0, /* VERT_ATTRIB_GENERIC0 */ + VBO_ATTRIB_GENERIC1, /* VERT_ATTRIB_GENERIC1 */ + VBO_ATTRIB_GENERIC2, /* VERT_ATTRIB_GENERIC2 */ + VBO_ATTRIB_GENERIC3, /* VERT_ATTRIB_GENERIC3 */ + VBO_ATTRIB_MAT_FRONT_AMBIENT, /* VERT_ATTRIB_GENERIC4 */ + VBO_ATTRIB_MAT_BACK_AMBIENT, /* VERT_ATTRIB_GENERIC5 */ + VBO_ATTRIB_MAT_FRONT_DIFFUSE, /* VERT_ATTRIB_GENERIC6 */ + VBO_ATTRIB_MAT_BACK_DIFFUSE, /* VERT_ATTRIB_GENERIC7 */ + VBO_ATTRIB_MAT_FRONT_SPECULAR, /* VERT_ATTRIB_GENERIC8 */ + VBO_ATTRIB_MAT_BACK_SPECULAR, /* VERT_ATTRIB_GENERIC9 */ + VBO_ATTRIB_MAT_FRONT_EMISSION, /* VERT_ATTRIB_GENERIC10 */ + VBO_ATTRIB_MAT_BACK_EMISSION, /* VERT_ATTRIB_GENERIC11 */ + VBO_ATTRIB_MAT_FRONT_SHININESS, /* VERT_ATTRIB_GENERIC12 */ + VBO_ATTRIB_MAT_BACK_SHININESS, /* VERT_ATTRIB_GENERIC13 */ + VBO_ATTRIB_MAT_FRONT_INDEXES, /* VERT_ATTRIB_GENERIC14 */ + VBO_ATTRIB_MAT_BACK_INDEXES /* VERT_ATTRIB_GENERIC15 */ + }, + + /* VP_SHADER: */ + { + VBO_ATTRIB_POS, /* VERT_ATTRIB_POS */ + VBO_ATTRIB_NORMAL, /* VERT_ATTRIB_NORMAL */ + VBO_ATTRIB_COLOR0, /* VERT_ATTRIB_COLOR0 */ + VBO_ATTRIB_COLOR1, /* VERT_ATTRIB_COLOR1 */ + VBO_ATTRIB_FOG, /* VERT_ATTRIB_FOG */ + VBO_ATTRIB_COLOR_INDEX, /* VERT_ATTRIB_COLOR_INDEX */ + VBO_ATTRIB_EDGEFLAG, /* VERT_ATTRIB_EDGEFLAG */ + VBO_ATTRIB_TEX0, /* VERT_ATTRIB_TEX0 */ + VBO_ATTRIB_TEX1, /* VERT_ATTRIB_TEX1 */ + VBO_ATTRIB_TEX2, /* VERT_ATTRIB_TEX2 */ + VBO_ATTRIB_TEX3, /* VERT_ATTRIB_TEX3 */ + VBO_ATTRIB_TEX4, /* VERT_ATTRIB_TEX4 */ + VBO_ATTRIB_TEX5, /* VERT_ATTRIB_TEX5 */ + VBO_ATTRIB_TEX6, /* VERT_ATTRIB_TEX6 */ + VBO_ATTRIB_TEX7, /* VERT_ATTRIB_TEX7 */ + VBO_ATTRIB_POINT_SIZE, /* VERT_ATTRIB_POINT_SIZE */ + VBO_ATTRIB_GENERIC0, /* VERT_ATTRIB_GENERIC0 */ + VBO_ATTRIB_GENERIC1, /* VERT_ATTRIB_GENERIC1 */ + VBO_ATTRIB_GENERIC2, /* VERT_ATTRIB_GENERIC2 */ + VBO_ATTRIB_GENERIC3, /* VERT_ATTRIB_GENERIC3 */ + VBO_ATTRIB_GENERIC4, /* VERT_ATTRIB_GENERIC4 */ + VBO_ATTRIB_GENERIC5, /* VERT_ATTRIB_GENERIC5 */ + VBO_ATTRIB_GENERIC6, /* VERT_ATTRIB_GENERIC6 */ + VBO_ATTRIB_GENERIC7, /* VERT_ATTRIB_GENERIC7 */ + VBO_ATTRIB_GENERIC8, /* VERT_ATTRIB_GENERIC8 */ + VBO_ATTRIB_GENERIC9, /* VERT_ATTRIB_GENERIC9 */ + VBO_ATTRIB_GENERIC10, /* VERT_ATTRIB_GENERIC10 */ + VBO_ATTRIB_GENERIC11, /* VERT_ATTRIB_GENERIC11 */ + VBO_ATTRIB_GENERIC12, /* VERT_ATTRIB_GENERIC12 */ + VBO_ATTRIB_GENERIC13, /* VERT_ATTRIB_GENERIC13 */ + VBO_ATTRIB_GENERIC14, /* VERT_ATTRIB_GENERIC14 */ + VBO_ATTRIB_GENERIC15 /* VERT_ATTRIB_GENERIC15 */ + } +}; void |