Module Name:    xsrc
Committed By:   mrg
Date:           Sat Jun  1 07:53:00 UTC 2019

Modified Files:
        xsrc/external/mit/MesaLib/dist/src/intel/dev: gen_device_info.c
        xsrc/external/mit/MesaLib/dist/src/mesa/program: program_parse.tab.c
            program_parse.tab.h

Log Message:
merge mesa 18.3.6.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
    xsrc/external/mit/MesaLib/dist/src/intel/dev/gen_device_info.c
cvs rdiff -u -r1.3 -r1.4 \
    xsrc/external/mit/MesaLib/dist/src/mesa/program/program_parse.tab.c \
    xsrc/external/mit/MesaLib/dist/src/mesa/program/program_parse.tab.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/MesaLib/dist/src/intel/dev/gen_device_info.c
diff -u xsrc/external/mit/MesaLib/dist/src/intel/dev/gen_device_info.c:1.2 xsrc/external/mit/MesaLib/dist/src/intel/dev/gen_device_info.c:1.3
--- xsrc/external/mit/MesaLib/dist/src/intel/dev/gen_device_info.c:1.2	Sun Mar 10 04:15:51 2019
+++ xsrc/external/mit/MesaLib/dist/src/intel/dev/gen_device_info.c	Sat Jun  1 07:53:00 2019
@@ -777,6 +777,7 @@ static const struct gen_device_info gen_
    .num_subslices = { 2, },
    .num_eu_per_subslice = 6,
    .l3_banks = 2,
+   .urb.size = 192,
    .simulator_id = 24,
 };
 static const struct gen_device_info gen_device_info_cfl_gt2 = {

Index: xsrc/external/mit/MesaLib/dist/src/mesa/program/program_parse.tab.c
diff -u xsrc/external/mit/MesaLib/dist/src/mesa/program/program_parse.tab.c:1.3 xsrc/external/mit/MesaLib/dist/src/mesa/program/program_parse.tab.c:1.4
--- xsrc/external/mit/MesaLib/dist/src/mesa/program/program_parse.tab.c:1.3	Sun Mar 10 04:15:56 2019
+++ xsrc/external/mit/MesaLib/dist/src/mesa/program/program_parse.tab.c	Sat Jun  1 07:53:00 2019
@@ -1,4 +1,4 @@
-/* A Bison parser, made by GNU Bison 3.1.  */
+/* A Bison parser, made by GNU Bison 3.2.  */
 
 /* Bison implementation for Yacc-like parsers in C
 
@@ -40,11 +40,14 @@
    define necessary library symbols; they are noted "INFRINGES ON
    USER NAME SPACE" below.  */
 
+/* Undocumented macros, especially those whose name start with YY_,
+   are private implementation details.  Do not rely on them.  */
+
 /* Identify Bison output.  */
 #define YYBISON 1
 
 /* Bison version.  */
-#define YYBISON_VERSION "3.1"
+#define YYBISON_VERSION "3.2"
 
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
@@ -67,8 +70,8 @@
 #define yynerrs         _mesa_program_nerrs
 
 
-/* Copy the first part of user declarations.  */
-#line 1 "./program/program_parse.y" /* yacc.c:339  */
+/* First part of user prologue.  */
+#line 1 "./program/program_parse.y" /* yacc.c:338  */
 
 /*
  * Copyright © 2009 Intel Corporation
@@ -190,13 +193,16 @@ static struct asm_instruction *asm_instr
       }									\
    } while(0)
 
-#line 194 "program/program_parse.tab.c" /* yacc.c:339  */
-
+#line 197 "program/program_parse.tab.c" /* yacc.c:338  */
 # ifndef YY_NULLPTR
-#  if defined __cplusplus && 201103L <= __cplusplus
-#   define YY_NULLPTR nullptr
+#  if defined __cplusplus
+#   if 201103L <= __cplusplus
+#    define YY_NULLPTR nullptr
+#   else
+#    define YY_NULLPTR 0
+#   endif
 #  else
-#   define YY_NULLPTR 0
+#   define YY_NULLPTR ((void*)0)
 #  endif
 # endif
 
@@ -337,7 +343,7 @@ extern int _mesa_program_debug;
 
 union YYSTYPE
 {
-#line 129 "./program/program_parse.y" /* yacc.c:355  */
+#line 129 "./program/program_parse.y" /* yacc.c:353  */
 
    struct asm_instruction *inst;
    struct asm_symbol *sym;
@@ -363,7 +369,7 @@ union YYSTYPE
       unsigned negate:1;
    } ext_swizzle;
 
-#line 367 "program/program_parse.tab.c" /* yacc.c:355  */
+#line 373 "program/program_parse.tab.c" /* yacc.c:353  */
 };
 
 typedef union YYSTYPE YYSTYPE;
@@ -391,8 +397,8 @@ int _mesa_program_parse (struct asm_pars
 
 #endif /* !YY__MESA_PROGRAM_PROGRAM_PROGRAM_PARSE_TAB_H_INCLUDED  */
 
-/* Copy the second part of user declarations.  */
-#line 271 "./program/program_parse.y" /* yacc.c:358  */
+/* Second part of user prologue.  */
+#line 271 "./program/program_parse.y" /* yacc.c:355  */
 
 extern int
 _mesa_program_lexer_lex(YYSTYPE *yylval_param, YYLTYPE *yylloc_param,
@@ -405,7 +411,7 @@ yylex(YYSTYPE *yylval_param, YYLTYPE *yy
    return _mesa_program_lexer_lex(yylval_param, yylloc_param, state->scanner);
 }
 
-#line 409 "program/program_parse.tab.c" /* yacc.c:358  */
+#line 415 "program/program_parse.tab.c" /* yacc.c:355  */
 
 #ifdef short
 # undef short
@@ -480,15 +486,6 @@ typedef short yytype_int16;
 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
 #endif
 
-#if !defined _Noreturn \
-     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
-# if defined _MSC_VER && 1200 <= _MSC_VER
-#  define _Noreturn __declspec (noreturn)
-# else
-#  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
-# endif
-#endif
-
 /* Suppress unused-variable warnings by "using" E.  */
 #if ! defined lint || defined __GNUC__
 # define YYUSE(E) ((void) (E))
@@ -1268,10 +1265,10 @@ do {                                    
 /* Print *YYLOCP on YYO.  Private, do not rely on its existence. */
 
 YY_ATTRIBUTE_UNUSED
-static unsigned
+static int
 yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
 {
-  unsigned res = 0;
+  int res = 0;
   int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
   if (0 <= yylocp->first_line)
     {
@@ -1314,41 +1311,41 @@ do {                                    
 } while (0)
 
 
-/*----------------------------------------.
-| Print this symbol's value on YYOUTPUT.  |
-`----------------------------------------*/
+/*-----------------------------------.
+| Print this symbol's value on YYO.  |
+`-----------------------------------*/
 
 static void
-yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, struct asm_parser_state *state)
+yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, struct asm_parser_state *state)
 {
-  FILE *yyo = yyoutput;
-  YYUSE (yyo);
+  FILE *yyoutput = yyo;
+  YYUSE (yyoutput);
   YYUSE (yylocationp);
   YYUSE (state);
   if (!yyvaluep)
     return;
 # ifdef YYPRINT
   if (yytype < YYNTOKENS)
-    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+    YYPRINT (yyo, yytoknum[yytype], *yyvaluep);
 # endif
   YYUSE (yytype);
 }
 
 
-/*--------------------------------.
-| Print this symbol on YYOUTPUT.  |
-`--------------------------------*/
+/*---------------------------.
+| Print this symbol on YYO.  |
+`---------------------------*/
 
 static void
-yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, struct asm_parser_state *state)
+yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, struct asm_parser_state *state)
 {
-  YYFPRINTF (yyoutput, "%s %s (",
+  YYFPRINTF (yyo, "%s %s (",
              yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
 
-  YY_LOCATION_PRINT (yyoutput, *yylocationp);
-  YYFPRINTF (yyoutput, ": ");
-  yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, state);
-  YYFPRINTF (yyoutput, ")");
+  YY_LOCATION_PRINT (yyo, *yylocationp);
+  YYFPRINTF (yyo, ": ");
+  yy_symbol_value_print (yyo, yytype, yyvaluep, yylocationp, state);
+  YYFPRINTF (yyo, ")");
 }
 
 /*------------------------------------------------------------------.
@@ -1515,7 +1512,7 @@ yytnamerr (char *yyres, const char *yyst
   if (! yyres)
     return yystrlen (yystr);
 
-  return yystpcpy (yyres, yystr) - yyres;
+  return (YYSIZE_T) (yystpcpy (yyres, yystr) - yyres);
 }
 # endif
 
@@ -1783,12 +1780,12 @@ YYLTYPE yylloc = yyloc_default;
   yyssp++;
 
  yysetstate:
-  *yyssp = yystate;
+  *yyssp = (yytype_int16) yystate;
 
   if (yyss + yystacksize - 1 <= yyssp)
     {
       /* Get the current used size of the three stacks, in elements.  */
-      YYSIZE_T yysize = yyssp - yyss + 1;
+      YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1);
 
 #ifdef yyoverflow
       {
@@ -1808,10 +1805,9 @@ YYLTYPE yylloc = yyloc_default;
                     &yyvs1, yysize * sizeof (*yyvsp),
                     &yyls1, yysize * sizeof (*yylsp),
                     &yystacksize);
-
-        yyls = yyls1;
         yyss = yyss1;
         yyvs = yyvs1;
+        yyls = yyls1;
       }
 #else /* no yyoverflow */
 # ifndef YYSTACK_RELOCATE
