summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Romanick <[email protected]>2009-07-22 10:51:18 -0700
committerIan Romanick <[email protected]>2009-07-22 10:51:18 -0700
commit69d3d19b54c46cb7b0e05c04a5304830a1ee2691 (patch)
tree3bd5ac7fb2d43067897a28ef82f705a02e3d8a7c
parent770cebbc29863ae944a31463ee4bdeb789105aba (diff)
parser: Anonymous constants come from the PROGRAM_CONSTANT file
-rw-r--r--src/mesa/shader/program_parse.tab.c396
-rw-r--r--src/mesa/shader/program_parse.y4
2 files changed, 202 insertions, 198 deletions
diff --git a/src/mesa/shader/program_parse.tab.c b/src/mesa/shader/program_parse.tab.c
index 090c399f440..bf48b9752fd 100644
--- a/src/mesa/shader/program_parse.tab.c
+++ b/src/mesa/shader/program_parse.tab.c
@@ -743,27 +743,27 @@ static const yytype_uint16 yyrline[] =
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
@@ -2466,7 +2466,9 @@ yyreduce:
#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;
@@ -2474,7 +2476,7 @@ yyreduce:
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;
@@ -2485,7 +2487,7 @@ yyreduce:
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));
@@ -2512,7 +2514,7 @@ yyreduce:
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));
@@ -2532,7 +2534,7 @@ yyreduce:
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);
@@ -2542,7 +2544,7 @@ yyreduce:
case 56:
/* Line 1455 of yacc.c */
-#line 655 "program_parse.y"
+#line 657 "program_parse.y"
{
/* FINISHME: Add support for multiple address registers.
*/
@@ -2557,28 +2559,28 @@ yyreduce:
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,
@@ -2593,7 +2595,7 @@ yyreduce:
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,
@@ -2608,7 +2610,7 @@ yyreduce:
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));
@@ -2629,7 +2631,7 @@ yyreduce:
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");
@@ -2643,7 +2645,7 @@ yyreduce:
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,
@@ -2658,21 +2660,21 @@ yyreduce:
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)]));
@@ -2693,7 +2695,7 @@ yyreduce:
case 82:
/* Line 1455 of yacc.c */
-#line 775 "program_parse.y"
+#line 777 "program_parse.y"
{
(yyval.attrib) = (yyvsp[(2) - (2)].attrib);
;}
@@ -2702,7 +2704,7 @@ yyreduce:
case 83:
/* Line 1455 of yacc.c */
-#line 779 "program_parse.y"
+#line 781 "program_parse.y"
{
(yyval.attrib) = (yyvsp[(2) - (2)].attrib);
;}
@@ -2711,7 +2713,7 @@ yyreduce:
case 84:
/* Line 1455 of yacc.c */
-#line 785 "program_parse.y"
+#line 787 "program_parse.y"
{
(yyval.attrib) = VERT_ATTRIB_POS;
;}
@@ -2720,7 +2722,7 @@ yyreduce:
case 85:
/* Line 1455 of yacc.c */
-#line 789 "program_parse.y"
+#line 791 "program_parse.y"
{
(yyval.attrib) = VERT_ATTRIB_WEIGHT;
;}
@@ -2729,7 +2731,7 @@ yyreduce:
case 86:
/* Line 1455 of yacc.c */
-#line 793 "program_parse.y"
+#line 795 "program_parse.y"
{
(yyval.attrib) = VERT_ATTRIB_NORMAL;
;}
@@ -2738,7 +2740,7 @@ yyreduce:
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);
;}
@@ -2747,7 +2749,7 @@ yyreduce:
case 88:
/* Line 1455 of yacc.c */
-#line 801 "program_parse.y"
+#line 803 "program_parse.y"
{
(yyval.attrib) = VERT_ATTRIB_FOG;
;}
@@ -2756,7 +2758,7 @@ yyreduce:
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);
;}
@@ -2765,7 +2767,7 @@ yyreduce:
case 90:
/* Line 1455 of yacc.c */
-#line 809 "program_parse.y"
+#line 811 "program_parse.y"
{
YYERROR;
;}
@@ -2774,7 +2776,7 @@ yyreduce:
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);
;}
@@ -2783,7 +2785,7 @@ yyreduce:
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");
@@ -2797,7 +2799,7 @@ yyreduce:
case 96:
/* Line 1455 of yacc.c */
-#line 833 "program_parse.y"
+#line 835 "program_parse.y"
{
(yyval.attrib) = FRAG_ATTRIB_WPOS;
;}
@@ -2806,7 +2808,7 @@ yyreduce:
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);
;}
@@ -2815,7 +2817,7 @@ yyreduce:
case 98:
/* Line 1455 of yacc.c */
-#line 841 "program_parse.y"
+#line 843 "program_parse.y"
{
(yyval.attrib) = FRAG_ATTRIB_FOGC;
;}
@@ -2824,7 +2826,7 @@ yyreduce:
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);
;}
@@ -2833,7 +2835,7 @@ yyreduce:
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)]));
@@ -2852,7 +2854,7 @@ yyreduce:
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,
@@ -2877,7 +2879,7 @@ yyreduce:
case 104:
/* Line 1455 of yacc.c */
-#line 891 "program_parse.y"
+#line 893 "program_parse.y"
{
(yyval.integer) = 0;
;}
@@ -2886,7 +2888,7 @@ yyreduce:
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");
@@ -2900,7 +2902,7 @@ yyreduce:
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);
;}
@@ -2909,7 +2911,7 @@ yyreduce:
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);
;}
@@ -2918,7 +2920,7 @@ yyreduce:
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);
@@ -2928,7 +2930,7 @@ yyreduce:
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;
@@ -2939,7 +2941,7 @@ yyreduce:
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;
@@ -2950,7 +2952,7 @@ yyreduce:
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;
@@ -2961,7 +2963,7 @@ yyreduce:
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;
@@ -2972,7 +2974,7 @@ yyreduce:
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;
@@ -2983,7 +2985,7 @@ yyreduce:
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;
@@ -2994,7 +2996,7 @@ yyreduce:
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;
@@ -3005,7 +3007,7 @@ yyreduce:
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;
@@ -3016,7 +3018,7 @@ yyreduce:
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;
@@ -3027,91 +3029,91 @@ yyreduce:
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;
@@ -3123,7 +3125,7 @@ yyreduce:
case 132:
/* Line 1455 of yacc.c */
-#line 1011 "program_parse.y"
+#line 1013 "program_parse.y"
{
(yyval.integer) = (yyvsp[(1) - (1)].integer);
;}
@@ -3132,7 +3134,7 @@ yyreduce:
case 133:
/* Line 1455 of yacc.c */
-#line 1015 "program_parse.y"
+#line 1017 "program_parse.y"
{
(yyval.integer) = STATE_EMISSION;
;}
@@ -3141,7 +3143,7 @@ yyreduce:
case 134:
/* Line 1455 of yacc.c */
-#line 1019 "program_parse.y"
+#line 1021 "program_parse.y"
{
(yyval.integer) = STATE_SHININESS;
;}
@@ -3150,7 +3152,7 @@ yyreduce:
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;
@@ -3162,7 +3164,7 @@ yyreduce:
case 136:
/* Line 1455 of yacc.c */
-#line 1034 "program_parse.y"
+#line 1036 "program_parse.y"
{
(yyval.integer) = (yyvsp[(1) - (1)].integer);
;}
@@ -3171,7 +3173,7 @@ yyreduce:
case 137:
/* Line 1455 of yacc.c */
-#line 1038 "program_parse.y"
+#line 1040 "program_parse.y"
{
(yyval.integer) = STATE_POSITION;
;}
@@ -3180,7 +3182,7 @@ yyreduce:
case 138:
/* Line 1455 of yacc.c */
-#line 1042 "program_parse.y"
+#line 1044 "program_parse.y"
{
(yyval.integer) = STATE_ATTENUATION;
;}
@@ -3189,7 +3191,7 @@ yyreduce:
case 139:
/* Line 1455 of yacc.c */
-#line 1046 "program_parse.y"
+#line 1048 "program_parse.y"
{
(yyval.integer) = (yyvsp[(2) - (2)].integer);
;}
@@ -3198,7 +3200,7 @@ yyreduce:
case 140:
/* Line 1455 of yacc.c */
-#line 1050 "program_parse.y"
+#line 1052 "program_parse.y"
{
(yyval.integer) = STATE_HALF_VECTOR;
;}
@@ -3207,7 +3209,7 @@ yyreduce:
case 141:
/* Line 1455 of yacc.c */
-#line 1056 "program_parse.y"
+#line 1058 "program_parse.y"
{
(yyval.integer) = STATE_SPOT_DIRECTION;
;}
@@ -3216,7 +3218,7 @@ yyreduce:
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];
@@ -3226,7 +3228,7 @@ yyreduce:
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;
@@ -3236,7 +3238,7 @@ yyreduce:
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;
@@ -3247,7 +3249,7 @@ yyreduce:
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;
@@ -3260,7 +3262,7 @@ yyreduce:
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);
@@ -3271,7 +3273,7 @@ yyreduce:
case 148:
/* Line 1455 of yacc.c */
-#line 1102 "program_parse.y"
+#line 1104 "program_parse.y"
{
(yyval.integer) = STATE_TEXENV_COLOR;
;}
@@ -3280,7 +3282,7 @@ yyreduce:
case 149:
/* Line 1455 of yacc.c */
-#line 1108 "program_parse.y"
+#line 1110 "program_parse.y"
{
(yyval.integer) = STATE_AMBIENT;
;}
@@ -3289,7 +3291,7 @@ yyreduce:
case 150:
/* Line 1455 of yacc.c */
-#line 1112 "program_parse.y"
+#line 1114 "program_parse.y"
{
(yyval.integer) = STATE_DIFFUSE;
;}
@@ -3298,7 +3300,7 @@ yyreduce:
case 151:
/* Line 1455 of yacc.c */
-#line 1116 "program_parse.y"
+#line 1118 "program_parse.y"
{
(yyval.integer) = STATE_SPECULAR;
;}
@@ -3307,7 +3309,7 @@ yyreduce:
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");
@@ -3321,7 +3323,7 @@ yyreduce:
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;
@@ -3333,7 +3335,7 @@ yyreduce:
case 154:
/* Line 1455 of yacc.c */
-#line 1142 "program_parse.y"
+#line 1144 "program_parse.y"
{
(yyval.integer) = STATE_TEXGEN_EYE_S;
;}
@@ -3342,7 +3344,7 @@ yyreduce:
case 155:
/* Line 1455 of yacc.c */
-#line 1146 "program_parse.y"
+#line 1148 "program_parse.y"
{
(yyval.integer) = STATE_TEXGEN_OBJECT_S;
;}
@@ -3351,7 +3353,7 @@ yyreduce:
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;
;}
@@ -3360,7 +3362,7 @@ yyreduce:
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;
;}
@@ -3369,7 +3371,7 @@ yyreduce:
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;
;}
@@ -3378,7 +3380,7 @@ yyreduce:
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;
;}
@@ -3387,7 +3389,7 @@ yyreduce:
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);
@@ -3397,7 +3399,7 @@ yyreduce:
case 161:
/* Line 1455 of yacc.c */
-#line 1176 "program_parse.y"
+#line 1178 "program_parse.y"
{
(yyval.integer) = STATE_FOG_COLOR;
;}
@@ -3406,7 +3408,7 @@ yyreduce:
case 162:
/* Line 1455 of yacc.c */
-#line 1180 "program_parse.y"
+#line 1182 "program_parse.y"
{
(yyval.integer) = STATE_FOG_PARAMS;
;}
@@ -3415,7 +3417,7 @@ yyreduce:
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;
@@ -3426,7 +3428,7 @@ yyreduce:
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");
@@ -3440,7 +3442,7 @@ yyreduce:
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);
@@ -3450,7 +3452,7 @@ yyreduce:
case 166:
/* Line 1455 of yacc.c */
-#line 1212 "program_parse.y"
+#line 1214 "program_parse.y"
{
(yyval.integer) = STATE_POINT_SIZE;
;}
@@ -3459,7 +3461,7 @@ yyreduce:
case 167:
/* Line 1455 of yacc.c */
-#line 1216 "program_parse.y"
+#line 1218 "program_parse.y"
{
(yyval.integer) = STATE_POINT_ATTENUATION;
;}
@@ -3468,7 +3470,7 @@ yyreduce:
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];
@@ -3481,7 +3483,7 @@ yyreduce:
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];
@@ -3494,7 +3496,7 @@ yyreduce:
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;
@@ -3504,7 +3506,7 @@ yyreduce:
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).
@@ -3525,7 +3527,7 @@ yyreduce:
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];
@@ -3536,7 +3538,7 @@ yyreduce:
case 173:
/* Line 1455 of yacc.c */
-#line 1273 "program_parse.y"
+#line 1275 "program_parse.y"
{
(yyval.integer) = 0;
;}
@@ -3545,7 +3547,7 @@ yyreduce:
case 174:
/* Line 1455 of yacc.c */
-#line 1277 "program_parse.y"
+#line 1279 "program_parse.y"
{
(yyval.integer) = (yyvsp[(1) - (1)].integer);
;}
@@ -3554,7 +3556,7 @@ yyreduce:
case 175:
/* Line 1455 of yacc.c */
-#line 1283 "program_parse.y"
+#line 1285 "program_parse.y"
{
(yyval.integer) = STATE_MATRIX_INVERSE;
;}
@@ -3563,7 +3565,7 @@ yyreduce:
case 176:
/* Line 1455 of yacc.c */
-#line 1287 "program_parse.y"
+#line 1289 "program_parse.y"
{
(yyval.integer) = STATE_MATRIX_TRANSPOSE;
;}
@@ -3572,7 +3574,7 @@ yyreduce:
case 177:
/* Line 1455 of yacc.c */
-#line 1291 "program_parse.y"
+#line 1293 "program_parse.y"
{
(yyval.integer) = STATE_MATRIX_INVTRANS;
;}
@@ -3581,7 +3583,7 @@ yyreduce:
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");
@@ -3595,7 +3597,7 @@ yyreduce:
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);
@@ -3605,7 +3607,7 @@ yyreduce:
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;
@@ -3615,7 +3617,7 @@ yyreduce:
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;
@@ -3625,7 +3627,7 @@ yyreduce:
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);
@@ -3635,7 +3637,7 @@ yyreduce:
case 183:
/* Line 1455 of yacc.c */
-#line 1328 "program_parse.y"
+#line 1330 "program_parse.y"
{
YYERROR;
;}
@@ -3644,7 +3646,7 @@ yyreduce:
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);
@@ -3654,7 +3656,7 @@ yyreduce:
case 185:
/* Line 1455 of yacc.c */
-#line 1339 "program_parse.y"
+#line 1341 "program_parse.y"
{
(yyval.integer) = 0;
;}
@@ -3663,7 +3665,7 @@ yyreduce:
case 186:
/* Line 1455 of yacc.c */
-#line 1343 "program_parse.y"
+#line 1345 "program_parse.y"
{
(yyval.integer) = (yyvsp[(1) - (1)].integer);
;}
@@ -3672,7 +3674,7 @@ yyreduce:
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.
@@ -3689,7 +3691,7 @@ yyreduce:
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.
@@ -3701,7 +3703,7 @@ yyreduce:
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");
@@ -3715,7 +3717,7 @@ yyreduce:
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;
@@ -3728,7 +3730,7 @@ yyreduce:
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);
@@ -3738,7 +3740,7 @@ yyreduce:
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);
@@ -3748,7 +3750,7 @@ yyreduce:
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;
@@ -3761,7 +3763,7 @@ yyreduce:
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;
@@ -3774,7 +3776,7 @@ yyreduce:
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);
@@ -3784,7 +3786,7 @@ yyreduce:
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);
@@ -3794,7 +3796,7 @@ yyreduce:
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;
@@ -3807,7 +3809,7 @@ yyreduce:
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");
@@ -3820,7 +3822,7 @@ yyreduce:
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");
@@ -3833,7 +3835,7 @@ yyreduce:
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);
@@ -3843,7 +3845,7 @@ yyreduce:
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);
@@ -3853,7 +3855,7 @@ yyreduce:
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);
@@ -3863,7 +3865,7 @@ yyreduce:
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);
@@ -3873,7 +3875,7 @@ yyreduce:
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);
@@ -3884,7 +3886,7 @@ yyreduce:
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);
@@ -3896,7 +3898,7 @@ yyreduce:
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);
@@ -3909,7 +3911,7 @@ yyreduce:
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);
;}
@@ -3918,7 +3920,7 @@ yyreduce:
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));
;}
@@ -3927,42 +3929,42 @@ yyreduce:
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;
@@ -3973,7 +3975,7 @@ yyreduce:
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;
@@ -3984,7 +3986,7 @@ yyreduce:
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)]));
@@ -4000,7 +4002,7 @@ yyreduce:
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;
@@ -4014,7 +4016,7 @@ yyreduce:
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;
@@ -4028,7 +4030,7 @@ yyreduce:
case 229:
/* Line 1455 of yacc.c */
-#line 1589 "program_parse.y"
+#line 1591 "program_parse.y"
{
(yyval.result) = (yyvsp[(2) - (2)].result);
;}
@@ -4037,7 +4039,7 @@ yyreduce:
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;
@@ -4051,7 +4053,7 @@ yyreduce:
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);
@@ -4065,7 +4067,7 @@ yyreduce:
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;
@@ -4079,7 +4081,7 @@ yyreduce:
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);
;}
@@ -4088,7 +4090,7 @@ yyreduce:
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
@@ -4099,7 +4101,7 @@ yyreduce:
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;
@@ -4113,7 +4115,7 @@ yyreduce:
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;
@@ -4127,7 +4129,7 @@ yyreduce:
case 237:
/* Line 1455 of yacc.c */
-#line 1654 "program_parse.y"
+#line 1656 "program_parse.y"
{
(yyval.integer) = 0;
;}
@@ -4136,7 +4138,7 @@ yyreduce:
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;
@@ -4150,7 +4152,7 @@ yyreduce:
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;
@@ -4164,91 +4166,91 @@ yyreduce:
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");
@@ -4262,7 +4264,7 @@ yyreduce:
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");
@@ -4276,7 +4278,7 @@ yyreduce:
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");
@@ -4290,7 +4292,7 @@ yyreduce:
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));
@@ -4314,7 +4316,7 @@ yyreduce:
/* 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);
@@ -4533,7 +4535,7 @@ yyreturn:
/* Line 1675 of yacc.c */
-#line 1753 "program_parse.y"
+#line 1755 "program_parse.y"
struct asm_instruction *
diff --git a/src/mesa/shader/program_parse.y b/src/mesa/shader/program_parse.y
index 39e3ee1f1e2..0260196210a 100644
--- a/src/mesa/shader/program_parse.y
+++ b/src/mesa/shader/program_parse.y
@@ -590,7 +590,9 @@ srcReg: IDENTIFIER /* temporaryReg | progParamSingle */
| paramSingleItemUse
{
init_src_reg(& $$);
- $$.Base.File = $1.param_binding_type;
+ $$.Base.File = ($1.name != NULL)
+ ? $1.param_binding_type
+ : PROGRAM_CONSTANT;
$$.Base.Index = $1.param_binding_begin;
}
;