Restore optimization for cva glArrayElement operation.
authorKeith Whitwell <keith@tungstengraphics.com>
Mon, 30 Apr 2001 09:04:00 +0000 (09:04 +0000)
committerKeith Whitwell <keith@tungstengraphics.com>
Mon, 30 Apr 2001 09:04:00 +0000 (09:04 +0000)
src/mesa/swrast_setup/ss_vbtmp.h
src/mesa/tnl/t_imm_dlist.c
src/mesa/tnl/t_pipeline.c

index 7e924b5a7e177ea97a575efd806b53eb6a81bd3c..9ef51a3c2059d699d5f5114d78bbd50fcbb89799 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: ss_vbtmp.h,v 1.14 2001/04/28 08:39:18 keithw Exp $ */
+/* $Id: ss_vbtmp.h,v 1.15 2001/04/30 09:04:00 keithw Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -51,10 +51,10 @@ static void TAG(rs)(GLcontext *ctx, GLuint start, GLuint end, GLuint newinputs )
    const GLfloat tz = m[14];
    GLuint maxtex = 0;
 
-   if (!newinputs) {
-      fprintf(stderr, "no new inputs\n");
+   /* Only the most basic optimization for cva:
+    */
+   if (!newinputs) 
       return;
-   }
 
    /* TODO:  Get import_client_data to pad vectors out to 4 cleanly.
     *
index 54f7132e0ea01447145db43c674f4094991ded97..7218244ae312422b8ad603e063af43d6a8db960e 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: t_imm_dlist.c,v 1.13 2001/04/26 14:53:48 keithw Exp $ */
+/* $Id: t_imm_dlist.c,v 1.14 2001/04/30 09:04:00 keithw Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -314,6 +314,7 @@ _tnl_EndList( GLcontext *ctx )
 
    ASSERT(IM->ref_count == 0);
 
+   tnl->ExecCopyCount = 0;
    tnl->ExecCopySource = IM;
    IM->ref_count++;
 
index 81f3b078f219ad8bad8827712835e3fb92df9116..73fa9c95719068a50a1d249091217a1003663497 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: t_pipeline.c,v 1.16 2001/04/19 12:23:07 keithw Exp $ */
+/* $Id: t_pipeline.c,v 1.17 2001/04/30 09:04:00 keithw Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -132,6 +132,9 @@ void _tnl_run_pipeline( GLcontext *ctx )
     */
    ASSERT(pipe->build_state_changes == 0);
 
+/*     _tnl_print_vert_flags( "run_pipeline, new inputs", changed_inputs ); */
+/*     _mesa_print_state( "run_pipeline, new state", changed_state ); */
+   
    START_FAST_MATH(__tmp);
    if (tnl->Driver.PipelineStart)
       tnl->Driver.PipelineStart( ctx );
@@ -154,8 +157,12 @@ void _tnl_run_pipeline( GLcontext *ctx )
            if (s->changed_inputs)
               changed_inputs |= s->outputs;
 
-/*         fprintf(stderr, "run %s\n", s->name); */
+           if (0)
+              fprintf(stderr, "run %s inputs %x\n", 
+                      s->name, s->changed_inputs); 
+
            running = s->run( ctx, s );
+           s->changed_inputs = 0;             /* readded this apr 30  */
            VB->importable_data &= ~s->outputs;
         }
       }