From 3709db0e17fb3d70fe27b60d81df2c5faf11b7b9 Mon Sep 17 00:00:00 2001 From: Gareth Hughes Date: Tue, 13 Mar 2001 17:39:56 +0000 Subject: Initial templates for immediate mode fastpaths, or custom tnl modules. Completely untested and incomplete. More to follow. --- src/mesa/drivers/common/t_dd_tritmp.h | 6 +++--- src/mesa/drivers/common/t_dd_vertex.h | 38 +++++++++++++++++++++++++++-------- 2 files changed, 33 insertions(+), 11 deletions(-) (limited to 'src/mesa') 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 */ +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); -- cgit v1.2.3