@@ -1958,7 +1954,7 @@ yyreduce:
   switch (yyn)
     {
         case 3:
-#line 290 "./program/program_parse.y" /* yacc.c:1651  */
+#line 290 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if (state->prog->Target != GL_VERTEX_PROGRAM_ARB) {
 	      yyerror(& (yylsp[0]), state, "invalid fragment program header");
@@ -1966,11 +1962,11 @@ yyreduce:
 	   }
 	   state->mode = ARB_vertex;
 	}
-#line 1970 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 1966 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 4:
-#line 298 "./program/program_parse.y" /* yacc.c:1651  */
+#line 298 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if (state->prog->Target != GL_FRAGMENT_PROGRAM_ARB) {
 	      yyerror(& (yylsp[0]), state, "invalid vertex program header");
@@ -1980,11 +1976,11 @@ yyreduce:
 	   state->option.TexRect =
 	      (state->ctx->Extensions.NV_texture_rectangle != GL_FALSE);
 	}
-#line 1984 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 1980 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 7:
-#line 314 "./program/program_parse.y" /* yacc.c:1651  */
+#line 314 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   int valid = 0;
 
@@ -2006,11 +2002,11 @@ yyreduce:
 	      YYERROR;
 	   }
 	}
-#line 2010 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2006 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 10:
-#line 342 "./program/program_parse.y" /* yacc.c:1651  */
+#line 342 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if ((yyvsp[-1].inst) != NULL) {
 	      if (state->inst_tail == NULL) {
@@ -2025,77 +2021,77 @@ yyreduce:
               state->prog->arb.NumInstructions++;
 	   }
 	}
-#line 2029 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2025 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 12:
-#line 360 "./program/program_parse.y" /* yacc.c:1651  */
+#line 360 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.inst) = (yyvsp[0].inst);
            state->prog->arb.NumAluInstructions++;
 	}
-#line 2038 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2034 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 13:
-#line 365 "./program/program_parse.y" /* yacc.c:1651  */
+#line 365 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.inst) = (yyvsp[0].inst);
            state->prog->arb.NumTexInstructions++;
 	}
-#line 2047 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2043 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 24:
-#line 386 "./program/program_parse.y" /* yacc.c:1651  */
+#line 386 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.inst) = asm_instruction_ctor(OPCODE_ARL, & (yyvsp[-2].dst_reg), & (yyvsp[0].src_reg), NULL, NULL);
 	}
-#line 2055 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2051 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 25:
-#line 392 "./program/program_parse.y" /* yacc.c:1651  */
+#line 392 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.inst) = asm_instruction_copy_ctor(& (yyvsp[-3].temp_inst), & (yyvsp[-2].dst_reg), & (yyvsp[0].src_reg), NULL, NULL);
 	}
-#line 2063 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2059 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 26:
-#line 398 "./program/program_parse.y" /* yacc.c:1651  */
+#line 398 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.inst) = asm_instruction_copy_ctor(& (yyvsp[-3].temp_inst), & (yyvsp[-2].dst_reg), & (yyvsp[0].src_reg), NULL, NULL);
 	}
-#line 2071 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2067 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 27:
-#line 404 "./program/program_parse.y" /* yacc.c:1651  */
+#line 404 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.inst) = asm_instruction_copy_ctor(& (yyvsp[-5].temp_inst), & (yyvsp[-4].dst_reg), & (yyvsp[-2].src_reg), & (yyvsp[0].src_reg), NULL);
 	}
-#line 2079 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2075 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 28:
-#line 411 "./program/program_parse.y" /* yacc.c:1651  */
+#line 411 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.inst) = asm_instruction_copy_ctor(& (yyvsp[-5].temp_inst), & (yyvsp[-4].dst_reg), & (yyvsp[-2].src_reg), & (yyvsp[0].src_reg), NULL);
 	}
-#line 2087 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2083 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 29:
-#line 418 "./program/program_parse.y" /* yacc.c:1651  */
+#line 418 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.inst) = asm_instruction_copy_ctor(& (yyvsp[-7].temp_inst), & (yyvsp[-6].dst_reg), & (yyvsp[-4].src_reg), & (yyvsp[-2].src_reg), & (yyvsp[0].src_reg));
 	}
-#line 2095 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2091 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 30:
-#line 424 "./program/program_parse.y" /* yacc.c:1651  */
+#line 424 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.inst) = asm_instruction_copy_ctor(& (yyvsp[-7].temp_inst), & (yyvsp[-6].dst_reg), & (yyvsp[-4].src_reg), NULL, NULL);
 	   if ((yyval.inst) != NULL) {
@@ -2137,20 +2133,20 @@ yyreduce:
 	      state->prog->ShadowSamplers |= shadow_tex;
 	   }
 	}
-#line 2141 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2137 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 31:
-#line 468 "./program/program_parse.y" /* yacc.c:1651  */
+#line 468 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.inst) = asm_instruction_ctor(OPCODE_KIL, NULL, & (yyvsp[0].src_reg), NULL, NULL);
 	   state->fragment.UsesKill = 1;
 	}
-#line 2150 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2146 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 32:
-#line 475 "./program/program_parse.y" /* yacc.c:1651  */
+#line 475 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.inst) = asm_instruction_copy_ctor(& (yyvsp[-11].temp_inst), & (yyvsp[-10].dst_reg), & (yyvsp[-8].src_reg), & (yyvsp[-6].src_reg), & (yyvsp[-4].src_reg));
 	   if ((yyval.inst) != NULL) {
@@ -2192,91 +2188,91 @@ yyreduce:
 	      state->prog->ShadowSamplers |= shadow_tex;
 	   }
 	}
-#line 2196 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2192 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 33:
-#line 519 "./program/program_parse.y" /* yacc.c:1651  */
+#line 519 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = (yyvsp[0].integer);
 	}
-#line 2204 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2200 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 34:
-#line 524 "./program/program_parse.y" /* yacc.c:1651  */
+#line 524 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = TEXTURE_1D_INDEX; }
-#line 2210 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2206 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 35:
-#line 525 "./program/program_parse.y" /* yacc.c:1651  */
+#line 525 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = TEXTURE_2D_INDEX; }
-#line 2216 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2212 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 36:
-#line 526 "./program/program_parse.y" /* yacc.c:1651  */
+#line 526 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = TEXTURE_3D_INDEX; }
-#line 2222 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2218 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 37:
-#line 527 "./program/program_parse.y" /* yacc.c:1651  */
+#line 527 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = TEXTURE_CUBE_INDEX; }
-#line 2228 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2224 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 38:
-#line 528 "./program/program_parse.y" /* yacc.c:1651  */
+#line 528 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = TEXTURE_RECT_INDEX; }
-#line 2234 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2230 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 39:
-#line 529 "./program/program_parse.y" /* yacc.c:1651  */
+#line 529 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = -TEXTURE_1D_INDEX; }
-#line 2240 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2236 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 40:
-#line 530 "./program/program_parse.y" /* yacc.c:1651  */
+#line 530 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = -TEXTURE_2D_INDEX; }
-#line 2246 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2242 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 41:
-#line 531 "./program/program_parse.y" /* yacc.c:1651  */
+#line 531 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = -TEXTURE_RECT_INDEX; }
-#line 2252 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2248 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 42:
-#line 532 "./program/program_parse.y" /* yacc.c:1651  */
+#line 532 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = TEXTURE_1D_ARRAY_INDEX; }
-#line 2258 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2254 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 43:
-#line 533 "./program/program_parse.y" /* yacc.c:1651  */
+#line 533 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = TEXTURE_2D_ARRAY_INDEX; }
-#line 2264 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2260 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 44:
-#line 534 "./program/program_parse.y" /* yacc.c:1651  */
+#line 534 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = -TEXTURE_1D_ARRAY_INDEX; }
-#line 2270 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2266 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 45:
-#line 535 "./program/program_parse.y" /* yacc.c:1651  */
+#line 535 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = -TEXTURE_2D_ARRAY_INDEX; }
-#line 2276 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2272 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 46:
-#line 539 "./program/program_parse.y" /* yacc.c:1651  */
+#line 539 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   /* FIXME: Is this correct?  Should the extenedSwizzle be applied
 	    * FIXME: to the existing swizzle?
