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_vertex.h | 38 +++++++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 8 deletions(-) (limited to 'src/mesa/drivers/common/t_dd_vertex.h') 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