Split _MaintainTexEnvProgram into two flags _Maintain and _Use.  This
restores the ability to run the software driver with program TNL but
tradtional swrast.
diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index 8fd9af7..a506326 100644
--- a/src/mesa/main/context.c
+++ b/src/mesa/main/context.c
@@ -1237,7 +1237,11 @@
 #endif
 
    ctx->_MaintainTexEnvProgram = (_mesa_getenv("MESA_TEX_PROG") != NULL);
+   ctx->_UseTexEnvProgram = ctx->_MaintainTexEnvProgram;
+
    ctx->_MaintainTnlProgram = (_mesa_getenv("MESA_TNL_PROG") != NULL);
+   if (ctx->_MaintainTnlProgram)
+      ctx->_MaintainTexEnvProgram = 1; /* this is required... */
 
    ctx->FirstTimeCurrent = GL_TRUE;