fragment program execution
[mesa.git] / src / mesa / tnl / t_vb_vertex.c
index e13b8bc0a1e42d88f6736c5ab3dcbbba1e29e386..9e9e1a9362e539dbb79f679de5907ee4d374f467 100644 (file)
@@ -1,8 +1,8 @@
-/* $Id: t_vb_vertex.c,v 1.14 2002/04/09 16:56:52 keithw Exp $ */
+/* $Id: t_vb_vertex.c,v 1.17 2002/10/31 17:14:37 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
- * Version:  3.5
+ * Version:  5.0
  *
  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
  *
@@ -24,7 +24,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  *
  * Authors:
- *    Keith Whitwell <keithw@valinux.com>
+ *    Keith Whitwell <keith@tungstengraphics.com>
  */
 
 
@@ -32,7 +32,7 @@
 #include "colormac.h"
 #include "context.h"
 #include "macros.h"
-#include "mem.h"
+#include "imports.h"
 #include "mmath.h"
 #include "mtypes.h"
 
@@ -137,6 +137,8 @@ static GLboolean run_vertex_stage( GLcontext *ctx,
    TNLcontext *tnl = TNL_CONTEXT(ctx);
    struct vertex_buffer *VB = &tnl->vb;
 
+   ASSERT(!ctx->VertexProgram.Enabled);
+
    if (stage->changed_inputs) {
 
       if (ctx->_NeedEyeCoords) {
@@ -194,7 +196,6 @@ static GLboolean run_vertex_stage( GLcontext *ctx,
                                                store->clipmask,
                                                &store->ormask,
                                                &store->andmask );
-
       }
       else {
         VB->NdcPtr = 0;
@@ -305,11 +306,12 @@ static void dtr( struct gl_pipeline_stage *stage )
 const struct gl_pipeline_stage _tnl_vertex_transform_stage =
 {
    "modelview/project/cliptest/divide",
-   0,                          /* re-check -- always on */
-   _MESA_NEW_NEED_EYE_COORDS |
+   _NEW_PROGRAM,                /* check_state: only care about vertex prog */
+   _MESA_NEW_NEED_EYE_COORDS |  /* run_state: when to invalidate / re-run */
    _NEW_MODELVIEW|
    _NEW_PROJECTION|
-   _NEW_TRANSFORM,             /* re-run */
+   _NEW_PROGRAM|
+   _NEW_TRANSFORM,
    GL_TRUE,                    /* active */
    VERT_BIT_POS,               /* inputs */
    VERT_BIT_EYE|VERT_BIT_CLIP,         /* outputs */