add STATE_INTERNAL_DRIVER, etc (Rune Petersen)
diff --git a/src/mesa/shader/program.c b/src/mesa/shader/program.c
index e882442..789d36e 100644
--- a/src/mesa/shader/program.c
+++ b/src/mesa/shader/program.c
@@ -993,7 +993,9 @@
                break;
 	    }
 	    default:
-               _mesa_problem(ctx, "Bad state switch in _mesa_fetch_state()");
+	       /* unknown state indexes are silently ignored
+	       *  should be handled by the driver.
+	       */
                return;
          }
       }
@@ -1070,7 +1072,9 @@
       case STATE_TEXRECT_SCALE:
 	 return _NEW_TEXTURE;
       default:
-         _mesa_problem(NULL, "unexpected int. state in make_state_flags()");
+         /* unknown state indexes are silently ignored and
+         *  no flag set, since it is handled by the driver.
+         */
 	 return 0;
       }
 
@@ -1342,7 +1346,7 @@
    case STATE_INTERNAL:
       break;
    default:
-      _mesa_problem(NULL, "Invalid state in maka_state_string");
+      _mesa_problem(NULL, "Invalid state in make_state_string");
       break;
    }
 
diff --git a/src/mesa/shader/program.h b/src/mesa/shader/program.h
index a38a1a6..af06c03 100644
--- a/src/mesa/shader/program.h
+++ b/src/mesa/shader/program.h
@@ -189,7 +189,8 @@
    STATE_INTERNAL,		/* Mesa additions */
    STATE_NORMAL_SCALE,
    STATE_TEXRECT_SCALE,
-   STATE_POSITION_NORMALIZED    /* normalized light position */
+   STATE_POSITION_NORMALIZED,   /* normalized light position */
+   STATE_INTERNAL_DRIVER	/* first available state index for drivers (must be last) */
 };