summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/common/t_dd_vertex.h
diff options
context:
space:
mode:
authorGareth Hughes <gareth@valinux.com>2001-03-13 17:39:56 +0000
committerGareth Hughes <gareth@valinux.com>2001-03-13 17:39:56 +0000
commit3709db0e17fb3d70fe27b60d81df2c5faf11b7b9 (patch)
tree8ddcb00c713e59dd05d31a07cb8d4a1e6625a1fa /src/mesa/drivers/common/t_dd_vertex.h
parent3df1e04b10a2d04721cd2fdf92348ca5e704d7a5 (diff)
Initial templates for immediate mode fastpaths, or custom tnl modules.
Completely untested and incomplete. More to follow.
Diffstat (limited to 'src/mesa/drivers/common/t_dd_vertex.h')
-rw-r--r--src/mesa/drivers/common/t_dd_vertex.h38
1 files changed, 30 insertions, 8 deletions
diff --git a/src/mesa/drivers/common/t_dd_vertex.h b/src/mesa/drivers/common/t_dd_vertex.h
index 10a06ff221..99465b6d96 100644
--- a/src/mesa/drivers/common/t_dd_vertex.h
+++ b/src/mesa/drivers/common/t_dd_vertex.h
@@ -1,4 +1,4 @@
-/* $Id: t_dd_vertex.h,v 1.5 2001/03/12 00:48:44 gareth Exp $ */
+/* $Id: t_dd_vertex.h,v 1.6 2001/03/13 17:39:56 gareth Exp $ */
/*
* Mesa 3-D graphics library
@@ -27,27 +27,31 @@
* Keith Whitwell <keithw@valinux.com>
*/
+typedef struct {
+ GLfloat x, y, z, w;
+} TAG(_coord);
+
#ifdef COLOR_IS_RGBA
typedef struct {
GLubyte red;
GLubyte green;
GLubyte blue;
GLubyte alpha;
-} TAG(_color);
+} TAG(_color_t);
#else
typedef struct {
GLubyte blue;
GLubyte green;
GLubyte red;
GLubyte alpha;
-} TAG(_color);
+} TAG(_color_t);
#endif
typedef union {
struct {
GLfloat x, y, z, w;
- TAG(_color) color;
- TAG(_color) specular;
+ TAG(_color_t) color;
+ TAG(_color_t) specular;
GLfloat u0, v0;
GLfloat u1, v1;
GLfloat u2, v2;
@@ -55,8 +59,8 @@ typedef union {
} v;
struct {
GLfloat x, y, z, w;
- TAG(_color) color;
- TAG(_color) specular;
+ TAG(_color_t) color;
+ TAG(_color_t) specular;
GLfloat u0, v0, q0;
GLfloat u1, v1, q1;
GLfloat u2, v2, q2;
@@ -64,9 +68,27 @@ typedef union {
} pv;
struct {
GLfloat x, y, z;
- TAG(_color) color;
+ TAG(_color_t) color;
} tv;
GLfloat f[24];
GLuint ui[24];
GLubyte ub4[24][4];
} TAG(Vertex), *TAG(VertexPtr);
+
+typedef struct {
+ TAG(_coord_t) obj;
+ TAG(_coord_t) normal;
+
+ TAG(_coord_t) clip;
+ GLuint mask;
+
+ TAG(_color_t) color;
+ TAG(_color_t) specular;
+ GLuint __padding0;
+
+ TAG(_coord_t) win;
+ TAG(_coord_t) eye;
+
+ TAG(_coord_t) texture[MAX_TEXTURE_UNITS];
+ GLuint __padding1[8]; /* FIXME: This is kinda evil... */
+} TAG(TnlVertex), *TAG(TnlVertexPtr);