@@ -2286,11 +2282,11 @@ yyreduce:
 
 	   (yyval.inst) = asm_instruction_copy_ctor(& (yyvsp[-5].temp_inst), & (yyvsp[-4].dst_reg), & (yyvsp[-2].src_reg), NULL, NULL);
 	}
-#line 2290 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2286 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 47:
-#line 551 "./program/program_parse.y" /* yacc.c:1651  */
+#line 551 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.src_reg) = (yyvsp[0].src_reg);
 
@@ -2298,22 +2294,22 @@ yyreduce:
 	      (yyval.src_reg).Base.Negate = ~(yyval.src_reg).Base.Negate;
 	   }
 	}
-#line 2302 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2298 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 48:
-#line 561 "./program/program_parse.y" /* yacc.c:1651  */
+#line 561 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.src_reg) = (yyvsp[-1].src_reg);
 
 	   (yyval.src_reg).Base.Swizzle = _mesa_combine_swizzles((yyval.src_reg).Base.Swizzle,
 						    (yyvsp[0].swiz_mask).swizzle);
 	}
-#line 2313 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2309 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 49:
-#line 570 "./program/program_parse.y" /* yacc.c:1651  */
+#line 570 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.src_reg) = (yyvsp[-1].src_reg);
 
@@ -2324,11 +2320,11 @@ yyreduce:
 	   (yyval.src_reg).Base.Swizzle = _mesa_combine_swizzles((yyval.src_reg).Base.Swizzle,
 						    (yyvsp[0].swiz_mask).swizzle);
 	}
-#line 2328 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2324 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 50:
-#line 583 "./program/program_parse.y" /* yacc.c:1651  */
+#line 583 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.dst_reg) = (yyvsp[-1].dst_reg);
 	   (yyval.dst_reg).WriteMask = (yyvsp[0].swiz_mask).mask;
@@ -2348,20 +2344,20 @@ yyreduce:
               state->prog->info.outputs_written |= BITFIELD64_BIT((yyval.dst_reg).Index);
 	   }
 	}
-#line 2352 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2348 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 51:
-#line 605 "./program/program_parse.y" /* yacc.c:1651  */
+#line 605 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   set_dst_reg(& (yyval.dst_reg), PROGRAM_ADDRESS, 0);
 	   (yyval.dst_reg).WriteMask = (yyvsp[0].swiz_mask).mask;
 	}
-#line 2361 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2357 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 52:
-#line 612 "./program/program_parse.y" /* yacc.c:1651  */
+#line 612 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   const unsigned xyzw_valid =
 	      ((yyvsp[-6].ext_swizzle).xyzw_valid << 0)
@@ -2392,20 +2388,20 @@ yyreduce:
 	   (yyval.swiz_mask).mask = ((yyvsp[-6].ext_swizzle).negate) | ((yyvsp[-4].ext_swizzle).negate << 1) | ((yyvsp[-2].ext_swizzle).negate << 2)
 	      | ((yyvsp[0].ext_swizzle).negate << 3);
 	}
-#line 2396 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2392 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 53:
-#line 645 "./program/program_parse.y" /* yacc.c:1651  */
+#line 645 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.ext_swizzle) = (yyvsp[0].ext_swizzle);
 	   (yyval.ext_swizzle).negate = ((yyvsp[-1].negate)) ? 1 : 0;
 	}
-#line 2405 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2401 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 54:
-#line 652 "./program/program_parse.y" /* yacc.c:1651  */
+#line 652 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if (((yyvsp[0].integer) != 0) && ((yyvsp[0].integer) != 1)) {
 	      yyerror(& (yylsp[0]), state, "invalid extended swizzle selector");
@@ -2421,11 +2417,11 @@ yyreduce:
 	   (yyval.ext_swizzle).xyzw_valid = 1;
 	   (yyval.ext_swizzle).rgba_valid = 1;
 	}
-#line 2425 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2421 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 55:
-#line 668 "./program/program_parse.y" /* yacc.c:1651  */
+#line 668 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   char s;
 
@@ -2482,11 +2478,11 @@ yyreduce:
 	      break;
 	   }
 	}
-#line 2486 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2482 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 56:
-#line 727 "./program/program_parse.y" /* yacc.c:1651  */
+#line 727 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   struct asm_symbol *const s = (struct asm_symbol *)
               _mesa_symbol_table_find_symbol(state->st, (yyvsp[0].string));
@@ -2529,11 +2525,11 @@ yyreduce:
 	      break;
 	   }
 	}
-#line 2533 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2529 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 57:
-#line 770 "./program/program_parse.y" /* yacc.c:1651  */
+#line 770 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   set_src_reg(& (yyval.src_reg), PROGRAM_INPUT, (yyvsp[0].attrib));
            state->prog->info.inputs_read |= BITFIELD64_BIT((yyval.src_reg).Base.Index);
@@ -2542,11 +2538,11 @@ yyreduce:
 	      YYERROR;
 	   }
 	}
-#line 2546 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2542 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 58:
-#line 779 "./program/program_parse.y" /* yacc.c:1651  */
+#line 779 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if (! (yyvsp[-1].src_reg).Base.RelAddr
 	       && ((unsigned) (yyvsp[-1].src_reg).Base.Index >= (yyvsp[-3].sym)->param_binding_length)) {
@@ -2568,11 +2564,11 @@ yyreduce:
 	      (yyval.src_reg).Base.Index = (yyvsp[-3].sym)->param_binding_begin + (yyvsp[-1].src_reg).Base.Index;
 	   }
 	}
-#line 2572 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2568 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 59:
-#line 801 "./program/program_parse.y" /* yacc.c:1651  */
+#line 801 "./program/program_parse.y" /* yacc.c:1645  */
     {
            gl_register_file file = ((yyvsp[0].temp_sym).name != NULL) 
 	      ? (yyvsp[0].temp_sym).param_binding_type
@@ -2580,19 +2576,19 @@ yyreduce:
            set_src_reg_swz(& (yyval.src_reg), file, (yyvsp[0].temp_sym).param_binding_begin,
                            (yyvsp[0].temp_sym).param_binding_swizzle);
 	}
-#line 2584 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2580 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 60:
-#line 811 "./program/program_parse.y" /* yacc.c:1651  */
+#line 811 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   set_dst_reg(& (yyval.dst_reg), PROGRAM_OUTPUT, (yyvsp[0].result));
 	}
-#line 2592 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2588 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 61:
-#line 815 "./program/program_parse.y" /* yacc.c:1651  */
+#line 815 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   struct asm_symbol *const s = (struct asm_symbol *)
               _mesa_symbol_table_find_symbol(state->st, (yyvsp[0].string));
@@ -2619,11 +2615,11 @@ yyreduce:
 	      break;
 	   }
 	}
-#line 2623 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2619 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 62:
-#line 844 "./program/program_parse.y" /* yacc.c:1651  */
+#line 844 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   struct asm_symbol *const s = (struct asm_symbol *)
               _mesa_symbol_table_find_symbol(state->st, (yyvsp[0].string));
@@ -2640,20 +2636,20 @@ yyreduce:
 	      (yyval.sym) = s;
 	   }
 	}
-#line 2644 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2640 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 65:
-#line 865 "./program/program_parse.y" /* yacc.c:1651  */
+#line 865 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   init_src_reg(& (yyval.src_reg));
 	   (yyval.src_reg).Base.Index = (yyvsp[0].integer);
 	}
-#line 2653 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2649 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 66:
-#line 872 "./program/program_parse.y" /* yacc.c:1651  */
+#line 872 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   /* FINISHME: Add support for multiple address registers.
 	    */
@@ -2663,29 +2659,29 @@ yyreduce:
 	   (yyval.src_reg).Base.RelAddr = 1;
 	   (yyval.src_reg).Base.Index = (yyvsp[0].integer);
 	}
