From 23caf20169ac38436ee9c13914f1d6aa7cf6bb5e Mon Sep 17 00:00:00 2001 From: Keith Whitwell Date: Thu, 16 Nov 2000 21:05:34 +0000 Subject: Move the transform and lighting code to two new directories math: Provides basic matrix and vector functionality that might be useful to multiple software t&l implementations, and is used by core mesa to manage the Model, Project, etc matrices. tnl: The real transform & lighting code from core mesa, including everything from glVertex3f through vertex buffer handling, transformation, clipping, lighting and handoff to a driver for rasterization. The interfaces of these can be further tightened up, but the basic splitting up of state and code move is done. --- src/mesa/swrast_setup/ss_context.c | 3 ++- src/mesa/swrast_setup/ss_triangle.c | 2 ++ src/mesa/swrast_setup/ss_tritmp.h | 6 +++--- src/mesa/swrast_setup/ss_vb.c | 5 ++++- src/mesa/swrast_setup/ss_vbtmp.h | 3 ++- 5 files changed, 13 insertions(+), 6 deletions(-) (limited to 'src/mesa/swrast_setup') diff --git a/src/mesa/swrast_setup/ss_context.c b/src/mesa/swrast_setup/ss_context.c index 10942037a3..e58abdc6c5 100644 --- a/src/mesa/swrast_setup/ss_context.c +++ b/src/mesa/swrast_setup/ss_context.c @@ -1,4 +1,4 @@ -/* $Id: ss_context.c,v 1.3 2000/11/13 20:02:58 keithw Exp $ */ +/* $Id: ss_context.c,v 1.4 2000/11/16 21:05:42 keithw Exp $ */ /* * Mesa 3-D graphics library @@ -38,6 +38,7 @@ #include "swrast_setup.h" +#include "tnl/t_context.h" /* Stub for swsetup->Triangle to select a true triangle function * after a state change. diff --git a/src/mesa/swrast_setup/ss_triangle.c b/src/mesa/swrast_setup/ss_triangle.c index ab70f5c97b..9bcf13c3ed 100644 --- a/src/mesa/swrast_setup/ss_triangle.c +++ b/src/mesa/swrast_setup/ss_triangle.c @@ -29,6 +29,8 @@ #include "macros.h" #include "types.h" +#include "tnl/t_context.h" + #include "ss_triangle.h" #include "ss_context.h" diff --git a/src/mesa/swrast_setup/ss_tritmp.h b/src/mesa/swrast_setup/ss_tritmp.h index 37b5664225..054fcf9eb7 100644 --- a/src/mesa/swrast_setup/ss_tritmp.h +++ b/src/mesa/swrast_setup/ss_tritmp.h @@ -30,7 +30,7 @@ static void TAG(triangle)(GLcontext *ctx, GLuint e0, GLuint e1, GLuint e2, GLuint pv) { - struct vertex_buffer *VB = ctx->VB; + struct vertex_buffer *VB = TNL_VB(ctx); SWvertex *verts = SWSETUP_VB(VB)->verts; SWvertex *v[3]; GLfloat offset; @@ -224,7 +224,7 @@ static void TAG(quad)( GLcontext *ctx, GLuint v0, static void TAG(line)( GLcontext *ctx, GLuint v0, GLuint v1, GLuint pv ) { - struct vertex_buffer *VB = ctx->VB; + struct vertex_buffer *VB = TNL_VB(ctx); SWvertex *verts = SWSETUP_VB(VB)->verts; GLubyte c[2][4], s[2][4]; GLuint i[2]; @@ -264,7 +264,7 @@ static void TAG(line)( GLcontext *ctx, GLuint v0, GLuint v1, GLuint pv ) static void TAG(points)( GLcontext *ctx, GLuint first, GLuint last ) { - struct vertex_buffer *VB = ctx->VB; + struct vertex_buffer *VB = TNL_VB(ctx); SWvertex *verts = SWSETUP_VB(VB)->verts; int i; diff --git a/src/mesa/swrast_setup/ss_vb.c b/src/mesa/swrast_setup/ss_vb.c index 15e6049cb5..ff1916174b 100644 --- a/src/mesa/swrast_setup/ss_vb.c +++ b/src/mesa/swrast_setup/ss_vb.c @@ -27,10 +27,13 @@ #include "glheader.h" #include "macros.h" -#include "stages.h" #include "swrast/swrast.h" +#include "tnl/t_context.h" +#include "tnl/t_stages.h" + +#include "math/m_vector.h" #include "ss_context.h" #include "ss_vb.h" diff --git a/src/mesa/swrast_setup/ss_vbtmp.h b/src/mesa/swrast_setup/ss_vbtmp.h index 53fe5bcae6..47b3005500 100644 --- a/src/mesa/swrast_setup/ss_vbtmp.h +++ b/src/mesa/swrast_setup/ss_vbtmp.h @@ -29,6 +29,7 @@ static void TAG(rs)(struct vertex_buffer *VB, GLuint start, GLuint end) { GLcontext *ctx = VB->ctx; + TNLcontext *tnl = TNL_CONTEXT(ctx); SWvertex *v; GLfloat (*eye)[4]; GLfloat (*win)[4]; @@ -54,7 +55,7 @@ static void TAG(rs)(struct vertex_buffer *VB, GLuint start, GLuint end) /* TODO: Get import_client_data to pad vectors out to 4 cleanly. */ - gl_import_client_data( VB, ctx->_RenderFlags, + gl_import_client_data( VB, tnl->_RenderFlags, (VB->ClipOrMask ? /* VEC_CLEAN| */VEC_WRITABLE|VEC_GOOD_STRIDE : /* VEC_CLEAN| */VEC_GOOD_STRIDE)); -- cgit v1.2.3