/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 248, 248, 251, 259, 271, 272, 275, 293, 294,
- 297, 312, 315, 320, 327, 328, 329, 330, 331, 332,
- 333, 336, 337, 340, 346, 353, 360, 368, 375, 383,
- 428, 435, 441, 442, 443, 444, 445, 446, 447, 448,
- 451, 463, 476, 489, 511, 520, 529, 536, 545, 573,
- 615, 626, 647, 657, 663, 687, 704, 704, 706, 713,
- 725, 726, 727, 730, 742, 754, 772, 783, 795, 797,
- 798, 799, 800, 803, 803, 803, 803, 804, 807, 808,
- 809, 810, 811, 812, 815, 833, 837, 843, 847, 851,
- 855, 864, 873, 877, 882, 888, 899, 899, 900, 902,
- 906, 910, 914, 920, 920, 922, 938, 961, 964, 975,
- 981, 987, 988, 995, 1001, 1007, 1015, 1021, 1027, 1035,
- 1041, 1047, 1055, 1056, 1059, 1060, 1061, 1062, 1063, 1064,
- 1065, 1066, 1067, 1068, 1071, 1080, 1084, 1088, 1094, 1103,
- 1107, 1111, 1120, 1124, 1130, 1136, 1143, 1148, 1156, 1166,
- 1168, 1176, 1182, 1186, 1190, 1196, 1207, 1216, 1220, 1225,
- 1229, 1233, 1237, 1243, 1250, 1254, 1260, 1268, 1279, 1286,
- 1290, 1296, 1306, 1317, 1321, 1339, 1348, 1351, 1357, 1361,
- 1365, 1371, 1382, 1387, 1392, 1397, 1402, 1407, 1415, 1418,
- 1423, 1436, 1444, 1457, 1457, 1459, 1459, 1461, 1471, 1476,
- 1483, 1493, 1502, 1507, 1514, 1524, 1534, 1546, 1546, 1547,
- 1547, 1549, 1556, 1561, 1568, 1576, 1584, 1593, 1604, 1608,
- 1614, 1615, 1616, 1619, 1619, 1622, 1622, 1625, 1631, 1639,
- 1652, 1661, 1670, 1674, 1683, 1692, 1703, 1710, 1715, 1724,
- 1736, 1739, 1748, 1759, 1760, 1761, 1764, 1765, 1766, 1769,
- 1770, 1773, 1774, 1777, 1778, 1781, 1792, 1803, 1814
+ 0, 248, 248, 251, 259, 271, 272, 275, 297, 298,
+ 301, 316, 319, 324, 331, 332, 333, 334, 335, 336,
+ 337, 340, 341, 344, 350, 357, 364, 372, 379, 387,
+ 432, 439, 445, 446, 447, 448, 449, 450, 451, 452,
+ 455, 467, 480, 493, 515, 524, 533, 540, 549, 577,
+ 619, 630, 651, 661, 667, 691, 708, 708, 710, 717,
+ 729, 730, 731, 734, 746, 758, 776, 787, 799, 801,
+ 802, 803, 804, 807, 807, 807, 807, 808, 811, 812,
+ 813, 814, 815, 816, 819, 837, 841, 847, 851, 855,
+ 859, 868, 877, 881, 886, 892, 903, 903, 904, 906,
+ 910, 914, 918, 924, 924, 926, 942, 965, 968, 979,
+ 985, 991, 992, 999, 1005, 1011, 1019, 1025, 1031, 1039,
+ 1045, 1051, 1059, 1060, 1063, 1064, 1065, 1066, 1067, 1068,
+ 1069, 1070, 1071, 1072, 1075, 1084, 1088, 1092, 1098, 1107,
+ 1111, 1115, 1124, 1128, 1134, 1140, 1147, 1152, 1160, 1170,
+ 1172, 1180, 1186, 1190, 1194, 1200, 1211, 1220, 1224, 1229,
+ 1233, 1237, 1241, 1247, 1254, 1258, 1264, 1272, 1283, 1290,
+ 1294, 1300, 1310, 1321, 1325, 1343, 1352, 1355, 1361, 1365,
+ 1369, 1375, 1386, 1391, 1396, 1401, 1406, 1411, 1419, 1422,
+ 1427, 1440, 1448, 1461, 1461, 1463, 1463, 1465, 1475, 1480,
+ 1487, 1497, 1506, 1511, 1518, 1528, 1538, 1550, 1550, 1551,
+ 1551, 1553, 1560, 1565, 1572, 1580, 1588, 1597, 1608, 1612,
+ 1618, 1619, 1620, 1623, 1623, 1626, 1626, 1629, 1635, 1643,
+ 1656, 1665, 1674, 1678, 1687, 1696, 1707, 1714, 1719, 1728,
+ 1740, 1743, 1752, 1763, 1764, 1765, 1768, 1769, 1770, 1773,
+ 1774, 1777, 1778, 1781, 1782, 1785, 1796, 1807, 1818
};
#endif
if (!valid) {
- yyerror(& (yylsp[(2) - (3)]), state, "invalid option string");
+ const char *const err_str = (state->mode == ARB_vertex)
+ ? "invalid ARB vertex program option"
+ : "invalid ARB fragment program option";
+
+ yyerror(& (yylsp[(2) - (3)]), state, err_str);
YYERROR;
}
;}
case 10:
/* Line 1455 of yacc.c */
-#line 298 "program_parse.y"
+#line 302 "program_parse.y"
{
if ((yyvsp[(1) - (2)].inst) != NULL) {
if (state->inst_tail == NULL) {
case 12:
/* Line 1455 of yacc.c */
-#line 316 "program_parse.y"
+#line 320 "program_parse.y"
{
(yyval.inst) = (yyvsp[(1) - (1)].inst);
state->prog->NumAluInstructions++;
case 13:
/* Line 1455 of yacc.c */
-#line 321 "program_parse.y"
+#line 325 "program_parse.y"
{
(yyval.inst) = (yyvsp[(1) - (1)].inst);
state->prog->NumTexInstructions++;
case 23:
/* Line 1455 of yacc.c */
-#line 341 "program_parse.y"
+#line 345 "program_parse.y"
{
(yyval.inst) = asm_instruction_ctor(OPCODE_ARL, & (yyvsp[(2) - (4)].dst_reg), & (yyvsp[(4) - (4)].src_reg), NULL, NULL);
;}
case 24:
/* Line 1455 of yacc.c */
-#line 347 "program_parse.y"
+#line 351 "program_parse.y"
{
(yyval.inst) = asm_instruction_ctor((yyvsp[(1) - (4)].temp_inst).Opcode, & (yyvsp[(2) - (4)].dst_reg), & (yyvsp[(4) - (4)].src_reg), NULL, NULL);
(yyval.inst)->Base.SaturateMode = (yyvsp[(1) - (4)].temp_inst).SaturateMode;
case 25:
/* Line 1455 of yacc.c */
-#line 354 "program_parse.y"
+#line 358 "program_parse.y"
{
(yyval.inst) = asm_instruction_ctor((yyvsp[(1) - (4)].temp_inst).Opcode, & (yyvsp[(2) - (4)].dst_reg), & (yyvsp[(4) - (4)].src_reg), NULL, NULL);
(yyval.inst)->Base.SaturateMode = (yyvsp[(1) - (4)].temp_inst).SaturateMode;
case 26:
/* Line 1455 of yacc.c */
-#line 361 "program_parse.y"
+#line 365 "program_parse.y"
{
(yyval.inst) = asm_instruction_ctor((yyvsp[(1) - (6)].temp_inst).Opcode, & (yyvsp[(2) - (6)].dst_reg), & (yyvsp[(4) - (6)].src_reg), & (yyvsp[(6) - (6)].src_reg), NULL);
(yyval.inst)->Base.SaturateMode = (yyvsp[(1) - (6)].temp_inst).SaturateMode;
case 27:
/* Line 1455 of yacc.c */
-#line 369 "program_parse.y"
+#line 373 "program_parse.y"
{
(yyval.inst) = asm_instruction_ctor((yyvsp[(1) - (6)].temp_inst).Opcode, & (yyvsp[(2) - (6)].dst_reg), & (yyvsp[(4) - (6)].src_reg), & (yyvsp[(6) - (6)].src_reg), NULL);
(yyval.inst)->Base.SaturateMode = (yyvsp[(1) - (6)].temp_inst).SaturateMode;
case 28:
/* Line 1455 of yacc.c */
-#line 377 "program_parse.y"
+#line 381 "program_parse.y"
{
(yyval.inst) = asm_instruction_ctor((yyvsp[(1) - (8)].temp_inst).Opcode, & (yyvsp[(2) - (8)].dst_reg), & (yyvsp[(4) - (8)].src_reg), & (yyvsp[(6) - (8)].src_reg), & (yyvsp[(8) - (8)].src_reg));
(yyval.inst)->Base.SaturateMode = (yyvsp[(1) - (8)].temp_inst).SaturateMode;
case 29:
/* Line 1455 of yacc.c */
-#line 384 "program_parse.y"
+#line 388 "program_parse.y"
{
(yyval.inst) = asm_instruction_ctor((yyvsp[(1) - (8)].temp_inst).Opcode, & (yyvsp[(2) - (8)].dst_reg), & (yyvsp[(4) - (8)].src_reg), NULL, NULL);
if ((yyval.inst) != NULL) {
case 30:
/* Line 1455 of yacc.c */
-#line 429 "program_parse.y"
+#line 433 "program_parse.y"
{
(yyval.inst) = asm_instruction_ctor(OPCODE_KIL, NULL, & (yyvsp[(2) - (2)].src_reg), NULL, NULL);
state->fragment.UsesKill = 1;
case 31:
/* Line 1455 of yacc.c */
-#line 436 "program_parse.y"
+#line 440 "program_parse.y"
{
(yyval.integer) = (yyvsp[(2) - (2)].integer);
;}
case 32:
/* Line 1455 of yacc.c */
-#line 441 "program_parse.y"
+#line 445 "program_parse.y"
{ (yyval.integer) = TEXTURE_1D_INDEX; ;}
break;
case 33:
/* Line 1455 of yacc.c */
-#line 442 "program_parse.y"
+#line 446 "program_parse.y"
{ (yyval.integer) = TEXTURE_2D_INDEX; ;}
break;
case 34:
/* Line 1455 of yacc.c */
-#line 443 "program_parse.y"
+#line 447 "program_parse.y"
{ (yyval.integer) = TEXTURE_3D_INDEX; ;}
break;
case 35:
/* Line 1455 of yacc.c */
-#line 444 "program_parse.y"
+#line 448 "program_parse.y"
{ (yyval.integer) = TEXTURE_CUBE_INDEX; ;}
break;
case 36:
/* Line 1455 of yacc.c */
-#line 445 "program_parse.y"
+#line 449 "program_parse.y"
{ (yyval.integer) = TEXTURE_RECT_INDEX; ;}
break;
case 37:
/* Line 1455 of yacc.c */
-#line 446 "program_parse.y"
+#line 450 "program_parse.y"
{ (yyval.integer) = -TEXTURE_1D_INDEX; ;}
break;
case 38:
/* Line 1455 of yacc.c */
-#line 447 "program_parse.y"
+#line 451 "program_parse.y"
{ (yyval.integer) = -TEXTURE_2D_INDEX; ;}
break;
case 39:
/* Line 1455 of yacc.c */
-#line 448 "program_parse.y"
+#line 452 "program_parse.y"
{ (yyval.integer) = -TEXTURE_RECT_INDEX; ;}
break;
case 40:
/* Line 1455 of yacc.c */
-#line 452 "program_parse.y"
+#line 456 "program_parse.y"
{
/* FIXME: Is this correct? Should the extenedSwizzle be applied
* FIXME: to the existing swizzle?
case 41:
/* Line 1455 of yacc.c */
-#line 464 "program_parse.y"
+#line 468 "program_parse.y"
{
(yyval.src_reg) = (yyvsp[(2) - (3)].src_reg);
case 42:
/* Line 1455 of yacc.c */
-#line 477 "program_parse.y"
+#line 481 "program_parse.y"
{
(yyval.src_reg) = (yyvsp[(2) - (3)].src_reg);
case 43:
/* Line 1455 of yacc.c */
-#line 490 "program_parse.y"
+#line 494 "program_parse.y"
{
(yyval.dst_reg) = (yyvsp[(1) - (2)].dst_reg);
(yyval.dst_reg).WriteMask = (yyvsp[(2) - (2)].swiz_mask).mask;
case 44:
/* Line 1455 of yacc.c */
-#line 512 "program_parse.y"
+#line 516 "program_parse.y"
{
init_dst_reg(& (yyval.dst_reg));
(yyval.dst_reg).File = PROGRAM_ADDRESS;
case 45:
/* Line 1455 of yacc.c */
-#line 521 "program_parse.y"
+#line 525 "program_parse.y"
{
(yyval.swiz_mask).swizzle = MAKE_SWIZZLE4((yyvsp[(1) - (7)].swiz_mask).swizzle, (yyvsp[(3) - (7)].swiz_mask).swizzle,
(yyvsp[(5) - (7)].swiz_mask).swizzle, (yyvsp[(7) - (7)].swiz_mask).swizzle);
case 46:
/* Line 1455 of yacc.c */
-#line 530 "program_parse.y"
+#line 534 "program_parse.y"
{
(yyval.swiz_mask).swizzle = (yyvsp[(2) - (2)].integer);
(yyval.swiz_mask).mask = ((yyvsp[(1) - (2)].negate)) ? 1 : 0;
case 47:
/* Line 1455 of yacc.c */
-#line 537 "program_parse.y"
+#line 541 "program_parse.y"
{
if (((yyvsp[(1) - (1)].integer) != 0) && ((yyvsp[(1) - (1)].integer) != 1)) {
yyerror(& (yylsp[(1) - (1)]), state, "invalid extended swizzle selector");
case 48:
/* Line 1455 of yacc.c */
-#line 546 "program_parse.y"
+#line 550 "program_parse.y"
{
if (strlen((yyvsp[(1) - (1)].string)) > 1) {
yyerror(& (yylsp[(1) - (1)]), state, "invalid extended swizzle selector");
case 49:
/* Line 1455 of yacc.c */
-#line 574 "program_parse.y"
+#line 578 "program_parse.y"
{
struct asm_symbol *const s = (struct asm_symbol *)
_mesa_symbol_table_find_symbol(state->st, 0, (yyvsp[(1) - (1)].string));
case 50:
/* Line 1455 of yacc.c */
-#line 616 "program_parse.y"
+#line 620 "program_parse.y"
{
init_src_reg(& (yyval.src_reg));
(yyval.src_reg).Base.File = PROGRAM_INPUT;
case 51:
/* Line 1455 of yacc.c */
-#line 627 "program_parse.y"
+#line 631 "program_parse.y"
{
if (! (yyvsp[(3) - (4)].src_reg).Base.RelAddr
&& ((unsigned) (yyvsp[(3) - (4)].src_reg).Base.Index >= (yyvsp[(1) - (4)].sym)->param_binding_length)) {
case 52:
/* Line 1455 of yacc.c */
-#line 648 "program_parse.y"
+#line 652 "program_parse.y"
{
init_src_reg(& (yyval.src_reg));
(yyval.src_reg).Base.File = ((yyvsp[(1) - (1)].temp_sym).name != NULL)
case 53:
/* Line 1455 of yacc.c */
-#line 658 "program_parse.y"
+#line 662 "program_parse.y"
{
init_dst_reg(& (yyval.dst_reg));
(yyval.dst_reg).File = PROGRAM_OUTPUT;
case 54:
/* Line 1455 of yacc.c */
-#line 664 "program_parse.y"
+#line 668 "program_parse.y"
{
struct asm_symbol *const s = (struct asm_symbol *)
_mesa_symbol_table_find_symbol(state->st, 0, (yyvsp[(1) - (1)].string));
case 55:
/* Line 1455 of yacc.c */
-#line 688 "program_parse.y"
+#line 692 "program_parse.y"
{
struct asm_symbol *const s = (struct asm_symbol *)
_mesa_symbol_table_find_symbol(state->st, 0, (yyvsp[(1) - (1)].string));
case 58:
/* Line 1455 of yacc.c */
-#line 707 "program_parse.y"
+#line 711 "program_parse.y"
{
init_src_reg(& (yyval.src_reg));
(yyval.src_reg).Base.Index = (yyvsp[(1) - (1)].integer);
case 59:
/* Line 1455 of yacc.c */
-#line 714 "program_parse.y"
+#line 718 "program_parse.y"
{
/* FINISHME: Add support for multiple address registers.
*/
case 60:
/* Line 1455 of yacc.c */
-#line 725 "program_parse.y"
+#line 729 "program_parse.y"
{ (yyval.integer) = 0; ;}
break;
case 61:
/* Line 1455 of yacc.c */
-#line 726 "program_parse.y"
+#line 730 "program_parse.y"
{ (yyval.integer) = (yyvsp[(2) - (2)].integer); ;}
break;
case 62:
/* Line 1455 of yacc.c */
-#line 727 "program_parse.y"
+#line 731 "program_parse.y"
{ (yyval.integer) = -(yyvsp[(2) - (2)].integer); ;}
break;
case 63:
/* Line 1455 of yacc.c */
-#line 731 "program_parse.y"
+#line 735 "program_parse.y"
{
if (((yyvsp[(1) - (1)].integer) < 0) || ((yyvsp[(1) - (1)].integer) > 63)) {
yyerror(& (yylsp[(1) - (1)]), state,
case 64:
/* Line 1455 of yacc.c */
-#line 743 "program_parse.y"
+#line 747 "program_parse.y"
{
if (((yyvsp[(1) - (1)].integer) < 0) || ((yyvsp[(1) - (1)].integer) > 64)) {
yyerror(& (yylsp[(1) - (1)]), state,
case 65:
/* Line 1455 of yacc.c */
-#line 755 "program_parse.y"
+#line 759 "program_parse.y"
{
struct asm_symbol *const s = (struct asm_symbol *)
_mesa_symbol_table_find_symbol(state->st, 0, (yyvsp[(1) - (1)].string));
case 66:
/* Line 1455 of yacc.c */
-#line 773 "program_parse.y"
+#line 777 "program_parse.y"
{
if ((yyvsp[(1) - (1)].swiz_mask).mask != WRITEMASK_X) {
yyerror(& (yylsp[(1) - (1)]), state, "invalid address component selector");
case 67:
/* Line 1455 of yacc.c */
-#line 784 "program_parse.y"
+#line 788 "program_parse.y"
{
if ((yyvsp[(1) - (1)].swiz_mask).mask != WRITEMASK_X) {
yyerror(& (yylsp[(1) - (1)]), state,
case 72:
/* Line 1455 of yacc.c */
-#line 800 "program_parse.y"
+#line 804 "program_parse.y"
{ (yyval.swiz_mask).swizzle = SWIZZLE_NOOP; (yyval.swiz_mask).mask = WRITEMASK_XYZW; ;}
break;
case 77:
/* Line 1455 of yacc.c */
-#line 804 "program_parse.y"
+#line 808 "program_parse.y"
{ (yyval.swiz_mask).swizzle = SWIZZLE_NOOP; (yyval.swiz_mask).mask = WRITEMASK_XYZW; ;}
break;
case 84:
/* Line 1455 of yacc.c */
-#line 816 "program_parse.y"
+#line 820 "program_parse.y"
{
struct asm_symbol *const s =
declare_variable(state, (yyvsp[(2) - (4)].string), at_attrib, & (yylsp[(2) - (4)]));
case 85:
/* Line 1455 of yacc.c */
-#line 834 "program_parse.y"
+#line 838 "program_parse.y"
{
(yyval.attrib) = (yyvsp[(2) - (2)].attrib);
;}
case 86:
/* Line 1455 of yacc.c */
-#line 838 "program_parse.y"
+#line 842 "program_parse.y"
{
(yyval.attrib) = (yyvsp[(2) - (2)].attrib);
;}
case 87:
/* Line 1455 of yacc.c */
-#line 844 "program_parse.y"
+#line 848 "program_parse.y"
{
(yyval.attrib) = VERT_ATTRIB_POS;
;}
case 88:
/* Line 1455 of yacc.c */
-#line 848 "program_parse.y"
+#line 852 "program_parse.y"
{
(yyval.attrib) = VERT_ATTRIB_WEIGHT;
;}
case 89:
/* Line 1455 of yacc.c */
-#line 852 "program_parse.y"
+#line 856 "program_parse.y"
{
(yyval.attrib) = VERT_ATTRIB_NORMAL;
;}
case 90:
/* Line 1455 of yacc.c */
-#line 856 "program_parse.y"
+#line 860 "program_parse.y"
{
if (!state->ctx->Extensions.EXT_secondary_color) {
yyerror(& (yylsp[(2) - (2)]), state, "GL_EXT_secondary_color not supported");
case 91:
/* Line 1455 of yacc.c */
-#line 865 "program_parse.y"
+#line 869 "program_parse.y"
{
if (!state->ctx->Extensions.EXT_fog_coord) {
yyerror(& (yylsp[(1) - (1)]), state, "GL_EXT_fog_coord not supported");
case 92:
/* Line 1455 of yacc.c */
-#line 874 "program_parse.y"
+#line 878 "program_parse.y"
{
(yyval.attrib) = VERT_ATTRIB_TEX0 + (yyvsp[(2) - (2)].integer);
;}
case 93:
/* Line 1455 of yacc.c */
-#line 878 "program_parse.y"
+#line 882 "program_parse.y"
{
yyerror(& (yylsp[(1) - (4)]), state, "GL_ARB_matrix_palette not supported");
YYERROR;
case 94:
/* Line 1455 of yacc.c */
-#line 883 "program_parse.y"
+#line 887 "program_parse.y"
{
(yyval.attrib) = VERT_ATTRIB_GENERIC0 + (yyvsp[(3) - (4)].integer);
;}
case 95:
/* Line 1455 of yacc.c */
-#line 889 "program_parse.y"
+#line 893 "program_parse.y"
{
if ((unsigned) (yyvsp[(1) - (1)].integer) >= state->limits->MaxAttribs) {
yyerror(& (yylsp[(1) - (1)]), state, "invalid vertex attribute reference");
case 99:
/* Line 1455 of yacc.c */
-#line 903 "program_parse.y"
+#line 907 "program_parse.y"
{
(yyval.attrib) = FRAG_ATTRIB_WPOS;
;}
case 100:
/* Line 1455 of yacc.c */
-#line 907 "program_parse.y"
+#line 911 "program_parse.y"
{
(yyval.attrib) = FRAG_ATTRIB_COL0 + (yyvsp[(2) - (2)].integer);
;}
case 101:
/* Line 1455 of yacc.c */
-#line 911 "program_parse.y"
+#line 915 "program_parse.y"
{
(yyval.attrib) = FRAG_ATTRIB_FOGC;
;}
case 102:
/* Line 1455 of yacc.c */
-#line 915 "program_parse.y"
+#line 919 "program_parse.y"
{
(yyval.attrib) = FRAG_ATTRIB_TEX0 + (yyvsp[(2) - (2)].integer);
;}
case 105:
/* Line 1455 of yacc.c */
-#line 923 "program_parse.y"
+#line 927 "program_parse.y"
{
struct asm_symbol *const s =
declare_variable(state, (yyvsp[(2) - (3)].string), at_param, & (yylsp[(2) - (3)]));
case 106:
/* Line 1455 of yacc.c */
-#line 939 "program_parse.y"
+#line 943 "program_parse.y"
{
if (((yyvsp[(4) - (6)].integer) != 0) && ((unsigned) (yyvsp[(4) - (6)].integer) != (yyvsp[(6) - (6)].temp_sym).param_binding_length)) {
yyerror(& (yylsp[(4) - (6)]), state,
case 107:
/* Line 1455 of yacc.c */
-#line 961 "program_parse.y"
+#line 965 "program_parse.y"
{
(yyval.integer) = 0;
;}
case 108:
/* Line 1455 of yacc.c */
-#line 965 "program_parse.y"
+#line 969 "program_parse.y"
{
if (((yyvsp[(1) - (1)].integer) < 1) || ((unsigned) (yyvsp[(1) - (1)].integer) >= state->limits->MaxParameters)) {
yyerror(& (yylsp[(1) - (1)]), state, "invalid parameter array size");
case 109:
/* Line 1455 of yacc.c */
-#line 976 "program_parse.y"
+#line 980 "program_parse.y"
{
(yyval.temp_sym) = (yyvsp[(2) - (2)].temp_sym);
;}
case 110:
/* Line 1455 of yacc.c */
-#line 982 "program_parse.y"
+#line 986 "program_parse.y"
{
(yyval.temp_sym) = (yyvsp[(3) - (4)].temp_sym);
;}
case 112:
/* Line 1455 of yacc.c */
-#line 989 "program_parse.y"
+#line 993 "program_parse.y"
{
(yyvsp[(1) - (3)].temp_sym).param_binding_length += (yyvsp[(3) - (3)].temp_sym).param_binding_length;
(yyval.temp_sym) = (yyvsp[(1) - (3)].temp_sym);
case 113:
/* Line 1455 of yacc.c */
-#line 996 "program_parse.y"
+#line 1000 "program_parse.y"
{
memset(& (yyval.temp_sym), 0, sizeof((yyval.temp_sym)));
(yyval.temp_sym).param_binding_begin = ~0;
case 114:
/* Line 1455 of yacc.c */
-#line 1002 "program_parse.y"
+#line 1006 "program_parse.y"
{
memset(& (yyval.temp_sym), 0, sizeof((yyval.temp_sym)));
(yyval.temp_sym).param_binding_begin = ~0;
case 115:
/* Line 1455 of yacc.c */
-#line 1008 "program_parse.y"
+#line 1012 "program_parse.y"
{
memset(& (yyval.temp_sym), 0, sizeof((yyval.temp_sym)));
(yyval.temp_sym).param_binding_begin = ~0;
case 116:
/* Line 1455 of yacc.c */
-#line 1016 "program_parse.y"
+#line 1020 "program_parse.y"
{
memset(& (yyval.temp_sym), 0, sizeof((yyval.temp_sym)));
(yyval.temp_sym).param_binding_begin = ~0;
case 117:
/* Line 1455 of yacc.c */
-#line 1022 "program_parse.y"
+#line 1026 "program_parse.y"
{
memset(& (yyval.temp_sym), 0, sizeof((yyval.temp_sym)));
(yyval.temp_sym).param_binding_begin = ~0;
case 118:
/* Line 1455 of yacc.c */
-#line 1028 "program_parse.y"
+#line 1032 "program_parse.y"
{
memset(& (yyval.temp_sym), 0, sizeof((yyval.temp_sym)));
(yyval.temp_sym).param_binding_begin = ~0;
case 119:
/* Line 1455 of yacc.c */
-#line 1036 "program_parse.y"
+#line 1040 "program_parse.y"
{
memset(& (yyval.temp_sym), 0, sizeof((yyval.temp_sym)));
(yyval.temp_sym).param_binding_begin = ~0;
case 120:
/* Line 1455 of yacc.c */
-#line 1042 "program_parse.y"
+#line 1046 "program_parse.y"
{
memset(& (yyval.temp_sym), 0, sizeof((yyval.temp_sym)));
(yyval.temp_sym).param_binding_begin = ~0;
case 121:
/* Line 1455 of yacc.c */
-#line 1048 "program_parse.y"
+#line 1052 "program_parse.y"
{
memset(& (yyval.temp_sym), 0, sizeof((yyval.temp_sym)));
(yyval.temp_sym).param_binding_begin = ~0;
case 122:
/* Line 1455 of yacc.c */
-#line 1055 "program_parse.y"
+#line 1059 "program_parse.y"
{ memcpy((yyval.state), (yyvsp[(1) - (1)].state), sizeof((yyval.state))); ;}
break;
case 123:
/* Line 1455 of yacc.c */
-#line 1056 "program_parse.y"
+#line 1060 "program_parse.y"
{ memcpy((yyval.state), (yyvsp[(2) - (2)].state), sizeof((yyval.state))); ;}
break;
case 124:
/* Line 1455 of yacc.c */
-#line 1059 "program_parse.y"
+#line 1063 "program_parse.y"
{ memcpy((yyval.state), (yyvsp[(2) - (2)].state), sizeof((yyval.state))); ;}
break;
case 125:
/* Line 1455 of yacc.c */
-#line 1060 "program_parse.y"
+#line 1064 "program_parse.y"
{ memcpy((yyval.state), (yyvsp[(2) - (2)].state), sizeof((yyval.state))); ;}
break;
case 126:
/* Line 1455 of yacc.c */
-#line 1061 "program_parse.y"
+#line 1065 "program_parse.y"
{ memcpy((yyval.state), (yyvsp[(2) - (2)].state), sizeof((yyval.state))); ;}
break;
case 127:
/* Line 1455 of yacc.c */
-#line 1062 "program_parse.y"
+#line 1066 "program_parse.y"
{ memcpy((yyval.state), (yyvsp[(2) - (2)].state), sizeof((yyval.state))); ;}
break;
case 128:
/* Line 1455 of yacc.c */
-#line 1063 "program_parse.y"
+#line 1067 "program_parse.y"
{ memcpy((yyval.state), (yyvsp[(2) - (2)].state), sizeof((yyval.state))); ;}
break;
case 129:
/* Line 1455 of yacc.c */
-#line 1064 "program_parse.y"
+#line 1068 "program_parse.y"
{ memcpy((yyval.state), (yyvsp[(2) - (2)].state), sizeof((yyval.state))); ;}
break;
case 130:
/* Line 1455 of yacc.c */
-#line 1065 "program_parse.y"
+#line 1069 "program_parse.y"
{ memcpy((yyval.state), (yyvsp[(2) - (2)].state), sizeof((yyval.state))); ;}
break;
case 131:
/* Line 1455 of yacc.c */
-#line 1066 "program_parse.y"
+#line 1070 "program_parse.y"
{ memcpy((yyval.state), (yyvsp[(2) - (2)].state), sizeof((yyval.state))); ;}
break;
case 132:
/* Line 1455 of yacc.c */
-#line 1067 "program_parse.y"
+#line 1071 "program_parse.y"
{ memcpy((yyval.state), (yyvsp[(2) - (2)].state), sizeof((yyval.state))); ;}
break;
case 133:
/* Line 1455 of yacc.c */
-#line 1068 "program_parse.y"
+#line 1072 "program_parse.y"
{ memcpy((yyval.state), (yyvsp[(2) - (2)].state), sizeof((yyval.state))); ;}
break;
case 134:
/* Line 1455 of yacc.c */
-#line 1072 "program_parse.y"
+#line 1076 "program_parse.y"
{
memset((yyval.state), 0, sizeof((yyval.state)));
(yyval.state)[0] = STATE_MATERIAL;
case 135:
/* Line 1455 of yacc.c */
-#line 1081 "program_parse.y"
+#line 1085 "program_parse.y"
{
(yyval.integer) = (yyvsp[(1) - (1)].integer);
;}
case 136:
/* Line 1455 of yacc.c */
-#line 1085 "program_parse.y"
+#line 1089 "program_parse.y"
{
(yyval.integer) = STATE_EMISSION;
;}
case 137:
/* Line 1455 of yacc.c */
-#line 1089 "program_parse.y"
+#line 1093 "program_parse.y"
{
(yyval.integer) = STATE_SHININESS;
;}
case 138:
/* Line 1455 of yacc.c */
-#line 1095 "program_parse.y"
+#line 1099 "program_parse.y"
{
memset((yyval.state), 0, sizeof((yyval.state)));
(yyval.state)[0] = STATE_LIGHT;
case 139:
/* Line 1455 of yacc.c */
-#line 1104 "program_parse.y"
+#line 1108 "program_parse.y"
{
(yyval.integer) = (yyvsp[(1) - (1)].integer);
;}
case 140:
/* Line 1455 of yacc.c */
-#line 1108 "program_parse.y"
+#line 1112 "program_parse.y"
{
(yyval.integer) = STATE_POSITION;
;}
case 141:
/* Line 1455 of yacc.c */
-#line 1112 "program_parse.y"
+#line 1116 "program_parse.y"
{
if (!state->ctx->Extensions.EXT_point_parameters) {
yyerror(& (yylsp[(1) - (1)]), state, "GL_ARB_point_parameters not supported");
case 142:
/* Line 1455 of yacc.c */
-#line 1121 "program_parse.y"
+#line 1125 "program_parse.y"
{
(yyval.integer) = (yyvsp[(2) - (2)].integer);
;}
case 143:
/* Line 1455 of yacc.c */
-#line 1125 "program_parse.y"
+#line 1129 "program_parse.y"
{
(yyval.integer) = STATE_HALF_VECTOR;
;}
case 144:
/* Line 1455 of yacc.c */
-#line 1131 "program_parse.y"
+#line 1135 "program_parse.y"
{
(yyval.integer) = STATE_SPOT_DIRECTION;
;}
case 145:
/* Line 1455 of yacc.c */
-#line 1137 "program_parse.y"
+#line 1141 "program_parse.y"
{
(yyval.state)[0] = (yyvsp[(2) - (2)].state)[0];
(yyval.state)[1] = (yyvsp[(2) - (2)].state)[1];
case 146:
/* Line 1455 of yacc.c */
-#line 1144 "program_parse.y"
+#line 1148 "program_parse.y"
{
memset((yyval.state), 0, sizeof((yyval.state)));
(yyval.state)[0] = STATE_LIGHTMODEL_AMBIENT;
case 147:
/* Line 1455 of yacc.c */
-#line 1149 "program_parse.y"
+#line 1153 "program_parse.y"
{
memset((yyval.state), 0, sizeof((yyval.state)));
(yyval.state)[0] = STATE_LIGHTMODEL_SCENECOLOR;
case 148:
/* Line 1455 of yacc.c */
-#line 1157 "program_parse.y"
+#line 1161 "program_parse.y"
{
memset((yyval.state), 0, sizeof((yyval.state)));
(yyval.state)[0] = STATE_LIGHTPROD;
case 150:
/* Line 1455 of yacc.c */
-#line 1169 "program_parse.y"
+#line 1173 "program_parse.y"
{
memset((yyval.state), 0, sizeof((yyval.state)));
(yyval.state)[0] = (yyvsp[(3) - (3)].integer);
case 151:
/* Line 1455 of yacc.c */
-#line 1177 "program_parse.y"
+#line 1181 "program_parse.y"
{
(yyval.integer) = STATE_TEXENV_COLOR;
;}
case 152:
/* Line 1455 of yacc.c */
-#line 1183 "program_parse.y"
+#line 1187 "program_parse.y"
{
(yyval.integer) = STATE_AMBIENT;
;}
case 153:
/* Line 1455 of yacc.c */
-#line 1187 "program_parse.y"
+#line 1191 "program_parse.y"
{
(yyval.integer) = STATE_DIFFUSE;
;}
case 154:
/* Line 1455 of yacc.c */
-#line 1191 "program_parse.y"
+#line 1195 "program_parse.y"
{
(yyval.integer) = STATE_SPECULAR;
;}
case 155:
/* Line 1455 of yacc.c */
-#line 1197 "program_parse.y"
+#line 1201 "program_parse.y"
{
if ((unsigned) (yyvsp[(1) - (1)].integer) >= state->MaxLights) {
yyerror(& (yylsp[(1) - (1)]), state, "invalid light selector");
case 156:
/* Line 1455 of yacc.c */
-#line 1208 "program_parse.y"
+#line 1212 "program_parse.y"
{
memset((yyval.state), 0, sizeof((yyval.state)));
(yyval.state)[0] = STATE_TEXGEN;
case 157:
/* Line 1455 of yacc.c */
-#line 1217 "program_parse.y"
+#line 1221 "program_parse.y"
{
(yyval.integer) = STATE_TEXGEN_EYE_S;
;}
case 158:
/* Line 1455 of yacc.c */
-#line 1221 "program_parse.y"
+#line 1225 "program_parse.y"
{
(yyval.integer) = STATE_TEXGEN_OBJECT_S;
;}
case 159:
/* Line 1455 of yacc.c */
-#line 1226 "program_parse.y"
+#line 1230 "program_parse.y"
{
(yyval.integer) = STATE_TEXGEN_EYE_S - STATE_TEXGEN_EYE_S;
;}
case 160:
/* Line 1455 of yacc.c */
-#line 1230 "program_parse.y"
+#line 1234 "program_parse.y"
{
(yyval.integer) = STATE_TEXGEN_EYE_T - STATE_TEXGEN_EYE_S;
;}
case 161:
/* Line 1455 of yacc.c */
-#line 1234 "program_parse.y"
+#line 1238 "program_parse.y"
{
(yyval.integer) = STATE_TEXGEN_EYE_R - STATE_TEXGEN_EYE_S;
;}
case 162:
/* Line 1455 of yacc.c */
-#line 1238 "program_parse.y"
+#line 1242 "program_parse.y"
{
(yyval.integer) = STATE_TEXGEN_EYE_Q - STATE_TEXGEN_EYE_S;
;}
case 163:
/* Line 1455 of yacc.c */
-#line 1244 "program_parse.y"
+#line 1248 "program_parse.y"
{
memset((yyval.state), 0, sizeof((yyval.state)));
(yyval.state)[0] = (yyvsp[(2) - (2)].integer);
case 164:
/* Line 1455 of yacc.c */
-#line 1251 "program_parse.y"
+#line 1255 "program_parse.y"
{
(yyval.integer) = STATE_FOG_COLOR;
;}
case 165:
/* Line 1455 of yacc.c */
-#line 1255 "program_parse.y"
+#line 1259 "program_parse.y"
{
(yyval.integer) = STATE_FOG_PARAMS;
;}
case 166:
/* Line 1455 of yacc.c */
-#line 1261 "program_parse.y"
+#line 1265 "program_parse.y"
{
memset((yyval.state), 0, sizeof((yyval.state)));
(yyval.state)[0] = STATE_CLIPPLANE;
case 167:
/* Line 1455 of yacc.c */
-#line 1269 "program_parse.y"
+#line 1273 "program_parse.y"
{
if ((unsigned) (yyvsp[(1) - (1)].integer) >= state->MaxClipPlanes) {
yyerror(& (yylsp[(1) - (1)]), state, "invalid clip plane selector");
case 168:
/* Line 1455 of yacc.c */
-#line 1280 "program_parse.y"
+#line 1284 "program_parse.y"
{
memset((yyval.state), 0, sizeof((yyval.state)));
(yyval.state)[0] = (yyvsp[(2) - (2)].integer);
case 169:
/* Line 1455 of yacc.c */
-#line 1287 "program_parse.y"
+#line 1291 "program_parse.y"
{
(yyval.integer) = STATE_POINT_SIZE;
;}
case 170:
/* Line 1455 of yacc.c */
-#line 1291 "program_parse.y"
+#line 1295 "program_parse.y"
{
(yyval.integer) = STATE_POINT_ATTENUATION;
;}
case 171:
/* Line 1455 of yacc.c */
-#line 1297 "program_parse.y"
+#line 1301 "program_parse.y"
{
(yyval.state)[0] = (yyvsp[(1) - (5)].state)[0];
(yyval.state)[1] = (yyvsp[(1) - (5)].state)[1];
case 172:
/* Line 1455 of yacc.c */
-#line 1307 "program_parse.y"
+#line 1311 "program_parse.y"
{
(yyval.state)[0] = (yyvsp[(1) - (2)].state)[0];
(yyval.state)[1] = (yyvsp[(1) - (2)].state)[1];
case 173:
/* Line 1455 of yacc.c */
-#line 1317 "program_parse.y"
+#line 1321 "program_parse.y"
{
(yyval.state)[2] = 0;
(yyval.state)[3] = 3;
case 174:
/* Line 1455 of yacc.c */
-#line 1322 "program_parse.y"
+#line 1326 "program_parse.y"
{
/* It seems logical that the matrix row range specifier would have
* to specify a range or more than one row (i.e., $5 > $3).
case 175:
/* Line 1455 of yacc.c */
-#line 1340 "program_parse.y"
+#line 1344 "program_parse.y"
{
(yyval.state)[0] = (yyvsp[(2) - (3)].state)[0];
(yyval.state)[1] = (yyvsp[(2) - (3)].state)[1];
case 176:
/* Line 1455 of yacc.c */
-#line 1348 "program_parse.y"
+#line 1352 "program_parse.y"
{
(yyval.integer) = 0;
;}
case 177:
/* Line 1455 of yacc.c */
-#line 1352 "program_parse.y"
+#line 1356 "program_parse.y"
{
(yyval.integer) = (yyvsp[(1) - (1)].integer);
;}
case 178:
/* Line 1455 of yacc.c */
-#line 1358 "program_parse.y"
+#line 1362 "program_parse.y"
{
(yyval.integer) = STATE_MATRIX_INVERSE;
;}
case 179:
/* Line 1455 of yacc.c */
-#line 1362 "program_parse.y"
+#line 1366 "program_parse.y"
{
(yyval.integer) = STATE_MATRIX_TRANSPOSE;
;}
case 180:
/* Line 1455 of yacc.c */
-#line 1366 "program_parse.y"
+#line 1370 "program_parse.y"
{
(yyval.integer) = STATE_MATRIX_INVTRANS;
;}
case 181:
/* Line 1455 of yacc.c */
-#line 1372 "program_parse.y"
+#line 1376 "program_parse.y"
{
if ((yyvsp[(1) - (1)].integer) > 3) {
yyerror(& (yylsp[(1) - (1)]), state, "invalid matrix row reference");
case 182:
/* Line 1455 of yacc.c */
-#line 1383 "program_parse.y"
+#line 1387 "program_parse.y"
{
(yyval.state)[0] = STATE_MODELVIEW_MATRIX;
(yyval.state)[1] = (yyvsp[(2) - (2)].integer);
case 183:
/* Line 1455 of yacc.c */
-#line 1388 "program_parse.y"
+#line 1392 "program_parse.y"
{
(yyval.state)[0] = STATE_PROJECTION_MATRIX;
(yyval.state)[1] = 0;
case 184:
/* Line 1455 of yacc.c */
-#line 1393 "program_parse.y"
+#line 1397 "program_parse.y"
{
(yyval.state)[0] = STATE_MVP_MATRIX;
(yyval.state)[1] = 0;
case 185:
/* Line 1455 of yacc.c */
-#line 1398 "program_parse.y"
+#line 1402 "program_parse.y"
{
(yyval.state)[0] = STATE_TEXTURE_MATRIX;
(yyval.state)[1] = (yyvsp[(2) - (2)].integer);
case 186:
/* Line 1455 of yacc.c */
-#line 1403 "program_parse.y"
+#line 1407 "program_parse.y"
{
yyerror(& (yylsp[(1) - (4)]), state, "GL_ARB_matrix_palette not supported");
YYERROR;
case 187:
/* Line 1455 of yacc.c */
-#line 1408 "program_parse.y"
+#line 1412 "program_parse.y"
{
(yyval.state)[0] = STATE_PROGRAM_MATRIX;
(yyval.state)[1] = (yyvsp[(3) - (4)].integer);
case 188:
/* Line 1455 of yacc.c */
-#line 1415 "program_parse.y"
+#line 1419 "program_parse.y"
{
(yyval.integer) = 0;
;}
case 189:
/* Line 1455 of yacc.c */
-#line 1419 "program_parse.y"
+#line 1423 "program_parse.y"
{
(yyval.integer) = (yyvsp[(1) - (1)].integer);
;}
case 190:
/* Line 1455 of yacc.c */
-#line 1424 "program_parse.y"
+#line 1428 "program_parse.y"
{
/* Since GL_ARB_vertex_blend isn't supported, only modelview matrix
* zero is valid.
case 191:
/* Line 1455 of yacc.c */
-#line 1437 "program_parse.y"
+#line 1441 "program_parse.y"
{
/* Since GL_ARB_matrix_palette isn't supported, just let any value
* through here. The error will be generated later.
case 192:
/* Line 1455 of yacc.c */
-#line 1445 "program_parse.y"
+#line 1449 "program_parse.y"
{
if ((unsigned) (yyvsp[(1) - (1)].integer) >= state->MaxProgramMatrices) {
yyerror(& (yylsp[(1) - (1)]), state, "invalid program matrix selector");
case 197:
/* Line 1455 of yacc.c */
-#line 1462 "program_parse.y"
+#line 1466 "program_parse.y"
{
memset((yyval.state), 0, sizeof((yyval.state)));
(yyval.state)[0] = state->state_param_enum;
case 198:
/* Line 1455 of yacc.c */
-#line 1472 "program_parse.y"
+#line 1476 "program_parse.y"
{
(yyval.state)[0] = (yyvsp[(1) - (1)].integer);
(yyval.state)[1] = (yyvsp[(1) - (1)].integer);
case 199:
/* Line 1455 of yacc.c */
-#line 1477 "program_parse.y"
+#line 1481 "program_parse.y"
{
(yyval.state)[0] = (yyvsp[(1) - (3)].integer);
(yyval.state)[1] = (yyvsp[(3) - (3)].integer);
case 200:
/* Line 1455 of yacc.c */
-#line 1484 "program_parse.y"
+#line 1488 "program_parse.y"
{
memset((yyval.state), 0, sizeof((yyval.state)));
(yyval.state)[0] = state->state_param_enum;
case 201:
/* Line 1455 of yacc.c */
-#line 1494 "program_parse.y"
+#line 1498 "program_parse.y"
{
memset((yyval.state), 0, sizeof((yyval.state)));
(yyval.state)[0] = state->state_param_enum;
case 202:
/* Line 1455 of yacc.c */
-#line 1503 "program_parse.y"
+#line 1507 "program_parse.y"
{
(yyval.state)[0] = (yyvsp[(1) - (1)].integer);
(yyval.state)[1] = (yyvsp[(1) - (1)].integer);
case 203:
/* Line 1455 of yacc.c */
-#line 1508 "program_parse.y"
+#line 1512 "program_parse.y"
{
(yyval.state)[0] = (yyvsp[(1) - (3)].integer);
(yyval.state)[1] = (yyvsp[(3) - (3)].integer);
case 204:
/* Line 1455 of yacc.c */
-#line 1515 "program_parse.y"
+#line 1519 "program_parse.y"
{
memset((yyval.state), 0, sizeof((yyval.state)));
(yyval.state)[0] = state->state_param_enum;
case 205:
/* Line 1455 of yacc.c */
-#line 1525 "program_parse.y"
+#line 1529 "program_parse.y"
{
if ((unsigned) (yyvsp[(1) - (1)].integer) >= state->limits->MaxEnvParams) {
yyerror(& (yylsp[(1) - (1)]), state, "invalid environment parameter reference");
case 206:
/* Line 1455 of yacc.c */
-#line 1535 "program_parse.y"
+#line 1539 "program_parse.y"
{
if ((unsigned) (yyvsp[(1) - (1)].integer) >= state->limits->MaxLocalParams) {
yyerror(& (yylsp[(1) - (1)]), state, "invalid local parameter reference");
case 211:
/* Line 1455 of yacc.c */
-#line 1550 "program_parse.y"
+#line 1554 "program_parse.y"
{
(yyval.vector).count = 1;
(yyval.vector).data[0] = (yyvsp[(1) - (1)].real);
case 212:
/* Line 1455 of yacc.c */
-#line 1557 "program_parse.y"
+#line 1561 "program_parse.y"
{
(yyval.vector).count = 1;
(yyval.vector).data[0] = (yyvsp[(1) - (1)].real);
case 213:
/* Line 1455 of yacc.c */
-#line 1562 "program_parse.y"
+#line 1566 "program_parse.y"
{
(yyval.vector).count = 1;
(yyval.vector).data[0] = (float) (yyvsp[(1) - (1)].integer);
case 214:
/* Line 1455 of yacc.c */
-#line 1569 "program_parse.y"
+#line 1573 "program_parse.y"
{
(yyval.vector).count = 1;
(yyval.vector).data[0] = (yyvsp[(2) - (3)].real);
case 215:
/* Line 1455 of yacc.c */
-#line 1577 "program_parse.y"
+#line 1581 "program_parse.y"
{
(yyval.vector).count = 2;
(yyval.vector).data[0] = (yyvsp[(2) - (5)].real);
case 216:
/* Line 1455 of yacc.c */
-#line 1586 "program_parse.y"
+#line 1590 "program_parse.y"
{
(yyval.vector).count = 3;
(yyval.vector).data[0] = (yyvsp[(2) - (7)].real);
case 217:
/* Line 1455 of yacc.c */
-#line 1595 "program_parse.y"
+#line 1599 "program_parse.y"
{
(yyval.vector).count = 4;
(yyval.vector).data[0] = (yyvsp[(2) - (9)].real);
case 218:
/* Line 1455 of yacc.c */
-#line 1605 "program_parse.y"
+#line 1609 "program_parse.y"
{
(yyval.real) = ((yyvsp[(1) - (2)].negate)) ? -(yyvsp[(2) - (2)].real) : (yyvsp[(2) - (2)].real);
;}
case 219:
/* Line 1455 of yacc.c */
-#line 1609 "program_parse.y"
+#line 1613 "program_parse.y"
{
(yyval.real) = (float)(((yyvsp[(1) - (2)].negate)) ? -(yyvsp[(2) - (2)].integer) : (yyvsp[(2) - (2)].integer));
;}
case 220:
/* Line 1455 of yacc.c */
-#line 1614 "program_parse.y"
+#line 1618 "program_parse.y"
{ (yyval.negate) = FALSE; ;}
break;
case 221:
/* Line 1455 of yacc.c */
-#line 1615 "program_parse.y"
+#line 1619 "program_parse.y"
{ (yyval.negate) = TRUE; ;}
break;
case 222:
/* Line 1455 of yacc.c */
-#line 1616 "program_parse.y"
+#line 1620 "program_parse.y"
{ (yyval.negate) = FALSE; ;}
break;
case 223:
/* Line 1455 of yacc.c */
-#line 1619 "program_parse.y"
+#line 1623 "program_parse.y"
{ (yyval.integer) = (yyvsp[(1) - (1)].integer); ;}
break;
case 225:
/* Line 1455 of yacc.c */
-#line 1622 "program_parse.y"
+#line 1626 "program_parse.y"
{ (yyval.integer) = (yyvsp[(1) - (1)].integer); ;}
break;
case 227:
/* Line 1455 of yacc.c */
-#line 1626 "program_parse.y"
+#line 1630 "program_parse.y"
{
if (!declare_variable(state, (yyvsp[(3) - (3)].string), (yyvsp[(0) - (3)].integer), & (yylsp[(3) - (3)]))) {
YYERROR;
case 228:
/* Line 1455 of yacc.c */
-#line 1632 "program_parse.y"
+#line 1636 "program_parse.y"
{
if (!declare_variable(state, (yyvsp[(1) - (1)].string), (yyvsp[(0) - (1)].integer), & (yylsp[(1) - (1)]))) {
YYERROR;
case 229:
/* Line 1455 of yacc.c */
-#line 1640 "program_parse.y"
+#line 1644 "program_parse.y"
{
struct asm_symbol *const s =
declare_variable(state, (yyvsp[(2) - (4)].string), at_output, & (yylsp[(2) - (4)]));
case 230:
/* Line 1455 of yacc.c */
-#line 1653 "program_parse.y"
+#line 1657 "program_parse.y"
{
if (state->mode == ARB_vertex) {
(yyval.result) = VERT_RESULT_HPOS;
case 231:
/* Line 1455 of yacc.c */
-#line 1662 "program_parse.y"
+#line 1666 "program_parse.y"
{
if (state->mode == ARB_vertex) {
(yyval.result) = VERT_RESULT_FOGC;
case 232:
/* Line 1455 of yacc.c */
-#line 1671 "program_parse.y"
+#line 1675 "program_parse.y"
{
(yyval.result) = (yyvsp[(2) - (2)].result);
;}
case 233:
/* Line 1455 of yacc.c */
-#line 1675 "program_parse.y"
+#line 1679 "program_parse.y"
{
if (state->mode == ARB_vertex) {
(yyval.result) = VERT_RESULT_PSIZ;
case 234:
/* Line 1455 of yacc.c */
-#line 1684 "program_parse.y"
+#line 1688 "program_parse.y"
{
if (state->mode == ARB_vertex) {
(yyval.result) = VERT_RESULT_TEX0 + (yyvsp[(3) - (3)].integer);
case 235:
/* Line 1455 of yacc.c */
-#line 1693 "program_parse.y"
+#line 1697 "program_parse.y"
{
if (state->mode == ARB_fragment) {
(yyval.result) = FRAG_RESULT_DEPTH;
case 236:
/* Line 1455 of yacc.c */
-#line 1704 "program_parse.y"
+#line 1708 "program_parse.y"
{
(yyval.result) = (yyvsp[(2) - (3)].integer) + (yyvsp[(3) - (3)].integer);
;}
case 237:
/* Line 1455 of yacc.c */
-#line 1710 "program_parse.y"
+#line 1714 "program_parse.y"
{
(yyval.integer) = (state->mode == ARB_vertex)
? VERT_RESULT_COL0
case 238:
/* Line 1455 of yacc.c */
-#line 1716 "program_parse.y"
+#line 1720 "program_parse.y"
{
if (state->mode == ARB_vertex) {
(yyval.integer) = VERT_RESULT_COL0;
case 239:
/* Line 1455 of yacc.c */
-#line 1725 "program_parse.y"
+#line 1729 "program_parse.y"
{
if (state->mode == ARB_vertex) {
(yyval.integer) = VERT_RESULT_BFC0;
case 240:
/* Line 1455 of yacc.c */
-#line 1736 "program_parse.y"
+#line 1740 "program_parse.y"
{
(yyval.integer) = 0;
;}
case 241:
/* Line 1455 of yacc.c */
-#line 1740 "program_parse.y"
+#line 1744 "program_parse.y"
{
if (state->mode == ARB_vertex) {
(yyval.integer) = 0;
case 242:
/* Line 1455 of yacc.c */
-#line 1749 "program_parse.y"
+#line 1753 "program_parse.y"
{
if (state->mode == ARB_vertex) {
(yyval.integer) = 1;
case 243:
/* Line 1455 of yacc.c */
-#line 1759 "program_parse.y"
+#line 1763 "program_parse.y"
{ (yyval.integer) = 0; ;}
break;
case 244:
/* Line 1455 of yacc.c */
-#line 1760 "program_parse.y"
+#line 1764 "program_parse.y"
{ (yyval.integer) = 0; ;}
break;
case 245:
/* Line 1455 of yacc.c */
-#line 1761 "program_parse.y"
+#line 1765 "program_parse.y"
{ (yyval.integer) = 1; ;}
break;
case 246:
/* Line 1455 of yacc.c */
-#line 1764 "program_parse.y"
+#line 1768 "program_parse.y"
{ (yyval.integer) = 0; ;}
break;
case 247:
/* Line 1455 of yacc.c */
-#line 1765 "program_parse.y"
+#line 1769 "program_parse.y"
{ (yyval.integer) = 0; ;}
break;
case 248:
/* Line 1455 of yacc.c */
-#line 1766 "program_parse.y"
+#line 1770 "program_parse.y"
{ (yyval.integer) = 1; ;}
break;
case 249:
/* Line 1455 of yacc.c */
-#line 1769 "program_parse.y"
+#line 1773 "program_parse.y"
{ (yyval.integer) = 0; ;}
break;
case 250:
/* Line 1455 of yacc.c */
-#line 1770 "program_parse.y"
+#line 1774 "program_parse.y"
{ (yyval.integer) = (yyvsp[(2) - (3)].integer); ;}
break;
case 251:
/* Line 1455 of yacc.c */
-#line 1773 "program_parse.y"
+#line 1777 "program_parse.y"
{ (yyval.integer) = 0; ;}
break;
case 252:
/* Line 1455 of yacc.c */
-#line 1774 "program_parse.y"
+#line 1778 "program_parse.y"
{ (yyval.integer) = (yyvsp[(2) - (3)].integer); ;}
break;
case 253:
/* Line 1455 of yacc.c */
-#line 1777 "program_parse.y"
+#line 1781 "program_parse.y"
{ (yyval.integer) = 0; ;}
break;
case 254:
/* Line 1455 of yacc.c */
-#line 1778 "program_parse.y"
+#line 1782 "program_parse.y"
{ (yyval.integer) = (yyvsp[(2) - (3)].integer); ;}
break;
case 255:
/* Line 1455 of yacc.c */
-#line 1782 "program_parse.y"
+#line 1786 "program_parse.y"
{
if ((unsigned) (yyvsp[(1) - (1)].integer) >= state->MaxTextureCoordUnits) {
yyerror(& (yylsp[(1) - (1)]), state, "invalid texture coordinate unit selector");
case 256:
/* Line 1455 of yacc.c */
-#line 1793 "program_parse.y"
+#line 1797 "program_parse.y"
{
if ((unsigned) (yyvsp[(1) - (1)].integer) >= state->MaxTextureImageUnits) {
yyerror(& (yylsp[(1) - (1)]), state, "invalid texture image unit selector");
case 257:
/* Line 1455 of yacc.c */
-#line 1804 "program_parse.y"
+#line 1808 "program_parse.y"
{
if ((unsigned) (yyvsp[(1) - (1)].integer) >= state->MaxTextureUnits) {
yyerror(& (yylsp[(1) - (1)]), state, "invalid texture unit selector");
case 258:
/* Line 1455 of yacc.c */
-#line 1815 "program_parse.y"
+#line 1819 "program_parse.y"
{
struct asm_symbol *exist = (struct asm_symbol *)
_mesa_symbol_table_find_symbol(state->st, 0, (yyvsp[(2) - (4)].string));
/* Line 1455 of yacc.c */
-#line 4435 "program_parse.tab.c"
+#line 4439 "program_parse.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
/* Line 1675 of yacc.c */
-#line 1835 "program_parse.y"
+#line 1839 "program_parse.y"
struct asm_instruction *