-#line 2667 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2663 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 67:
-#line 883 "./program/program_parse.y" /* yacc.c:1651  */
+#line 883 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = 0; }
-#line 2673 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2669 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 68:
-#line 884 "./program/program_parse.y" /* yacc.c:1651  */
+#line 884 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = (yyvsp[0].integer); }
-#line 2679 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2675 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 69:
-#line 885 "./program/program_parse.y" /* yacc.c:1651  */
+#line 885 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = -(yyvsp[0].integer); }
-#line 2685 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2681 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 70:
-#line 889 "./program/program_parse.y" /* yacc.c:1651  */
+#line 889 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if (((yyvsp[0].integer) < 0) || ((yyvsp[0].integer) > (state->limits->MaxAddressOffset - 1))) {
               char s[100];
@@ -2697,11 +2693,11 @@ yyreduce:
 	      (yyval.integer) = (yyvsp[0].integer);
 	   }
 	}
-#line 2701 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2697 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 71:
-#line 903 "./program/program_parse.y" /* yacc.c:1651  */
+#line 903 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if (((yyvsp[0].integer) < 0) || ((yyvsp[0].integer) > state->limits->MaxAddressOffset)) {
               char s[100];
@@ -2713,11 +2709,11 @@ yyreduce:
 	      (yyval.integer) = (yyvsp[0].integer);
 	   }
 	}
-#line 2717 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2713 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 72:
-#line 917 "./program/program_parse.y" /* yacc.c:1651  */
+#line 917 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   struct asm_symbol *const s = (struct asm_symbol *)
               _mesa_symbol_table_find_symbol(state->st, (yyvsp[0].string));
@@ -2735,11 +2731,11 @@ yyreduce:
 	      (yyval.sym) = s;
 	   }
 	}
-#line 2739 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2735 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 73:
-#line 937 "./program/program_parse.y" /* yacc.c:1651  */
+#line 937 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if ((yyvsp[0].swiz_mask).mask != WRITEMASK_X) {
 	      yyerror(& (yylsp[0]), state, "invalid address component selector");
@@ -2748,11 +2744,11 @@ yyreduce:
 	      (yyval.swiz_mask) = (yyvsp[0].swiz_mask);
 	   }
 	}
-#line 2752 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2748 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 74:
-#line 948 "./program/program_parse.y" /* yacc.c:1651  */
+#line 948 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if ((yyvsp[0].swiz_mask).mask != WRITEMASK_X) {
 	      yyerror(& (yylsp[0]), state,
@@ -2762,23 +2758,23 @@ yyreduce:
 	      (yyval.swiz_mask) = (yyvsp[0].swiz_mask);
 	   }
 	}
-#line 2766 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2762 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 79:
-#line 964 "./program/program_parse.y" /* yacc.c:1651  */
+#line 964 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.swiz_mask).swizzle = SWIZZLE_NOOP; (yyval.swiz_mask).mask = WRITEMASK_XYZW; }
-#line 2772 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2768 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 84:
-#line 968 "./program/program_parse.y" /* yacc.c:1651  */
+#line 968 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.swiz_mask).swizzle = SWIZZLE_NOOP; (yyval.swiz_mask).mask = WRITEMASK_XYZW; }
-#line 2778 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2774 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 91:
-#line 980 "./program/program_parse.y" /* yacc.c:1651  */
+#line 980 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   struct asm_symbol *const s =
 	      declare_variable(state, (yyvsp[-2].string), at_attrib, & (yylsp[-2]));
@@ -2795,84 +2791,84 @@ yyreduce:
 	      }
 	   }
 	}
-#line 2799 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2795 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 92:
-#line 999 "./program/program_parse.y" /* yacc.c:1651  */
+#line 999 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.attrib) = (yyvsp[0].attrib);
 	}
-#line 2807 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2803 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 93:
-#line 1003 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1003 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.attrib) = (yyvsp[0].attrib);
 	}
-#line 2815 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2811 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 94:
-#line 1009 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1009 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.attrib) = VERT_ATTRIB_POS;
 	}
-#line 2823 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2819 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 95:
-#line 1013 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1013 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.attrib) = VERT_ATTRIB_NORMAL;
 	}
-#line 2831 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2827 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 96:
-#line 1017 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1017 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.attrib) = VERT_ATTRIB_COLOR0 + (yyvsp[0].integer);
 	}
-#line 2839 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2835 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 97:
-#line 1021 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1021 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.attrib) = VERT_ATTRIB_FOG;
 	}
-#line 2847 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2843 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 98:
-#line 1025 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1025 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.attrib) = VERT_ATTRIB_TEX0 + (yyvsp[0].integer);
 	}
-#line 2855 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2851 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 99:
-#line 1029 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1029 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   yyerror(& (yylsp[-3]), state, "GL_ARB_matrix_palette not supported");
 	   YYERROR;
 	}
-#line 2864 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2860 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 100:
-#line 1034 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1034 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.attrib) = VERT_ATTRIB_GENERIC0 + (yyvsp[-1].integer);
 	}
-#line 2872 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2868 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 101:
-#line 1040 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1040 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if ((unsigned) (yyvsp[0].integer) >= state->limits->MaxAttribs) {
 	      yyerror(& (yylsp[0]), state, "invalid vertex attribute reference");
@@ -2881,43 +2877,43 @@ yyreduce:
 
 	   (yyval.integer) = (yyvsp[0].integer);
 	}
-#line 2885 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2881 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 103:
-#line 1053 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1053 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.attrib) = VARYING_SLOT_POS;
 	}
-#line 2893 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2889 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 104:
-#line 1057 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1057 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.attrib) = VARYING_SLOT_COL0 + (yyvsp[0].integer);
 	}
-#line 2901 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2897 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 105:
-#line 1061 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1061 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.attrib) = VARYING_SLOT_FOGC;
 	}
-#line 2909 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2905 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 106:
-#line 1065 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1065 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.attrib) = VARYING_SLOT_TEX0 + (yyvsp[0].integer);
 	}
-#line 2917 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2913 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 109:
-#line 1073 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1073 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   struct asm_symbol *const s =
 	      declare_variable(state, (yyvsp[-1].string), at_param, & (yylsp[-1]));
@@ -2933,11 +2929,11 @@ yyreduce:
 	      s->param_is_array = 0;
 	   }
 	}
-#line 2937 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2933 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 110:
-#line 1091 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1091 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if (((yyvsp[-2].integer) != 0) && ((unsigned) (yyvsp[-2].integer) != (yyvsp[0].temp_sym).param_binding_length)) {
 	      free((yyvsp[-4].string));
@@ -2960,19 +2956,19 @@ yyreduce:
 	      }
 	   }
 	}
-#line 2964 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2960 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 111:
-#line 1116 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1116 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = 0;
 	}
-#line 2972 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2968 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 112:
-#line 1120 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1120 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if (((yyvsp[0].integer) < 1) || ((unsigned) (yyvsp[0].integer) > state->limits->MaxParameters)) {
               char msg[100];
@@ -2985,266 +2981,266 @@ yyreduce:
 	      (yyval.integer) = (yyvsp[0].integer);
 	   }
 	}
-#line 2989 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2985 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 113:
-#line 1135 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1135 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.temp_sym) = (yyvsp[0].temp_sym);
 	}
-#line 2997 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 2993 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 114:
-#line 1141 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1141 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.temp_sym) = (yyvsp[-1].temp_sym);
 	}
-#line 3005 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3001 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 116:
-#line 1148 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1148 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyvsp[-2].temp_sym).param_binding_length += (yyvsp[0].temp_sym).param_binding_length;
 	   (yyval.temp_sym) = (yyvsp[-2].temp_sym);
 	}
-#line 3014 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3010 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 117:
-#line 1155 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1155 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   memset(& (yyval.temp_sym), 0, sizeof((yyval.temp_sym)));
 	   (yyval.temp_sym).param_binding_begin = ~0;
 	   initialize_symbol_from_state(state->prog, & (yyval.temp_sym), (yyvsp[0].state));
 	}
-#line 3024 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3020 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 118:
-#line 1161 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1161 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   memset(& (yyval.temp_sym), 0, sizeof((yyval.temp_sym)));
 	   (yyval.temp_sym).param_binding_begin = ~0;
 	   initialize_symbol_from_param(state->prog, & (yyval.temp_sym), (yyvsp[0].state));
 	}
-#line 3034 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3030 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 119:
-#line 1167 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1167 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   memset(& (yyval.temp_sym), 0, sizeof((yyval.temp_sym)));
 	   (yyval.temp_sym).param_binding_begin = ~0;
 	   initialize_symbol_from_const(state->prog, & (yyval.temp_sym), & (yyvsp[0].vector), GL_TRUE);
 	}
-#line 3044 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3040 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 120:
-#line 1175 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1175 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   memset(& (yyval.temp_sym), 0, sizeof((yyval.temp_sym)));
 	   (yyval.temp_sym).param_binding_begin = ~0;
 	   initialize_symbol_from_state(state->prog, & (yyval.temp_sym), (yyvsp[0].state));
 	}
