314, 317, 318, 321, 327, 334, 341, 349, 356, 364,
375, 381, 387, 388, 389, 390, 391, 394, 406, 419,
432, 454, 463, 472, 479, 488, 516, 558, 569, 590,
- 598, 604, 628, 645, 645, 647, 654, 666, 667, 668,
- 671, 683, 695, 713, 724, 736, 738, 739, 740, 741,
- 744, 744, 744, 744, 745, 748, 749, 750, 751, 752,
- 753, 756, 774, 778, 784, 788, 792, 796, 800, 804,
- 808, 812, 818, 829, 829, 830, 832, 836, 840, 844,
- 850, 850, 852, 868, 891, 894, 905, 911, 917, 918,
- 925, 931, 937, 945, 951, 957, 965, 971, 977, 985,
- 986, 989, 990, 991, 992, 993, 994, 995, 996, 997,
- 998, 1001, 1010, 1014, 1018, 1024, 1033, 1037, 1041, 1045,
- 1049, 1055, 1061, 1068, 1073, 1081, 1091, 1093, 1101, 1107,
- 1111, 1115, 1121, 1132, 1141, 1145, 1150, 1154, 1158, 1162,
- 1168, 1175, 1179, 1185, 1193, 1204, 1211, 1215, 1221, 1231,
- 1242, 1246, 1264, 1273, 1276, 1282, 1286, 1290, 1296, 1307,
- 1312, 1317, 1322, 1327, 1331, 1339, 1342, 1347, 1360, 1368,
- 1381, 1381, 1383, 1383, 1385, 1395, 1400, 1407, 1417, 1426,
- 1431, 1438, 1448, 1458, 1470, 1470, 1471, 1471, 1473, 1480,
- 1485, 1492, 1497, 1503, 1511, 1522, 1526, 1532, 1533, 1534,
- 1537, 1537, 1540, 1540, 1543, 1549, 1557, 1570, 1579, 1588,
- 1592, 1601, 1610, 1621, 1628, 1633, 1642, 1654, 1657, 1666,
- 1677, 1678, 1679, 1682, 1683, 1684, 1687, 1688, 1691, 1692,
- 1695, 1696, 1699, 1710, 1721, 1732
+ 600, 606, 630, 647, 647, 649, 656, 668, 669, 670,
+ 673, 685, 697, 715, 726, 738, 740, 741, 742, 743,
+ 746, 746, 746, 746, 747, 750, 751, 752, 753, 754,
+ 755, 758, 776, 780, 786, 790, 794, 798, 802, 806,
+ 810, 814, 820, 831, 831, 832, 834, 838, 842, 846,
+ 852, 852, 854, 870, 893, 896, 907, 913, 919, 920,
+ 927, 933, 939, 947, 953, 959, 967, 973, 979, 987,
+ 988, 991, 992, 993, 994, 995, 996, 997, 998, 999,
+ 1000, 1003, 1012, 1016, 1020, 1026, 1035, 1039, 1043, 1047,
+ 1051, 1057, 1063, 1070, 1075, 1083, 1093, 1095, 1103, 1109,
+ 1113, 1117, 1123, 1134, 1143, 1147, 1152, 1156, 1160, 1164,
+ 1170, 1177, 1181, 1187, 1195, 1206, 1213, 1217, 1223, 1233,
+ 1244, 1248, 1266, 1275, 1278, 1284, 1288, 1292, 1298, 1309,
+ 1314, 1319, 1324, 1329, 1333, 1341, 1344, 1349, 1362, 1370,
+ 1383, 1383, 1385, 1385, 1387, 1397, 1402, 1409, 1419, 1428,
+ 1433, 1440, 1450, 1460, 1472, 1472, 1473, 1473, 1475, 1482,
+ 1487, 1494, 1499, 1505, 1513, 1524, 1528, 1534, 1535, 1536,
+ 1539, 1539, 1542, 1542, 1545, 1551, 1559, 1572, 1581, 1590,
+ 1594, 1603, 1612, 1623, 1630, 1635, 1644, 1656, 1659, 1668,
+ 1679, 1680, 1681, 1684, 1685, 1686, 1689, 1690, 1693, 1694,
+ 1697, 1698, 1701, 1712, 1723, 1734
};
#endif
#line 591 "program_parse.y"
{
init_src_reg(& (yyval.src_reg));
- (yyval.src_reg).Base.File = (yyvsp[(1) - (1)].temp_sym).param_binding_type;
+ (yyval.src_reg).Base.File = ((yyvsp[(1) - (1)].temp_sym).name != NULL)
+ ? (yyvsp[(1) - (1)].temp_sym).param_binding_type
+ : PROGRAM_CONSTANT;
(yyval.src_reg).Base.Index = (yyvsp[(1) - (1)].temp_sym).param_binding_begin;
;}
break;
case 50:
/* Line 1455 of yacc.c */
-#line 599 "program_parse.y"
+#line 601 "program_parse.y"
{
init_dst_reg(& (yyval.dst_reg));
(yyval.dst_reg).File = PROGRAM_OUTPUT;
case 51:
/* Line 1455 of yacc.c */
-#line 605 "program_parse.y"
+#line 607 "program_parse.y"
{
struct asm_symbol *const s = (struct asm_symbol *)
_mesa_symbol_table_find_symbol(state->st, 0, (yyvsp[(1) - (1)].string));
case 52:
/* Line 1455 of yacc.c */
-#line 629 "program_parse.y"
+#line 631 "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 648 "program_parse.y"
+#line 650 "program_parse.y"
{
init_src_reg(& (yyval.src_reg));
(yyval.src_reg).Base.Index = (yyvsp[(1) - (1)].integer);
case 56:
/* Line 1455 of yacc.c */
-#line 655 "program_parse.y"
+#line 657 "program_parse.y"
{
/* FINISHME: Add support for multiple address registers.
*/
case 57:
/* Line 1455 of yacc.c */
-#line 666 "program_parse.y"
+#line 668 "program_parse.y"
{ (yyval.integer) = 0; ;}
break;
case 58:
/* Line 1455 of yacc.c */
-#line 667 "program_parse.y"
+#line 669 "program_parse.y"
{ (yyval.integer) = (yyvsp[(2) - (2)].integer); ;}
break;
case 59:
/* Line 1455 of yacc.c */
-#line 668 "program_parse.y"
+#line 670 "program_parse.y"
{ (yyval.integer) = -(yyvsp[(2) - (2)].integer); ;}
break;
case 60:
/* Line 1455 of yacc.c */
-#line 672 "program_parse.y"
+#line 674 "program_parse.y"
{
if (((yyvsp[(1) - (1)].integer) < 0) || ((yyvsp[(1) - (1)].integer) > 63)) {
yyerror(& (yylsp[(1) - (1)]), state,
case 61:
/* Line 1455 of yacc.c */
-#line 684 "program_parse.y"
+#line 686 "program_parse.y"
{
if (((yyvsp[(1) - (1)].integer) < 0) || ((yyvsp[(1) - (1)].integer) > 64)) {
yyerror(& (yylsp[(1) - (1)]), state,
case 62:
/* Line 1455 of yacc.c */
-#line 696 "program_parse.y"
+#line 698 "program_parse.y"
{
struct asm_symbol *const s = (struct asm_symbol *)
_mesa_symbol_table_find_symbol(state->st, 0, (yyvsp[(1) - (1)].string));
case 63:
/* Line 1455 of yacc.c */
-#line 714 "program_parse.y"
+#line 716 "program_parse.y"
{
if ((yyvsp[(1) - (1)].swiz_mask).mask != WRITEMASK_X) {
yyerror(& (yylsp[(1) - (1)]), state, "invalid address component selector");
case 64:
/* Line 1455 of yacc.c */
-#line 725 "program_parse.y"
+#line 727 "program_parse.y"
{
if ((yyvsp[(1) - (1)].swiz_mask).mask != WRITEMASK_X) {
yyerror(& (yylsp[(1) - (1)]), state,
case 69:
/* Line 1455 of yacc.c */
-#line 741 "program_parse.y"
+#line 743 "program_parse.y"
{ (yyval.swiz_mask).swizzle = SWIZZLE_NOOP; (yyval.swiz_mask).mask = WRITEMASK_XYZW; ;}
break;
case 74:
/* Line 1455 of yacc.c */
-#line 745 "program_parse.y"
+#line 747 "program_parse.y"
{ (yyval.swiz_mask).swizzle = SWIZZLE_NOOP; (yyval.swiz_mask).mask = WRITEMASK_XYZW; ;}
break;
case 81:
/* Line 1455 of yacc.c */
-#line 757 "program_parse.y"
+#line 759 "program_parse.y"
{
struct asm_symbol *const s =
declare_variable(state, (yyvsp[(2) - (4)].string), at_attrib, & (yylsp[(2) - (4)]));
case 82:
/* Line 1455 of yacc.c */
-#line 775 "program_parse.y"
+#line 777 "program_parse.y"
{
(yyval.attrib) = (yyvsp[(2) - (2)].attrib);
;}
case 83:
/* Line 1455 of yacc.c */
-#line 779 "program_parse.y"
+#line 781 "program_parse.y"
{
(yyval.attrib) = (yyvsp[(2) - (2)].attrib);
;}
case 84:
/* Line 1455 of yacc.c */
-#line 785 "program_parse.y"
+#line 787 "program_parse.y"
{
(yyval.attrib) = VERT_ATTRIB_POS;
;}
case 85:
/* Line 1455 of yacc.c */
-#line 789 "program_parse.y"
+#line 791 "program_parse.y"
{
(yyval.attrib) = VERT_ATTRIB_WEIGHT;
;}
case 86:
/* Line 1455 of yacc.c */
-#line 793 "program_parse.y"
+#line 795 "program_parse.y"
{
(yyval.attrib) = VERT_ATTRIB_NORMAL;
;}
case 87:
/* Line 1455 of yacc.c */
-#line 797 "program_parse.y"
+#line 799 "program_parse.y"
{
(yyval.attrib) = VERT_ATTRIB_COLOR0 + (yyvsp[(2) - (2)].integer);
;}
case 88:
/* Line 1455 of yacc.c */
-#line 801 "program_parse.y"
+#line 803 "program_parse.y"
{
(yyval.attrib) = VERT_ATTRIB_FOG;
;}
case 89:
/* Line 1455 of yacc.c */
-#line 805 "program_parse.y"
+#line 807 "program_parse.y"
{
(yyval.attrib) = VERT_ATTRIB_TEX0 + (yyvsp[(2) - (2)].integer);
;}
case 90:
/* Line 1455 of yacc.c */
-#line 809 "program_parse.y"
+#line 811 "program_parse.y"
{
YYERROR;
;}
case 91:
/* Line 1455 of yacc.c */
-#line 813 "program_parse.y"
+#line 815 "program_parse.y"
{
(yyval.attrib) = VERT_ATTRIB_GENERIC0 + (yyvsp[(3) - (4)].integer);
;}
case 92:
/* Line 1455 of yacc.c */
-#line 819 "program_parse.y"
+#line 821 "program_parse.y"
{
if ((yyvsp[(1) - (1)].integer) >= state->limits->MaxAttribs) {
yyerror(& (yylsp[(1) - (1)]), state, "invalid vertex attribute reference");
case 96:
/* Line 1455 of yacc.c */
-#line 833 "program_parse.y"
+#line 835 "program_parse.y"
{
(yyval.attrib) = FRAG_ATTRIB_WPOS;
;}
case 97:
/* Line 1455 of yacc.c */
-#line 837 "program_parse.y"
+#line 839 "program_parse.y"
{
(yyval.attrib) = FRAG_ATTRIB_COL0 + (yyvsp[(2) - (2)].integer);
;}
case 98:
/* Line 1455 of yacc.c */
-#line 841 "program_parse.y"
+#line 843 "program_parse.y"
{
(yyval.attrib) = FRAG_ATTRIB_FOGC;
;}
case 99:
/* Line 1455 of yacc.c */
-#line 845 "program_parse.y"
+#line 847 "program_parse.y"
{
(yyval.attrib) = FRAG_ATTRIB_TEX0 + (yyvsp[(2) - (2)].integer);
;}
case 102:
/* Line 1455 of yacc.c */
-#line 853 "program_parse.y"
+#line 855 "program_parse.y"
{
struct asm_symbol *const s =
declare_variable(state, (yyvsp[(2) - (3)].string), at_param, & (yylsp[(2) - (3)]));
case 103:
/* Line 1455 of yacc.c */
-#line 869 "program_parse.y"
+#line 871 "program_parse.y"
{
if (((yyvsp[(4) - (6)].integer) != 0) && ((yyvsp[(4) - (6)].integer) != (yyvsp[(6) - (6)].temp_sym).param_binding_length)) {
yyerror(& (yylsp[(4) - (6)]), state,
case 104:
/* Line 1455 of yacc.c */
-#line 891 "program_parse.y"
+#line 893 "program_parse.y"
{
(yyval.integer) = 0;
;}
case 105:
/* Line 1455 of yacc.c */
-#line 895 "program_parse.y"
+#line 897 "program_parse.y"
{
if (((yyvsp[(1) - (1)].integer) < 1) || ((yyvsp[(1) - (1)].integer) >= state->limits->MaxParameters)) {
yyerror(& (yylsp[(1) - (1)]), state, "invalid parameter array size");
case 106:
/* Line 1455 of yacc.c */
-#line 906 "program_parse.y"
+#line 908 "program_parse.y"
{
(yyval.temp_sym) = (yyvsp[(2) - (2)].temp_sym);
;}
case 107:
/* Line 1455 of yacc.c */
-#line 912 "program_parse.y"
+#line 914 "program_parse.y"
{
(yyval.temp_sym) = (yyvsp[(3) - (4)].temp_sym);
;}
case 109:
/* Line 1455 of yacc.c */
-#line 919 "program_parse.y"
+#line 921 "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 110:
/* Line 1455 of yacc.c */
-#line 926 "program_parse.y"
+#line 928 "program_parse.y"
{
memset(& (yyval.temp_sym), 0, sizeof((yyval.temp_sym)));
(yyval.temp_sym).param_binding_begin = ~0;
case 111:
/* Line 1455 of yacc.c */
-#line 932 "program_parse.y"
+#line 934 "program_parse.y"
{
memset(& (yyval.temp_sym), 0, sizeof((yyval.temp_sym)));
(yyval.temp_sym).param_binding_begin = ~0;
case 112:
/* Line 1455 of yacc.c */
-#line 938 "program_parse.y"
+#line 940 "program_parse.y"
{
memset(& (yyval.temp_sym), 0, sizeof((yyval.temp_sym)));
(yyval.temp_sym).param_binding_begin = ~0;
case 113:
/* Line 1455 of yacc.c */
-#line 946 "program_parse.y"
+#line 948 "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 952 "program_parse.y"
+#line 954 "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 958 "program_parse.y"
+#line 960 "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 966 "program_parse.y"
+#line 968 "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 972 "program_parse.y"
+#line 974 "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 978 "program_parse.y"
+#line 980 "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 985 "program_parse.y"
+#line 987 "program_parse.y"
{ memcpy((yyval.state), (yyvsp[(1) - (1)].state), sizeof((yyval.state))); ;}
break;
case 120:
/* Line 1455 of yacc.c */
-#line 986 "program_parse.y"
+#line 988 "program_parse.y"
{ memcpy((yyval.state), (yyvsp[(2) - (2)].state), sizeof((yyval.state))); ;}
break;
case 121:
/* Line 1455 of yacc.c */
-#line 989 "program_parse.y"
+#line 991 "program_parse.y"
{ memcpy((yyval.state), (yyvsp[(2) - (2)].state), sizeof((yyval.state))); ;}
break;
case 122:
/* Line 1455 of yacc.c */
-#line 990 "program_parse.y"
+#line 992 "program_parse.y"
{ memcpy((yyval.state), (yyvsp[(2) - (2)].state), sizeof((yyval.state))); ;}
break;
case 123:
/* Line 1455 of yacc.c */
-#line 991 "program_parse.y"
+#line 993 "program_parse.y"
{ memcpy((yyval.state), (yyvsp[(2) - (2)].state), sizeof((yyval.state))); ;}
break;
case 124:
/* Line 1455 of yacc.c */
-#line 992 "program_parse.y"
+#line 994 "program_parse.y"
{ memcpy((yyval.state), (yyvsp[(2) - (2)].state), sizeof((yyval.state))); ;}
break;
case 125:
/* Line 1455 of yacc.c */
-#line 993 "program_parse.y"
+#line 995 "program_parse.y"
{ memcpy((yyval.state), (yyvsp[(2) - (2)].state), sizeof((yyval.state))); ;}
break;
case 126:
/* Line 1455 of yacc.c */
-#line 994 "program_parse.y"
+#line 996 "program_parse.y"
{ memcpy((yyval.state), (yyvsp[(2) - (2)].state), sizeof((yyval.state))); ;}
break;
case 127:
/* Line 1455 of yacc.c */
-#line 995 "program_parse.y"
+#line 997 "program_parse.y"
{ memcpy((yyval.state), (yyvsp[(2) - (2)].state), sizeof((yyval.state))); ;}
break;
case 128:
/* Line 1455 of yacc.c */
-#line 996 "program_parse.y"
+#line 998 "program_parse.y"
{ memcpy((yyval.state), (yyvsp[(2) - (2)].state), sizeof((yyval.state))); ;}
break;
case 129:
/* Line 1455 of yacc.c */
-#line 997 "program_parse.y"
+#line 999 "program_parse.y"
{ memcpy((yyval.state), (yyvsp[(2) - (2)].state), sizeof((yyval.state))); ;}
break;
case 130:
/* Line 1455 of yacc.c */
-#line 998 "program_parse.y"
+#line 1000 "program_parse.y"
{ memcpy((yyval.state), (yyvsp[(2) - (2)].state), sizeof((yyval.state))); ;}
break;
case 131:
/* Line 1455 of yacc.c */
-#line 1002 "program_parse.y"
+#line 1004 "program_parse.y"
{
memset((yyval.state), 0, sizeof((yyval.state)));
(yyval.state)[0] = STATE_MATERIAL;
case 132:
/* Line 1455 of yacc.c */
-#line 1011 "program_parse.y"
+#line 1013 "program_parse.y"
{
(yyval.integer) = (yyvsp[(1) - (1)].integer);
;}
case 133:
/* Line 1455 of yacc.c */
-#line 1015 "program_parse.y"
+#line 1017 "program_parse.y"
{
(yyval.integer) = STATE_EMISSION;
;}
case 134:
/* Line 1455 of yacc.c */
-#line 1019 "program_parse.y"
+#line 1021 "program_parse.y"
{
(yyval.integer) = STATE_SHININESS;
;}
case 135:
/* Line 1455 of yacc.c */
-#line 1025 "program_parse.y"
+#line 1027 "program_parse.y"
{
memset((yyval.state), 0, sizeof((yyval.state)));
(yyval.state)[0] = STATE_LIGHT;
case 136:
/* Line 1455 of yacc.c */
-#line 1034 "program_parse.y"
+#line 1036 "program_parse.y"
{
(yyval.integer) = (yyvsp[(1) - (1)].integer);
;}
case 137:
/* Line 1455 of yacc.c */
-#line 1038 "program_parse.y"
+#line 1040 "program_parse.y"
{
(yyval.integer) = STATE_POSITION;
;}
case 138:
/* Line 1455 of yacc.c */
-#line 1042 "program_parse.y"
+#line 1044 "program_parse.y"
{
(yyval.integer) = STATE_ATTENUATION;
;}
case 139:
/* Line 1455 of yacc.c */
-#line 1046 "program_parse.y"
+#line 1048 "program_parse.y"
{
(yyval.integer) = (yyvsp[(2) - (2)].integer);
;}
case 140:
/* Line 1455 of yacc.c */
-#line 1050 "program_parse.y"
+#line 1052 "program_parse.y"
{
(yyval.integer) = STATE_HALF_VECTOR;
;}
case 141:
/* Line 1455 of yacc.c */
-#line 1056 "program_parse.y"
+#line 1058 "program_parse.y"
{
(yyval.integer) = STATE_SPOT_DIRECTION;
;}
case 142:
/* Line 1455 of yacc.c */
-#line 1062 "program_parse.y"
+#line 1064 "program_parse.y"
{
(yyval.state)[0] = (yyvsp[(2) - (2)].state)[0];
(yyval.state)[1] = (yyvsp[(2) - (2)].state)[1];
case 143:
/* Line 1455 of yacc.c */
-#line 1069 "program_parse.y"
+#line 1071 "program_parse.y"
{
memset((yyval.state), 0, sizeof((yyval.state)));
(yyval.state)[0] = STATE_LIGHTMODEL_AMBIENT;
case 144:
/* Line 1455 of yacc.c */
-#line 1074 "program_parse.y"
+#line 1076 "program_parse.y"
{
memset((yyval.state), 0, sizeof((yyval.state)));
(yyval.state)[0] = STATE_LIGHTMODEL_SCENECOLOR;
case 145:
/* Line 1455 of yacc.c */
-#line 1082 "program_parse.y"
+#line 1084 "program_parse.y"
{
memset((yyval.state), 0, sizeof((yyval.state)));
(yyval.state)[0] = STATE_LIGHTPROD;
case 147:
/* Line 1455 of yacc.c */
-#line 1094 "program_parse.y"
+#line 1096 "program_parse.y"
{
memset((yyval.state), 0, sizeof((yyval.state)));
(yyval.state)[0] = (yyvsp[(3) - (3)].integer);
case 148:
/* Line 1455 of yacc.c */
-#line 1102 "program_parse.y"
+#line 1104 "program_parse.y"
{
(yyval.integer) = STATE_TEXENV_COLOR;
;}
case 149:
/* Line 1455 of yacc.c */
-#line 1108 "program_parse.y"
+#line 1110 "program_parse.y"
{
(yyval.integer) = STATE_AMBIENT;
;}
case 150:
/* Line 1455 of yacc.c */
-#line 1112 "program_parse.y"
+#line 1114 "program_parse.y"
{
(yyval.integer) = STATE_DIFFUSE;
;}
case 151:
/* Line 1455 of yacc.c */
-#line 1116 "program_parse.y"
+#line 1118 "program_parse.y"
{
(yyval.integer) = STATE_SPECULAR;
;}
case 152:
/* Line 1455 of yacc.c */
-#line 1122 "program_parse.y"
+#line 1124 "program_parse.y"
{
if ((yyvsp[(1) - (1)].integer) >= state->MaxLights) {
yyerror(& (yylsp[(1) - (1)]), state, "invalid light selector");
case 153:
/* Line 1455 of yacc.c */
-#line 1133 "program_parse.y"
+#line 1135 "program_parse.y"
{
memset((yyval.state), 0, sizeof((yyval.state)));
(yyval.state)[0] = STATE_TEXGEN;
case 154:
/* Line 1455 of yacc.c */
-#line 1142 "program_parse.y"
+#line 1144 "program_parse.y"
{
(yyval.integer) = STATE_TEXGEN_EYE_S;
;}
case 155:
/* Line 1455 of yacc.c */
-#line 1146 "program_parse.y"
+#line 1148 "program_parse.y"
{
(yyval.integer) = STATE_TEXGEN_OBJECT_S;
;}
case 156:
/* Line 1455 of yacc.c */
-#line 1151 "program_parse.y"
+#line 1153 "program_parse.y"
{
(yyval.integer) = STATE_TEXGEN_EYE_S - STATE_TEXGEN_EYE_S;
;}
case 157:
/* Line 1455 of yacc.c */
-#line 1155 "program_parse.y"
+#line 1157 "program_parse.y"
{
(yyval.integer) = STATE_TEXGEN_EYE_T - STATE_TEXGEN_EYE_S;
;}
case 158:
/* Line 1455 of yacc.c */
-#line 1159 "program_parse.y"
+#line 1161 "program_parse.y"
{
(yyval.integer) = STATE_TEXGEN_EYE_R - STATE_TEXGEN_EYE_S;
;}
case 159:
/* Line 1455 of yacc.c */
-#line 1163 "program_parse.y"
+#line 1165 "program_parse.y"
{
(yyval.integer) = STATE_TEXGEN_EYE_Q - STATE_TEXGEN_EYE_S;
;}
case 160:
/* Line 1455 of yacc.c */
-#line 1169 "program_parse.y"
+#line 1171 "program_parse.y"
{
memset((yyval.state), 0, sizeof((yyval.state)));
(yyval.state)[0] = (yyvsp[(2) - (2)].integer);
case 161:
/* Line 1455 of yacc.c */
-#line 1176 "program_parse.y"
+#line 1178 "program_parse.y"
{
(yyval.integer) = STATE_FOG_COLOR;
;}
case 162:
/* Line 1455 of yacc.c */
-#line 1180 "program_parse.y"
+#line 1182 "program_parse.y"
{
(yyval.integer) = STATE_FOG_PARAMS;
;}
case 163:
/* Line 1455 of yacc.c */
-#line 1186 "program_parse.y"
+#line 1188 "program_parse.y"
{
memset((yyval.state), 0, sizeof((yyval.state)));
(yyval.state)[0] = STATE_CLIPPLANE;
case 164:
/* Line 1455 of yacc.c */
-#line 1194 "program_parse.y"
+#line 1196 "program_parse.y"
{
if ((yyvsp[(1) - (1)].integer) >= state->MaxClipPlanes) {
yyerror(& (yylsp[(1) - (1)]), state, "invalid clip plane selector");
case 165:
/* Line 1455 of yacc.c */
-#line 1205 "program_parse.y"
+#line 1207 "program_parse.y"
{
memset((yyval.state), 0, sizeof((yyval.state)));
(yyval.state)[0] = (yyvsp[(2) - (2)].integer);
case 166:
/* Line 1455 of yacc.c */
-#line 1212 "program_parse.y"
+#line 1214 "program_parse.y"
{
(yyval.integer) = STATE_POINT_SIZE;
;}
case 167:
/* Line 1455 of yacc.c */
-#line 1216 "program_parse.y"
+#line 1218 "program_parse.y"
{
(yyval.integer) = STATE_POINT_ATTENUATION;
;}
case 168:
/* Line 1455 of yacc.c */
-#line 1222 "program_parse.y"
+#line 1224 "program_parse.y"
{
(yyval.state)[0] = (yyvsp[(1) - (5)].state)[0];
(yyval.state)[1] = (yyvsp[(1) - (5)].state)[1];
case 169:
/* Line 1455 of yacc.c */
-#line 1232 "program_parse.y"
+#line 1234 "program_parse.y"
{
(yyval.state)[0] = (yyvsp[(1) - (2)].state)[0];
(yyval.state)[1] = (yyvsp[(1) - (2)].state)[1];
case 170:
/* Line 1455 of yacc.c */
-#line 1242 "program_parse.y"
+#line 1244 "program_parse.y"
{
(yyval.state)[2] = 0;
(yyval.state)[3] = 3;
case 171:
/* Line 1455 of yacc.c */
-#line 1247 "program_parse.y"
+#line 1249 "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 172:
/* Line 1455 of yacc.c */
-#line 1265 "program_parse.y"
+#line 1267 "program_parse.y"
{
(yyval.state)[0] = (yyvsp[(2) - (3)].state)[0];
(yyval.state)[1] = (yyvsp[(2) - (3)].state)[1];
case 173:
/* Line 1455 of yacc.c */
-#line 1273 "program_parse.y"
+#line 1275 "program_parse.y"
{
(yyval.integer) = 0;
;}
case 174:
/* Line 1455 of yacc.c */
-#line 1277 "program_parse.y"
+#line 1279 "program_parse.y"
{
(yyval.integer) = (yyvsp[(1) - (1)].integer);
;}
case 175:
/* Line 1455 of yacc.c */
-#line 1283 "program_parse.y"
+#line 1285 "program_parse.y"
{
(yyval.integer) = STATE_MATRIX_INVERSE;
;}
case 176:
/* Line 1455 of yacc.c */
-#line 1287 "program_parse.y"
+#line 1289 "program_parse.y"
{
(yyval.integer) = STATE_MATRIX_TRANSPOSE;
;}
case 177:
/* Line 1455 of yacc.c */
-#line 1291 "program_parse.y"
+#line 1293 "program_parse.y"
{
(yyval.integer) = STATE_MATRIX_INVTRANS;
;}
case 178:
/* Line 1455 of yacc.c */
-#line 1297 "program_parse.y"
+#line 1299 "program_parse.y"
{
if ((yyvsp[(1) - (1)].integer) > 3) {
yyerror(& (yylsp[(1) - (1)]), state, "invalid matrix row reference");
case 179:
/* Line 1455 of yacc.c */
-#line 1308 "program_parse.y"
+#line 1310 "program_parse.y"
{
(yyval.state)[0] = STATE_MODELVIEW_MATRIX;
(yyval.state)[1] = (yyvsp[(2) - (2)].integer);
case 180:
/* Line 1455 of yacc.c */
-#line 1313 "program_parse.y"
+#line 1315 "program_parse.y"
{
(yyval.state)[0] = STATE_PROJECTION_MATRIX;
(yyval.state)[1] = 0;
case 181:
/* Line 1455 of yacc.c */
-#line 1318 "program_parse.y"
+#line 1320 "program_parse.y"
{
(yyval.state)[0] = STATE_MVP_MATRIX;
(yyval.state)[1] = 0;
case 182:
/* Line 1455 of yacc.c */
-#line 1323 "program_parse.y"
+#line 1325 "program_parse.y"
{
(yyval.state)[0] = STATE_TEXTURE_MATRIX;
(yyval.state)[1] = (yyvsp[(2) - (2)].integer);
case 183:
/* Line 1455 of yacc.c */
-#line 1328 "program_parse.y"
+#line 1330 "program_parse.y"
{
YYERROR;
;}
case 184:
/* Line 1455 of yacc.c */
-#line 1332 "program_parse.y"
+#line 1334 "program_parse.y"
{
(yyval.state)[0] = STATE_PROGRAM_MATRIX;
(yyval.state)[1] = (yyvsp[(3) - (4)].integer);
case 185:
/* Line 1455 of yacc.c */
-#line 1339 "program_parse.y"
+#line 1341 "program_parse.y"
{
(yyval.integer) = 0;
;}
case 186:
/* Line 1455 of yacc.c */
-#line 1343 "program_parse.y"
+#line 1345 "program_parse.y"
{
(yyval.integer) = (yyvsp[(1) - (1)].integer);
;}
case 187:
/* Line 1455 of yacc.c */
-#line 1348 "program_parse.y"
+#line 1350 "program_parse.y"
{
/* Since GL_ARB_vertex_blend isn't supported, only modelview matrix
* zero is valid.
case 188:
/* Line 1455 of yacc.c */
-#line 1361 "program_parse.y"
+#line 1363 "program_parse.y"
{
/* Since GL_ARB_matrix_palette isn't supported, just let any value
* through here. The error will be generated later.
case 189:
/* Line 1455 of yacc.c */
-#line 1369 "program_parse.y"
+#line 1371 "program_parse.y"
{
if ((yyvsp[(1) - (1)].integer) >= state->MaxProgramMatrices) {
yyerror(& (yylsp[(1) - (1)]), state, "invalid program matrix selector");
case 194:
/* Line 1455 of yacc.c */
-#line 1386 "program_parse.y"
+#line 1388 "program_parse.y"
{
memset((yyval.state), 0, sizeof((yyval.state)));
(yyval.state)[0] = state->state_param_enum;
case 195:
/* Line 1455 of yacc.c */
-#line 1396 "program_parse.y"
+#line 1398 "program_parse.y"
{
(yyval.state)[0] = (yyvsp[(1) - (1)].integer);
(yyval.state)[1] = (yyvsp[(1) - (1)].integer);
case 196:
/* Line 1455 of yacc.c */
-#line 1401 "program_parse.y"
+#line 1403 "program_parse.y"
{
(yyval.state)[0] = (yyvsp[(1) - (3)].integer);
(yyval.state)[1] = (yyvsp[(3) - (3)].integer);
case 197:
/* Line 1455 of yacc.c */
-#line 1408 "program_parse.y"
+#line 1410 "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 1418 "program_parse.y"
+#line 1420 "program_parse.y"
{
memset((yyval.state), 0, sizeof((yyval.state)));
(yyval.state)[0] = state->state_param_enum;
case 199:
/* Line 1455 of yacc.c */
-#line 1427 "program_parse.y"
+#line 1429 "program_parse.y"
{
(yyval.state)[0] = (yyvsp[(1) - (1)].integer);
(yyval.state)[1] = (yyvsp[(1) - (1)].integer);
case 200:
/* Line 1455 of yacc.c */
-#line 1432 "program_parse.y"
+#line 1434 "program_parse.y"
{
(yyval.state)[0] = (yyvsp[(1) - (3)].integer);
(yyval.state)[1] = (yyvsp[(3) - (3)].integer);
case 201:
/* Line 1455 of yacc.c */
-#line 1439 "program_parse.y"
+#line 1441 "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 1449 "program_parse.y"
+#line 1451 "program_parse.y"
{
if ((yyvsp[(1) - (1)].integer) >= state->limits->MaxEnvParams) {
yyerror(& (yylsp[(1) - (1)]), state, "invalid environment parameter reference");
case 203:
/* Line 1455 of yacc.c */
-#line 1459 "program_parse.y"
+#line 1461 "program_parse.y"
{
if ((yyvsp[(1) - (1)].integer) >= state->limits->MaxLocalParams) {
yyerror(& (yylsp[(1) - (1)]), state, "invalid local parameter reference");
case 208:
/* Line 1455 of yacc.c */
-#line 1474 "program_parse.y"
+#line 1476 "program_parse.y"
{
(yyval.vector).count = 1;
(yyval.vector).data[0] = (yyvsp[(1) - (1)].real);
case 209:
/* Line 1455 of yacc.c */
-#line 1481 "program_parse.y"
+#line 1483 "program_parse.y"
{
(yyval.vector).count = 1;
(yyval.vector).data[0] = (yyvsp[(1) - (1)].real);
case 210:
/* Line 1455 of yacc.c */
-#line 1486 "program_parse.y"
+#line 1488 "program_parse.y"
{
(yyval.vector).count = 1;
(yyval.vector).data[0] = (float) (yyvsp[(1) - (1)].integer);
case 211:
/* Line 1455 of yacc.c */
-#line 1493 "program_parse.y"
+#line 1495 "program_parse.y"
{
(yyval.vector).count = 1;
(yyval.vector).data[0] = (yyvsp[(2) - (3)].real);
case 212:
/* Line 1455 of yacc.c */
-#line 1498 "program_parse.y"
+#line 1500 "program_parse.y"
{
(yyval.vector).count = 2;
(yyval.vector).data[0] = (yyvsp[(2) - (5)].real);
case 213:
/* Line 1455 of yacc.c */
-#line 1505 "program_parse.y"
+#line 1507 "program_parse.y"
{
(yyval.vector).count = 3;
(yyval.vector).data[0] = (yyvsp[(2) - (7)].real);
case 214:
/* Line 1455 of yacc.c */
-#line 1513 "program_parse.y"
+#line 1515 "program_parse.y"
{
(yyval.vector).count = 4;
(yyval.vector).data[0] = (yyvsp[(2) - (9)].real);
case 215:
/* Line 1455 of yacc.c */
-#line 1523 "program_parse.y"
+#line 1525 "program_parse.y"
{
(yyval.real) = ((yyvsp[(1) - (2)].negate)) ? -(yyvsp[(2) - (2)].real) : (yyvsp[(2) - (2)].real);
;}
case 216:
/* Line 1455 of yacc.c */
-#line 1527 "program_parse.y"
+#line 1529 "program_parse.y"
{
(yyval.real) = (float)(((yyvsp[(1) - (2)].negate)) ? -(yyvsp[(2) - (2)].integer) : (yyvsp[(2) - (2)].integer));
;}
case 217:
/* Line 1455 of yacc.c */
-#line 1532 "program_parse.y"
+#line 1534 "program_parse.y"
{ (yyval.negate) = FALSE; ;}
break;
case 218:
/* Line 1455 of yacc.c */
-#line 1533 "program_parse.y"
+#line 1535 "program_parse.y"
{ (yyval.negate) = TRUE; ;}
break;
case 219:
/* Line 1455 of yacc.c */
-#line 1534 "program_parse.y"
+#line 1536 "program_parse.y"
{ (yyval.negate) = FALSE; ;}
break;
case 220:
/* Line 1455 of yacc.c */
-#line 1537 "program_parse.y"
+#line 1539 "program_parse.y"
{ (yyval.integer) = (yyvsp[(1) - (1)].integer); ;}
break;
case 222:
/* Line 1455 of yacc.c */
-#line 1540 "program_parse.y"
+#line 1542 "program_parse.y"
{ (yyval.integer) = (yyvsp[(1) - (1)].integer); ;}
break;
case 224:
/* Line 1455 of yacc.c */
-#line 1544 "program_parse.y"
+#line 1546 "program_parse.y"
{
if (!declare_variable(state, (yyvsp[(3) - (3)].string), (yyvsp[(0) - (3)].integer), & (yylsp[(3) - (3)]))) {
YYERROR;
case 225:
/* Line 1455 of yacc.c */
-#line 1550 "program_parse.y"
+#line 1552 "program_parse.y"
{
if (!declare_variable(state, (yyvsp[(1) - (1)].string), (yyvsp[(0) - (1)].integer), & (yylsp[(1) - (1)]))) {
YYERROR;
case 226:
/* Line 1455 of yacc.c */
-#line 1558 "program_parse.y"
+#line 1560 "program_parse.y"
{
struct asm_symbol *const s =
declare_variable(state, (yyvsp[(2) - (4)].string), at_output, & (yylsp[(2) - (4)]));
case 227:
/* Line 1455 of yacc.c */
-#line 1571 "program_parse.y"
+#line 1573 "program_parse.y"
{
if (state->mode == ARB_vertex) {
(yyval.result) = VERT_RESULT_HPOS;
case 228:
/* Line 1455 of yacc.c */
-#line 1580 "program_parse.y"
+#line 1582 "program_parse.y"
{
if (state->mode == ARB_vertex) {
(yyval.result) = VERT_RESULT_FOGC;
case 229:
/* Line 1455 of yacc.c */
-#line 1589 "program_parse.y"
+#line 1591 "program_parse.y"
{
(yyval.result) = (yyvsp[(2) - (2)].result);
;}
case 230:
/* Line 1455 of yacc.c */
-#line 1593 "program_parse.y"
+#line 1595 "program_parse.y"
{
if (state->mode == ARB_vertex) {
(yyval.result) = VERT_RESULT_PSIZ;
case 231:
/* Line 1455 of yacc.c */
-#line 1602 "program_parse.y"
+#line 1604 "program_parse.y"
{
if (state->mode == ARB_vertex) {
(yyval.result) = VERT_RESULT_TEX0 + (yyvsp[(3) - (3)].integer);
case 232:
/* Line 1455 of yacc.c */
-#line 1611 "program_parse.y"
+#line 1613 "program_parse.y"
{
if (state->mode == ARB_fragment) {
(yyval.result) = FRAG_RESULT_DEPTH;
case 233:
/* Line 1455 of yacc.c */
-#line 1622 "program_parse.y"
+#line 1624 "program_parse.y"
{
(yyval.result) = (yyvsp[(2) - (3)].integer) + (yyvsp[(3) - (3)].integer);
;}
case 234:
/* Line 1455 of yacc.c */
-#line 1628 "program_parse.y"
+#line 1630 "program_parse.y"
{
(yyval.integer) = (state->mode == ARB_vertex)
? VERT_RESULT_COL0
case 235:
/* Line 1455 of yacc.c */
-#line 1634 "program_parse.y"
+#line 1636 "program_parse.y"
{
if (state->mode == ARB_vertex) {
(yyval.integer) = VERT_RESULT_COL0;
case 236:
/* Line 1455 of yacc.c */
-#line 1643 "program_parse.y"
+#line 1645 "program_parse.y"
{
if (state->mode == ARB_vertex) {
(yyval.integer) = VERT_RESULT_BFC0;
case 237:
/* Line 1455 of yacc.c */
-#line 1654 "program_parse.y"
+#line 1656 "program_parse.y"
{
(yyval.integer) = 0;
;}
case 238:
/* Line 1455 of yacc.c */
-#line 1658 "program_parse.y"
+#line 1660 "program_parse.y"
{
if (state->mode == ARB_vertex) {
(yyval.integer) = 0;
case 239:
/* Line 1455 of yacc.c */
-#line 1667 "program_parse.y"
+#line 1669 "program_parse.y"
{
if (state->mode == ARB_vertex) {
(yyval.integer) = 1;
case 240:
/* Line 1455 of yacc.c */
-#line 1677 "program_parse.y"
+#line 1679 "program_parse.y"
{ (yyval.integer) = 0; ;}
break;
case 241:
/* Line 1455 of yacc.c */
-#line 1678 "program_parse.y"
+#line 1680 "program_parse.y"
{ (yyval.integer) = 0; ;}
break;
case 242:
/* Line 1455 of yacc.c */
-#line 1679 "program_parse.y"
+#line 1681 "program_parse.y"
{ (yyval.integer) = 1; ;}
break;
case 243:
/* Line 1455 of yacc.c */
-#line 1682 "program_parse.y"
+#line 1684 "program_parse.y"
{ (yyval.integer) = 0; ;}
break;
case 244:
/* Line 1455 of yacc.c */
-#line 1683 "program_parse.y"
+#line 1685 "program_parse.y"
{ (yyval.integer) = 0; ;}
break;
case 245:
/* Line 1455 of yacc.c */
-#line 1684 "program_parse.y"
+#line 1686 "program_parse.y"
{ (yyval.integer) = 1; ;}
break;
case 246:
/* Line 1455 of yacc.c */
-#line 1687 "program_parse.y"
+#line 1689 "program_parse.y"
{ (yyval.integer) = 0; ;}
break;
case 247:
/* Line 1455 of yacc.c */
-#line 1688 "program_parse.y"
+#line 1690 "program_parse.y"
{ (yyval.integer) = (yyvsp[(2) - (3)].integer); ;}
break;
case 248:
/* Line 1455 of yacc.c */
-#line 1691 "program_parse.y"
+#line 1693 "program_parse.y"
{ (yyval.integer) = 0; ;}
break;
case 249:
/* Line 1455 of yacc.c */
-#line 1692 "program_parse.y"
+#line 1694 "program_parse.y"
{ (yyval.integer) = (yyvsp[(2) - (3)].integer); ;}
break;
case 250:
/* Line 1455 of yacc.c */
-#line 1695 "program_parse.y"
+#line 1697 "program_parse.y"
{ (yyval.integer) = 0; ;}
break;
case 251:
/* Line 1455 of yacc.c */
-#line 1696 "program_parse.y"
+#line 1698 "program_parse.y"
{ (yyval.integer) = (yyvsp[(2) - (3)].integer); ;}
break;
case 252:
/* Line 1455 of yacc.c */
-#line 1700 "program_parse.y"
+#line 1702 "program_parse.y"
{
if ((yyvsp[(1) - (1)].integer) >= state->MaxTextureCoordUnits) {
yyerror(& (yylsp[(1) - (1)]), state, "invalid texture coordinate unit selector");
case 253:
/* Line 1455 of yacc.c */
-#line 1711 "program_parse.y"
+#line 1713 "program_parse.y"
{
if ((yyvsp[(1) - (1)].integer) >= state->MaxTextureImageUnits) {
yyerror(& (yylsp[(1) - (1)]), state, "invalid texture image unit selector");
case 254:
/* Line 1455 of yacc.c */
-#line 1722 "program_parse.y"
+#line 1724 "program_parse.y"
{
if ((yyvsp[(1) - (1)].integer) >= state->MaxTextureUnits) {
yyerror(& (yylsp[(1) - (1)]), state, "invalid texture unit selector");
case 255:
/* Line 1455 of yacc.c */
-#line 1733 "program_parse.y"
+#line 1735 "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 4318 "program_parse.tab.c"
+#line 4320 "program_parse.tab.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
/* Line 1675 of yacc.c */
-#line 1753 "program_parse.y"
+#line 1755 "program_parse.y"
struct asm_instruction *