- /* If something changes in the pipeline, tag all subsequent stages
- * using this value for recalculation. Inactive stages have their
- * state and inputs examined to try to keep cached data alive over
- * state-changes.
- */
- for ( ; s->run ; s++) {
- s->changed_inputs |= s->inputs & changed_inputs;
-
- if (s->run_state & changed_state)
- s->changed_inputs = s->inputs;
-
- if (s->active && running) {
- if (s->changed_inputs)
- changed_inputs |= s->outputs;
-
- running = s->run( ctx, s );
-
- s->changed_inputs = 0;
- VB->importable_data &= ~s->outputs;
- }
+ for (i = 0; i < tnl->pipeline.nr_stages ; i++) {
+ struct tnl_pipeline_stage *s = &tnl->pipeline.stages[i];
+ if (!s->run( ctx, s ))
+ break;