-#line 3054 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3050 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 121:
-#line 1181 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1181 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   memset(& (yyval.temp_sym), 0, sizeof((yyval.temp_sym)));
 	   (yyval.temp_sym).param_binding_begin = ~0;
 	   initialize_symbol_from_param(state->prog, & (yyval.temp_sym), (yyvsp[0].state));
 	}
-#line 3064 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3060 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 122:
-#line 1187 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1187 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   memset(& (yyval.temp_sym), 0, sizeof((yyval.temp_sym)));
 	   (yyval.temp_sym).param_binding_begin = ~0;
 	   initialize_symbol_from_const(state->prog, & (yyval.temp_sym), & (yyvsp[0].vector), GL_TRUE);
 	}
-#line 3074 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3070 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 123:
-#line 1195 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1195 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   memset(& (yyval.temp_sym), 0, sizeof((yyval.temp_sym)));
 	   (yyval.temp_sym).param_binding_begin = ~0;
 	   initialize_symbol_from_state(state->prog, & (yyval.temp_sym), (yyvsp[0].state));
 	}
-#line 3084 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3080 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 124:
-#line 1201 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1201 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   memset(& (yyval.temp_sym), 0, sizeof((yyval.temp_sym)));
 	   (yyval.temp_sym).param_binding_begin = ~0;
 	   initialize_symbol_from_param(state->prog, & (yyval.temp_sym), (yyvsp[0].state));
 	}
-#line 3094 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3090 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 125:
-#line 1207 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1207 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   memset(& (yyval.temp_sym), 0, sizeof((yyval.temp_sym)));
 	   (yyval.temp_sym).param_binding_begin = ~0;
 	   initialize_symbol_from_const(state->prog, & (yyval.temp_sym), & (yyvsp[0].vector), GL_FALSE);
 	}
-#line 3104 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3100 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 126:
-#line 1214 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1214 "./program/program_parse.y" /* yacc.c:1645  */
     { memcpy((yyval.state), (yyvsp[0].state), sizeof((yyval.state))); }
-#line 3110 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3106 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 127:
-#line 1215 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1215 "./program/program_parse.y" /* yacc.c:1645  */
     { memcpy((yyval.state), (yyvsp[0].state), sizeof((yyval.state))); }
-#line 3116 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3112 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 128:
-#line 1218 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1218 "./program/program_parse.y" /* yacc.c:1645  */
     { memcpy((yyval.state), (yyvsp[0].state), sizeof((yyval.state))); }
-#line 3122 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3118 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 129:
-#line 1219 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1219 "./program/program_parse.y" /* yacc.c:1645  */
     { memcpy((yyval.state), (yyvsp[0].state), sizeof((yyval.state))); }
-#line 3128 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3124 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 130:
-#line 1220 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1220 "./program/program_parse.y" /* yacc.c:1645  */
     { memcpy((yyval.state), (yyvsp[0].state), sizeof((yyval.state))); }
-#line 3134 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3130 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 131:
-#line 1221 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1221 "./program/program_parse.y" /* yacc.c:1645  */
     { memcpy((yyval.state), (yyvsp[0].state), sizeof((yyval.state))); }
-#line 3140 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3136 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 132:
-#line 1222 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1222 "./program/program_parse.y" /* yacc.c:1645  */
     { memcpy((yyval.state), (yyvsp[0].state), sizeof((yyval.state))); }
-#line 3146 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3142 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 133:
-#line 1223 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1223 "./program/program_parse.y" /* yacc.c:1645  */
     { memcpy((yyval.state), (yyvsp[0].state), sizeof((yyval.state))); }
-#line 3152 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3148 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 134:
-#line 1224 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1224 "./program/program_parse.y" /* yacc.c:1645  */
     { memcpy((yyval.state), (yyvsp[0].state), sizeof((yyval.state))); }
-#line 3158 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3154 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 135:
-#line 1225 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1225 "./program/program_parse.y" /* yacc.c:1645  */
     { memcpy((yyval.state), (yyvsp[0].state), sizeof((yyval.state))); }
-#line 3164 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3160 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 136:
-#line 1226 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1226 "./program/program_parse.y" /* yacc.c:1645  */
     { memcpy((yyval.state), (yyvsp[0].state), sizeof((yyval.state))); }
-#line 3170 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3166 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 137:
-#line 1227 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1227 "./program/program_parse.y" /* yacc.c:1645  */
     { memcpy((yyval.state), (yyvsp[0].state), sizeof((yyval.state))); }
-#line 3176 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3172 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 138:
-#line 1228 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1228 "./program/program_parse.y" /* yacc.c:1645  */
     { memcpy((yyval.state), (yyvsp[0].state), sizeof((yyval.state))); }
-#line 3182 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3178 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 139:
-#line 1232 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1232 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   memset((yyval.state), 0, sizeof((yyval.state)));
 	   (yyval.state)[0] = STATE_MATERIAL;
 	   (yyval.state)[1] = (yyvsp[-1].integer);
 	   (yyval.state)[2] = (yyvsp[0].integer);
 	}
-#line 3193 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3189 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 140:
-#line 1241 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1241 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = (yyvsp[0].integer);
 	}
-#line 3201 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3197 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 141:
-#line 1245 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1245 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = STATE_EMISSION;
 	}
-#line 3209 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3205 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 142:
-#line 1249 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1249 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = STATE_SHININESS;
 	}
-#line 3217 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3213 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 143:
-#line 1255 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1255 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   memset((yyval.state), 0, sizeof((yyval.state)));
 	   (yyval.state)[0] = STATE_LIGHT;
 	   (yyval.state)[1] = (yyvsp[-2].integer);
 	   (yyval.state)[2] = (yyvsp[0].integer);
 	}
-#line 3228 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3224 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 144:
-#line 1264 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1264 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = (yyvsp[0].integer);
 	}
-#line 3236 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3232 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 145:
-#line 1268 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1268 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = STATE_POSITION;
 	}
-#line 3244 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3240 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 146:
-#line 1272 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1272 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if (!state->ctx->Extensions.EXT_point_parameters) {
 	      yyerror(& (yylsp[0]), state, "GL_ARB_point_parameters not supported");
@@ -3253,63 +3249,63 @@ yyreduce:
 
 	   (yyval.integer) = STATE_ATTENUATION;
 	}
-#line 3257 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3253 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 147:
-#line 1281 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1281 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = (yyvsp[0].integer);
 	}
-#line 3265 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3261 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 148:
-#line 1285 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1285 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = STATE_HALF_VECTOR;
 	}
-#line 3273 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3269 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 149:
-#line 1291 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1291 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = STATE_SPOT_DIRECTION;
 	}
-#line 3281 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3277 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 150:
-#line 1297 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1297 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.state)[0] = (yyvsp[0].state)[0];
 	   (yyval.state)[1] = (yyvsp[0].state)[1];
 	}
-#line 3290 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3286 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 151:
-#line 1304 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1304 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   memset((yyval.state), 0, sizeof((yyval.state)));
 	   (yyval.state)[0] = STATE_LIGHTMODEL_AMBIENT;
 	}
-#line 3299 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3295 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 152:
-#line 1309 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1309 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   memset((yyval.state), 0, sizeof((yyval.state)));
 	   (yyval.state)[0] = STATE_LIGHTMODEL_SCENECOLOR;
 	   (yyval.state)[1] = (yyvsp[-1].integer);
 	}
-#line 3309 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3305 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 153:
-#line 1317 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1317 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   memset((yyval.state), 0, sizeof((yyval.state)));
 	   (yyval.state)[0] = STATE_LIGHTPROD;
@@ -3317,53 +3313,53 @@ yyreduce:
 	   (yyval.state)[2] = (yyvsp[-1].integer);
 	   (yyval.state)[3] = (yyvsp[0].integer);
 	}
-#line 3321 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3317 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 155:
-#line 1329 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1329 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   memset((yyval.state), 0, sizeof((yyval.state)));
 	   (yyval.state)[0] = (yyvsp[0].integer);
 	   (yyval.state)[1] = (yyvsp[-1].integer);
 	}
-#line 3331 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3327 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 156:
-#line 1337 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1337 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = STATE_TEXENV_COLOR;
 	}
-#line 3339 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3335 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 157:
-#line 1343 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1343 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = STATE_AMBIENT;
 	}
-#line 3347 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3343 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 158:
-#line 1347 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1347 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = STATE_DIFFUSE;
 	}
-#line 3355 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3351 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 159:
-#line 1351 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1351 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = STATE_SPECULAR;
 	}
-#line 3363 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3359 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 160:
-#line 1357 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1357 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if ((unsigned) (yyvsp[0].integer) >= state->MaxLights) {
 	      yyerror(& (yylsp[0]), state, "invalid light selector");
