Initial templates for immediate mode fastpaths, or custom tnl modules.

Completely untested and incomplete.  More to follow.
This commit is contained in:
Gareth Hughes 2001-03-13 17:39:56 +00:00
parent 3df1e04b10
commit 3709db0e17
2 changed files with 33 additions and 11 deletions

View File

@ -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.

View File

@ -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);