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/tnl/t_pipeline.h | 59 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 src/mesa/tnl/t_pipeline.h (limited to 'src/mesa/tnl/t_pipeline.h') diff --git a/src/mesa/tnl/t_pipeline.h b/src/mesa/tnl/t_pipeline.h new file mode 100644 index 0000000000..36a2f066c2 --- /dev/null +++ b/src/mesa/tnl/t_pipeline.h @@ -0,0 +1,59 @@ +/* $Id: t_pipeline.h,v 1.1 2000/11/16 21:05:42 keithw Exp $ */ + +/* + * Mesa 3-D graphics library + * Version: 3.5 + * + * Copyright (C) 1999 Brian Paul All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * + * Author: + * Keith Whitwell + */ + + + +#ifndef _T_PIPELINE_H_ +#define _T_PIPELINE_H_ + +#include "types.h" +#include "t_context.h" + +extern void gl_update_materials( struct vertex_buffer *VB); + +extern void _tnl_pipeline_init( GLcontext *ctx ); +extern void gl_update_pipelines( GLcontext *ctx ); + +extern void gl_build_precalc_pipeline( GLcontext *ctx ); +extern void gl_build_immediate_pipeline( GLcontext *ctx ); + +extern void gl_print_vert_flags( const char *name, GLuint flags ); +extern void gl_print_pipeline( GLcontext *ctx, struct gl_pipeline *p ); +extern void gl_print_active_pipeline( GLcontext *ctx, struct gl_pipeline *p ); + +extern void gl_run_pipeline( struct vertex_buffer *VB ); + +extern void gl_clean_color( struct vertex_buffer *VB ); + +extern void gl_reset_cva_vb( struct vertex_buffer *VB, GLuint stages ); + +extern void gl_print_pipe_ops( const char *msg, GLuint flags ); + +#endif -- cgit v1.2.3