@@ -3372,105 +3368,105 @@ yyreduce:
 
 	   (yyval.integer) = (yyvsp[0].integer);
 	}
-#line 3376 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3372 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 161:
-#line 1368 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1368 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   memset((yyval.state), 0, sizeof((yyval.state)));
 	   (yyval.state)[0] = STATE_TEXGEN;
 	   (yyval.state)[1] = (yyvsp[-2].integer);
 	   (yyval.state)[2] = (yyvsp[-1].integer) + (yyvsp[0].integer);
 	}
-#line 3387 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3383 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 162:
-#line 1377 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1377 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = STATE_TEXGEN_EYE_S;
 	}
-#line 3395 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3391 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 163:
-#line 1381 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1381 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = STATE_TEXGEN_OBJECT_S;
 	}
-#line 3403 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3399 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 164:
-#line 1386 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1386 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = STATE_TEXGEN_EYE_S - STATE_TEXGEN_EYE_S;
 	}
-#line 3411 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3407 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 165:
-#line 1390 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1390 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = STATE_TEXGEN_EYE_T - STATE_TEXGEN_EYE_S;
 	}
-#line 3419 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3415 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 166:
-#line 1394 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1394 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = STATE_TEXGEN_EYE_R - STATE_TEXGEN_EYE_S;
 	}
-#line 3427 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3423 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 167:
-#line 1398 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1398 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = STATE_TEXGEN_EYE_Q - STATE_TEXGEN_EYE_S;
 	}
-#line 3435 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3431 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 168:
-#line 1404 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1404 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   memset((yyval.state), 0, sizeof((yyval.state)));
 	   (yyval.state)[0] = (yyvsp[0].integer);
 	}
-#line 3444 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3440 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 169:
-#line 1411 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1411 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = STATE_FOG_COLOR;
 	}
-#line 3452 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3448 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 170:
-#line 1415 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1415 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = STATE_FOG_PARAMS;
 	}
-#line 3460 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3456 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 171:
-#line 1421 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1421 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   memset((yyval.state), 0, sizeof((yyval.state)));
 	   (yyval.state)[0] = STATE_CLIPPLANE;
 	   (yyval.state)[1] = (yyvsp[-2].integer);
 	}
-#line 3470 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3466 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 172:
-#line 1429 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1429 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if ((unsigned) (yyvsp[0].integer) >= state->MaxClipPlanes) {
 	      yyerror(& (yylsp[0]), state, "invalid clip plane selector");
@@ -3479,36 +3475,36 @@ yyreduce:
 
 	   (yyval.integer) = (yyvsp[0].integer);
 	}
-#line 3483 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3479 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 173:
-#line 1440 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1440 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   memset((yyval.state), 0, sizeof((yyval.state)));
 	   (yyval.state)[0] = (yyvsp[0].integer);
 	}
-#line 3492 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3488 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 174:
-#line 1447 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1447 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = STATE_POINT_SIZE;
 	}
-#line 3500 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3496 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 175:
-#line 1451 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1451 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = STATE_POINT_ATTENUATION;
 	}
-#line 3508 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3504 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 176:
-#line 1457 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1457 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.state)[0] = (yyvsp[-4].state)[0];
 	   (yyval.state)[1] = (yyvsp[-4].state)[1];
@@ -3516,11 +3512,11 @@ yyreduce:
 	   (yyval.state)[3] = (yyvsp[-1].integer);
 	   (yyval.state)[4] = (yyvsp[-4].state)[2];
 	}
-#line 3520 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3516 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 177:
-#line 1467 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1467 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.state)[0] = (yyvsp[-1].state)[0];
 	   (yyval.state)[1] = (yyvsp[-1].state)[1];
@@ -3528,20 +3524,20 @@ yyreduce:
 	   (yyval.state)[3] = (yyvsp[0].state)[3];
 	   (yyval.state)[4] = (yyvsp[-1].state)[2];
 	}
-#line 3532 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3528 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 178:
-#line 1477 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1477 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.state)[2] = 0;
 	   (yyval.state)[3] = 3;
 	}
-#line 3541 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3537 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 179:
-#line 1482 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1482 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   /* It seems logical that the matrix row range specifier would have
 	    * to specify a range or more than one row (i.e., $5 > $3).
@@ -3557,61 +3553,61 @@ yyreduce:
 	   (yyval.state)[2] = (yyvsp[-3].integer);
 	   (yyval.state)[3] = (yyvsp[-1].integer);
 	}
-#line 3561 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3557 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 180:
-#line 1500 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1500 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.state)[0] = (yyvsp[-1].state)[0];
 	   (yyval.state)[1] = (yyvsp[-1].state)[1];
 	   (yyval.state)[2] = (yyvsp[0].integer);
 	}
-#line 3571 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3567 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 181:
-#line 1508 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1508 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = 0;
 	}
-#line 3579 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3575 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 182:
-#line 1512 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1512 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = (yyvsp[0].integer);
 	}
-#line 3587 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3583 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 183:
-#line 1518 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1518 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = STATE_MATRIX_INVERSE;
 	}
-#line 3595 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3591 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 184:
-#line 1522 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1522 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = STATE_MATRIX_TRANSPOSE;
 	}
-#line 3603 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3599 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 185:
-#line 1526 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1526 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = STATE_MATRIX_INVTRANS;
 	}
-#line 3611 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3607 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 186:
-#line 1532 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1532 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if ((yyvsp[0].integer) > 3) {
 	      yyerror(& (yylsp[0]), state, "invalid matrix row reference");
@@ -3620,81 +3616,81 @@ yyreduce:
 
 	   (yyval.integer) = (yyvsp[0].integer);
 	}
-#line 3624 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3620 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 187:
-#line 1543 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1543 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.state)[0] = STATE_MODELVIEW_MATRIX;
 	   (yyval.state)[1] = (yyvsp[0].integer);
 	}
-#line 3633 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3629 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 188:
-#line 1548 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1548 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.state)[0] = STATE_PROJECTION_MATRIX;
 	   (yyval.state)[1] = 0;
 	}
-#line 3642 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3638 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 189:
-#line 1553 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1553 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.state)[0] = STATE_MVP_MATRIX;
 	   (yyval.state)[1] = 0;
 	}
-#line 3651 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3647 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 190:
-#line 1558 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1558 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.state)[0] = STATE_TEXTURE_MATRIX;
 	   (yyval.state)[1] = (yyvsp[0].integer);
 	}
-#line 3660 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3656 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 191:
-#line 1563 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1563 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   yyerror(& (yylsp[-3]), state, "GL_ARB_matrix_palette not supported");
 	   YYERROR;
 	}
-#line 3669 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3665 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 192:
-#line 1568 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1568 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.state)[0] = STATE_PROGRAM_MATRIX;
 	   (yyval.state)[1] = (yyvsp[-1].integer);
 	}
-#line 3678 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3674 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 193:
-#line 1575 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1575 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = 0;
 	}
-#line 3686 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3682 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 194:
-#line 1579 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1579 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = (yyvsp[-1].integer);
 	}
-#line 3694 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3690 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 195:
-#line 1584 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1584 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   /* Since GL_ARB_vertex_blend isn't supported, only modelview matrix
 	    * zero is valid.
@@ -3706,22 +3702,22 @@ yyreduce:
 
 	   (yyval.integer) = (yyvsp[0].integer);
 	}
-#line 3710 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3706 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 196:
-#line 1597 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1597 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   /* Since GL_ARB_matrix_palette isn't supported, just let any value
 	    * through here.  The error will be generated later.
 	    */
 	   (yyval.integer) = (yyvsp[0].integer);
 	}
-#line 3721 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3717 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 197:
-#line 1605 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1605 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if ((unsigned) (yyvsp[0].integer) >= state->MaxProgramMatrices) {
 	      yyerror(& (yylsp[0]), state, "invalid program matrix selector");
@@ -3730,20 +3726,20 @@ yyreduce:
 
 	   (yyval.integer) = (yyvsp[0].integer);
 	}
-#line 3734 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3730 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 198:
-#line 1616 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1616 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   memset((yyval.state), 0, sizeof((yyval.state)));
 	   (yyval.state)[0] = STATE_DEPTH_RANGE;
 	}
-#line 3743 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3739 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 203:
-#line 1628 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1628 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   memset((yyval.state), 0, sizeof((yyval.state)));
 	   (yyval.state)[0] = state->state_param_enum;
@@ -3751,29 +3747,29 @@ yyreduce:
 	   (yyval.state)[2] = (yyvsp[-1].state)[0];
 	   (yyval.state)[3] = (yyvsp[-1].state)[1];
 	}
