summaryrefslogtreecommitdiff
path: root/src/mesa/drivers
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
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')
-rw-r--r--src/mesa/drivers/common/t_dd_tritmp.h6
-rw-r--r--src/mesa/drivers/common/t_dd_vertex.h38
2 files changed, 33 insertions, 11 deletions
diff --git a/src/mesa/drivers/common/t_dd_tritmp.h b/src/mesa/drivers/common/t_dd_tritmp.h
index 2a98b9fedf..6e07d902a6 100644
--- a/src/mesa/drivers/common/t_dd_tritmp.h
+++ b/src/mesa/drivers/common/t_dd_tritmp.h
@@ -1,4 +1,4 @@
-/* $Id: t_dd_tritmp.h,v 1.6 2001/03/12 00:48:44 gareth Exp $ */
+/* $Id: t_dd_tritmp.h,v 1.7 2001/03/13 17:39:56 gareth Exp $ */
/*
* Mesa 3-D graphics library
@@ -48,8 +48,8 @@ Brian Paul All Rights Reserved.
* HAVE_SPEC: Vertices have secondary rgba values.
*
* VERT_X(v): Alias for vertex x value.
- * VERT_Y(v): Alias for vertex x value.
- * VERT_Z(v): Alias for vertex x value.
+ * VERT_Y(v): Alias for vertex y value.
+ * VERT_Z(v): Alias for vertex z value.
* DEPTH_SCALE: Scale for offset.
*
* VERTEX: Hardware vertex type.
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);