summaryrefslogtreecommitdiffstats
path: root/src/mesa/tnl/t_pipeline.h
diff options
context:
space:
mode:
authorKeith Whitwell <keith@tungstengraphics.com>2000-12-26 05:09:27 +0000
committerKeith Whitwell <keith@tungstengraphics.com>2000-12-26 05:09:27 +0000
commitcab974cf6c2dbfbf5dd5d291e1aae0f8eeb34290 (patch)
tree45385bd755d8e3876c54b2b0113636f5ceb7976a /src/mesa/tnl/t_pipeline.h
parentd1ff1f6798b003a820f5de9fad835ff352f31afe (diff)
downloadexternal_mesa3d-cab974cf6c2dbfbf5dd5d291e1aae0f8eeb34290.zip
external_mesa3d-cab974cf6c2dbfbf5dd5d291e1aae0f8eeb34290.tar.gz
external_mesa3d-cab974cf6c2dbfbf5dd5d291e1aae0f8eeb34290.tar.bz2
Major rework of tnl module
New array_cache module Support 8 texture units in core mesa (now support 8 everywhere) Rework core mesa statechange operations to avoid flushing on many noop statechanges.
Diffstat (limited to 'src/mesa/tnl/t_pipeline.h')
-rw-r--r--src/mesa/tnl/t_pipeline.h35
1 files changed, 20 insertions, 15 deletions
diff --git a/src/mesa/tnl/t_pipeline.h b/src/mesa/tnl/t_pipeline.h
index b9ae641..9d433bd 100644
--- a/src/mesa/tnl/t_pipeline.h
+++ b/src/mesa/tnl/t_pipeline.h
@@ -1,4 +1,4 @@
-/* $Id: t_pipeline.h,v 1.3 2000/11/24 10:25:12 keithw Exp $ */
+/* $Id: t_pipeline.h,v 1.4 2000/12/26 05:09:33 keithw Exp $ */
/*
* Mesa 3-D graphics library
@@ -36,25 +36,30 @@
#include "mtypes.h"
#include "t_context.h"
-extern void _tnl_pipeline_init( GLcontext *ctx );
+extern void _tnl_run_pipeline( GLcontext *ctx );
-extern void _tnl_update_materials( struct vertex_buffer *VB);
+extern void _tnl_validate_pipeline( GLcontext *ctx );
-extern void _tnl_update_pipelines( GLcontext *ctx );
+extern void _tnl_destroy_pipeline( GLcontext *ctx );
-extern void _tnl_build_precalc_pipeline( GLcontext *ctx );
-extern void _tnl_build_immediate_pipeline( GLcontext *ctx );
+extern void _tnl_install_pipeline( GLcontext *ctx,
+ const struct gl_pipeline_stage **stages );
-extern void _tnl_print_vert_flags( const char *name, GLuint flags );
-extern void _tnl_print_pipeline( GLcontext *ctx, struct gl_pipeline *p );
-extern void _tnl_print_active_pipeline( GLcontext *ctx, struct gl_pipeline *p );
-extern void _tnl_run_pipeline( struct vertex_buffer *VB );
-
-extern void _tnl_clean_color( struct vertex_buffer *VB );
-
-extern void _tnl_reset_cva_vb( struct vertex_buffer *VB, GLuint stages );
+/* These are implemented in the t_vb_*.c files:
+ */
+extern const struct gl_pipeline_stage _tnl_update_material_stage;
+extern const struct gl_pipeline_stage _tnl_vertex_transform_stage;
+extern const struct gl_pipeline_stage _tnl_normal_transform_stage;
+extern const struct gl_pipeline_stage _tnl_lighting_stage;
+extern const struct gl_pipeline_stage _tnl_fog_coordinate_stage;
+extern const struct gl_pipeline_stage _tnl_texgen_stage;
+extern const struct gl_pipeline_stage _tnl_texture_transform_stage;
+extern const struct gl_pipeline_stage _tnl_point_attenuation_stage;
+extern const struct gl_pipeline_stage _tnl_render_stage;
-extern void _tnl_print_pipe_ops( const char *msg, GLuint flags );
+/* Shorthand to plug in the default pipeline:
+ */
+extern const struct gl_pipeline_stage *_tnl_default_pipeline[];
#endif