-#line 3755 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3751 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 204:
-#line 1638 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1638 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.state)[0] = (yyvsp[0].integer);
 	   (yyval.state)[1] = (yyvsp[0].integer);
 	}
-#line 3764 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3760 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 205:
-#line 1643 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1643 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.state)[0] = (yyvsp[-2].integer);
 	   (yyval.state)[1] = (yyvsp[0].integer);
 	}
-#line 3773 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3769 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 206:
-#line 1650 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1650 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   memset((yyval.state), 0, sizeof((yyval.state)));
 	   (yyval.state)[0] = state->state_param_enum;
@@ -3781,11 +3777,11 @@ yyreduce:
 	   (yyval.state)[2] = (yyvsp[-1].integer);
 	   (yyval.state)[3] = (yyvsp[-1].integer);
 	}
-#line 3785 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3781 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 207:
-#line 1660 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1660 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   memset((yyval.state), 0, sizeof((yyval.state)));
 	   (yyval.state)[0] = state->state_param_enum;
@@ -3793,29 +3789,29 @@ yyreduce:
 	   (yyval.state)[2] = (yyvsp[-1].state)[0];
 	   (yyval.state)[3] = (yyvsp[-1].state)[1];
 	}
-#line 3797 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3793 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 208:
-#line 1669 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1669 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.state)[0] = (yyvsp[0].integer);
 	   (yyval.state)[1] = (yyvsp[0].integer);
 	}
-#line 3806 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3802 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 209:
-#line 1674 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1674 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.state)[0] = (yyvsp[-2].integer);
 	   (yyval.state)[1] = (yyvsp[0].integer);
 	}
-#line 3815 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3811 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 210:
-#line 1681 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1681 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   memset((yyval.state), 0, sizeof((yyval.state)));
 	   (yyval.state)[0] = state->state_param_enum;
@@ -3823,11 +3819,11 @@ yyreduce:
 	   (yyval.state)[2] = (yyvsp[-1].integer);
 	   (yyval.state)[3] = (yyvsp[-1].integer);
 	}
-#line 3827 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3823 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 211:
-#line 1691 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1691 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if ((unsigned) (yyvsp[0].integer) >= state->limits->MaxEnvParams) {
 	      yyerror(& (yylsp[0]), state, "invalid environment parameter reference");
@@ -3835,11 +3831,11 @@ yyreduce:
 	   }
 	   (yyval.integer) = (yyvsp[0].integer);
 	}
-#line 3839 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3835 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 212:
-#line 1701 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1701 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if ((unsigned) (yyvsp[0].integer) >= state->limits->MaxLocalParams) {
 	      yyerror(& (yylsp[0]), state, "invalid local parameter reference");
@@ -3847,11 +3843,11 @@ yyreduce:
 	   }
 	   (yyval.integer) = (yyvsp[0].integer);
 	}
-#line 3851 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3847 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 217:
-#line 1716 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1716 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.vector).count = 4;
 	   (yyval.vector).data[0].f = (yyvsp[0].real);
@@ -3859,11 +3855,11 @@ yyreduce:
 	   (yyval.vector).data[2].f = (yyvsp[0].real);
 	   (yyval.vector).data[3].f = (yyvsp[0].real);
 	}
-#line 3863 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3859 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 218:
-#line 1726 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1726 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.vector).count = 1;
 	   (yyval.vector).data[0].f = (yyvsp[0].real);
@@ -3871,11 +3867,11 @@ yyreduce:
 	   (yyval.vector).data[2].f = (yyvsp[0].real);
 	   (yyval.vector).data[3].f = (yyvsp[0].real);
 	}
-#line 3875 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3871 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 219:
-#line 1734 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1734 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.vector).count = 1;
 	   (yyval.vector).data[0].f = (float) (yyvsp[0].integer);
@@ -3883,11 +3879,11 @@ yyreduce:
 	   (yyval.vector).data[2].f = (float) (yyvsp[0].integer);
 	   (yyval.vector).data[3].f = (float) (yyvsp[0].integer);
 	}
-#line 3887 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3883 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 220:
-#line 1744 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1744 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.vector).count = 4;
 	   (yyval.vector).data[0].f = (yyvsp[-1].real);
@@ -3895,11 +3891,11 @@ yyreduce:
 	   (yyval.vector).data[2].f = 0.0f;
 	   (yyval.vector).data[3].f = 1.0f;
 	}
-#line 3899 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3895 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 221:
-#line 1752 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1752 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.vector).count = 4;
 	   (yyval.vector).data[0].f = (yyvsp[-3].real);
@@ -3907,11 +3903,11 @@ yyreduce:
 	   (yyval.vector).data[2].f = 0.0f;
 	   (yyval.vector).data[3].f = 1.0f;
 	}
-#line 3911 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3907 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 222:
-#line 1761 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1761 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.vector).count = 4;
 	   (yyval.vector).data[0].f = (yyvsp[-5].real);
@@ -3919,11 +3915,11 @@ yyreduce:
 	   (yyval.vector).data[2].f = (yyvsp[-1].real);
 	   (yyval.vector).data[3].f = 1.0f;
 	}
-#line 3923 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3919 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 223:
-#line 1770 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1770 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.vector).count = 4;
 	   (yyval.vector).data[0].f = (yyvsp[-7].real);
@@ -3931,79 +3927,79 @@ yyreduce:
 	   (yyval.vector).data[2].f = (yyvsp[-3].real);
 	   (yyval.vector).data[3].f = (yyvsp[-1].real);
 	}
-#line 3935 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3931 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 224:
-#line 1780 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1780 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.real) = ((yyvsp[-1].negate)) ? -(yyvsp[0].real) : (yyvsp[0].real);
 	}
-#line 3943 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3939 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 225:
-#line 1784 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1784 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.real) = (float)(((yyvsp[-1].negate)) ? -(yyvsp[0].integer) : (yyvsp[0].integer));
 	}
-#line 3951 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3947 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 226:
-#line 1789 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1789 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.negate) = FALSE; }
-#line 3957 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3953 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 227:
-#line 1790 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1790 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.negate) = TRUE;  }
-#line 3963 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3959 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 228:
-#line 1791 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1791 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.negate) = FALSE; }
-#line 3969 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3965 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 229:
-#line 1794 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1794 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = (yyvsp[0].integer); }
-#line 3975 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3971 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 231:
-#line 1797 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1797 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = (yyvsp[0].integer); }
-#line 3981 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3977 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 233:
-#line 1801 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1801 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if (!declare_variable(state, (yyvsp[0].string), (yyvsp[-3].integer), & (yylsp[0]))) {
 	      free((yyvsp[0].string));
 	      YYERROR;
 	   }
 	}
-#line 3992 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3988 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 234:
-#line 1808 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1808 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if (!declare_variable(state, (yyvsp[0].string), (yyvsp[-1].integer), & (yylsp[0]))) {
 	      free((yyvsp[0].string));
 	      YYERROR;
 	   }
 	}
-#line 4003 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 3999 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 235:
-#line 1817 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1817 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   struct asm_symbol *const s =
 	      declare_variable(state, (yyvsp[-2].string), at_output, & (yylsp[-2]));
@@ -4015,11 +4011,11 @@ yyreduce:
 	      s->output_binding = (yyvsp[0].result);
 	   }
 	}
-#line 4019 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4015 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 236:
-#line 1831 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1831 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if (state->mode == ARB_vertex) {
 	      (yyval.result) = VARYING_SLOT_POS;
@@ -4028,11 +4024,11 @@ yyreduce:
 	      YYERROR;
 	   }
 	}
-#line 4032 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4028 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 237:
-#line 1840 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1840 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if (state->mode == ARB_vertex) {
 	      (yyval.result) = VARYING_SLOT_FOGC;
@@ -4041,19 +4037,19 @@ yyreduce:
 	      YYERROR;
 	   }
 	}
-#line 4045 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4041 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 238:
-#line 1849 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1849 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.result) = (yyvsp[0].result);
 	}
-#line 4053 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4049 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 239:
-#line 1853 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1853 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if (state->mode == ARB_vertex) {
 	      (yyval.result) = VARYING_SLOT_PSIZ;
@@ -4062,11 +4058,11 @@ yyreduce:
 	      YYERROR;
 	   }
 	}
-#line 4066 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4062 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 240:
-#line 1862 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1862 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if (state->mode == ARB_vertex) {
 	      (yyval.result) = VARYING_SLOT_TEX0 + (yyvsp[0].integer);
@@ -4075,11 +4071,11 @@ yyreduce:
 	      YYERROR;
 	   }
 	}
-#line 4079 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4075 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 241:
-#line 1871 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1871 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if (state->mode == ARB_fragment) {
 	      (yyval.result) = FRAG_RESULT_DEPTH;
@@ -4088,19 +4084,19 @@ yyreduce:
 	      YYERROR;
 	   }
 	}
-#line 4092 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4088 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 242:
-#line 1882 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1882 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.result) = (yyvsp[-1].integer) + (yyvsp[0].integer);
 	}
-#line 4100 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4096 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 243:
-#line 1888 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1888 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if (state->mode == ARB_vertex) {
 	      (yyval.integer) = VARYING_SLOT_COL0;
@@ -4111,11 +4107,11 @@ yyreduce:
 		 (yyval.integer) = FRAG_RESULT_COLOR;
 	   }
 	}
-#line 4115 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4111 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 244:
-#line 1899 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1899 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if (state->mode == ARB_vertex) {
 	      yyerror(& (yylsp[-2]), state, "invalid program result name");
@@ -4143,11 +4139,11 @@ yyreduce:
 	      (yyval.integer) = FRAG_RESULT_DATA0 + (yyvsp[-1].integer);
 	   }
 	}
-#line 4147 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4143 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 245:
-#line 1927 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1927 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if (state->mode == ARB_vertex) {
 	      (yyval.integer) = VARYING_SLOT_COL0;
@@ -4156,11 +4152,11 @@ yyreduce:
 	      YYERROR;
 	   }
 	}
-#line 4160 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4156 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 246:
-#line 1936 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1936 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if (state->mode == ARB_vertex) {
 	      (yyval.integer) = VARYING_SLOT_BFC0;
@@ -4169,19 +4165,19 @@ yyreduce:
 	      YYERROR;
 	   }
 	}
-#line 4173 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4169 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 247:
-#line 1947 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1947 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   (yyval.integer) = 0; 
 	}
-#line 4181 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4177 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 248:
-#line 1951 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1951 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if (state->mode == ARB_vertex) {
 	      (yyval.integer) = 0;
@@ -4190,11 +4186,11 @@ yyreduce:
 	      YYERROR;
 	   }
 	}
-#line 4194 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4190 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 249:
-#line 1960 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1960 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if (state->mode == ARB_vertex) {
 	      (yyval.integer) = 1;
@@ -4203,83 +4199,83 @@ yyreduce:
 	      YYERROR;
 	   }
 	}
-#line 4207 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4203 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 250:
-#line 1970 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1970 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = 0; }
-#line 4213 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4209 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 251:
-#line 1971 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1971 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = 0; }
-#line 4219 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4215 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 252:
-#line 1972 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1972 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = 1; }
-#line 4225 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4221 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 253:
-#line 1975 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1975 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = 0; }
-#line 4231 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4227 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 254:
-#line 1976 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1976 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = 0; }
-#line 4237 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4233 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 255:
-#line 1977 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1977 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = 1; }
-#line 4243 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4239 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 256:
-#line 1980 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1980 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = 0; }
-#line 4249 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4245 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 257:
-#line 1981 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1981 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = (yyvsp[-1].integer); }
-#line 4255 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4251 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 258:
-#line 1984 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1984 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = 0; }
-#line 4261 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4257 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 259:
-#line 1985 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1985 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = (yyvsp[-1].integer); }
-#line 4267 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4263 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 260:
-#line 1988 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1988 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = 0; }
-#line 4273 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4269 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 261:
-#line 1989 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1989 "./program/program_parse.y" /* yacc.c:1645  */
     { (yyval.integer) = (yyvsp[-1].integer); }
-#line 4279 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4275 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 262:
-#line 1993 "./program/program_parse.y" /* yacc.c:1651  */
+#line 1993 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if ((unsigned) (yyvsp[0].integer) >= state->MaxTextureCoordUnits) {
 	      yyerror(& (yylsp[0]), state, "invalid texture coordinate unit selector");
@@ -4288,11 +4284,11 @@ yyreduce:
 
 	   (yyval.integer) = (yyvsp[0].integer);
 	}
-#line 4292 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4288 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 263:
-#line 2004 "./program/program_parse.y" /* yacc.c:1651  */
+#line 2004 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if ((unsigned) (yyvsp[0].integer) >= state->MaxTextureImageUnits) {
 	      yyerror(& (yylsp[0]), state, "invalid texture image unit selector");
@@ -4301,11 +4297,11 @@ yyreduce:
 
 	   (yyval.integer) = (yyvsp[0].integer);
 	}
-#line 4305 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4301 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 264:
-#line 2015 "./program/program_parse.y" /* yacc.c:1651  */
+#line 2015 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   if ((unsigned) (yyvsp[0].integer) >= state->MaxTextureUnits) {
 	      yyerror(& (yylsp[0]), state, "invalid texture unit selector");
@@ -4314,11 +4310,11 @@ yyreduce:
 
 	   (yyval.integer) = (yyvsp[0].integer);
 	}
-#line 4318 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4314 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
   case 265:
-#line 2026 "./program/program_parse.y" /* yacc.c:1651  */
+#line 2026 "./program/program_parse.y" /* yacc.c:1645  */
     {
 	   struct asm_symbol *exist = (struct asm_symbol *)
               _mesa_symbol_table_find_symbol(state->st, (yyvsp[-2].string));
@@ -4342,11 +4338,11 @@ yyreduce:
               _mesa_symbol_table_add_symbol(state->st, (yyvsp[-2].string), target);
 	   }
 	}
-#line 4346 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4342 "program/program_parse.tab.c" /* yacc.c:1645  */
     break;
 
 
-#line 4350 "program/program_parse.tab.c" /* yacc.c:1651  */
+#line 4346 "program/program_parse.tab.c" /* yacc.c:1645  */
       default: break;
     }
   /* User semantic actions sometimes alter yychar, and that requires
@@ -4372,14 +4368,13 @@ yyreduce:
   /* Now 'shift' the result of the reduction.  Determine what state
      that goes to, based on the state we popped back to and the rule
      number reduced by.  */
-
-  yyn = yyr1[yyn];
-
-  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
-  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
-    yystate = yytable[yystate];
-  else
-    yystate = yydefgoto[yyn - YYNTOKENS];
+  {
+    const int yylhs = yyr1[yyn] - YYNTOKENS;
+    const int yyi = yypgoto[yylhs] + *yyssp;
+    yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
+               ? yytable[yyi]
+               : yydefgoto[yylhs]);
+  }
 
   goto yynewstate;
 
@@ -4580,7 +4575,7 @@ yyreturn:
 #endif
   return yyresult;
 }
-#line 2055 "./program/program_parse.y" /* yacc.c:1910  */
+#line 2055 "./program/program_parse.y" /* yacc.c:1903  */
 
 
 void
Index: xsrc/external/mit/MesaLib/dist/src/mesa/program/program_parse.tab.h
diff -u xsrc/external/mit/MesaLib/dist/src/mesa/program/program_parse.tab.h:1.3 xsrc/external/mit/MesaLib/dist/src/mesa/program/program_parse.tab.h:1.4
--- xsrc/external/mit/MesaLib/dist/src/mesa/program/program_parse.tab.h:1.3	Sun Mar 10 04:15:56 2019
+++ xsrc/external/mit/MesaLib/dist/src/mesa/program/program_parse.tab.h	Sat Jun  1 07:53:00 2019
@@ -1,4 +1,4 @@
-/* A Bison parser, made by GNU Bison 3.1.  */
+/* A Bison parser, made by GNU Bison 3.2.  */
 
 /* Bison interface for Yacc-like parsers in C
 
@@ -30,6 +30,9 @@
    This special exception was added by the Free Software Foundation in
    version 2.2 of Bison.  */
 
+/* Undocumented macros, especially those whose name start with YY_,
+   are private implementation details.  Do not rely on them.  */
+
 #ifndef YY__MESA_PROGRAM_PROGRAM_PROGRAM_PARSE_TAB_H_INCLUDED
 # define YY__MESA_PROGRAM_PROGRAM_PROGRAM_PARSE_TAB_H_INCLUDED
 /* Debug traces.  */
@@ -157,7 +160,7 @@ extern int _mesa_program_debug;
 
 union YYSTYPE
 {
-#line 129 "./program/program_parse.y" /* yacc.c:1913  */
+#line 129 "./program/program_parse.y" /* yacc.c:1906  */
 
    struct asm_instruction *inst;
    struct asm_symbol *sym;
@@ -183,7 +186,7 @@ union YYSTYPE
       unsigned negate:1;
    } ext_swizzle;
 
-#line 187 "./program/program_parse.tab.h" /* yacc.c:1913  */
+#line 190 "./program/program_parse.tab.h" /* yacc.c:1906  */
 };
 
 typedef union YYSTYPE YYSTYPE;

Reply via email to