ARB prog parser: Add support for RGBA components to SWZ instruction in fp
[mesa.git] / src / mesa / shader / program_parse.tab.h
1
2 /* A Bison parser, made by GNU Bison 2.4.1. */
3
4 /* Skeleton interface for Bison's Yacc-like parsers in C
5
6 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
7 Free Software Foundation, Inc.
8
9 This program is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation, either version 3 of the License, or
12 (at your option) any later version.
13
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
18
19 You should have received a copy of the GNU General Public License
20 along with this program. If not, see <http://www.gnu.org/licenses/>. */
21
22 /* As a special exception, you may create a larger work that contains
23 part or all of the Bison parser skeleton and distribute that work
24 under terms of your choice, so long as that work isn't itself a
25 parser generator using the skeleton or a modified version thereof
26 as a parser skeleton. Alternatively, if you modify or redistribute
27 the parser skeleton itself, you may (at your option) remove this
28 special exception, which will cause the skeleton and the resulting
29 Bison output files to be licensed under the GNU General Public
30 License without this special exception.
31
32 This special exception was added by the Free Software Foundation in
33 version 2.2 of Bison. */
34
35
36 /* Tokens. */
37 #ifndef YYTOKENTYPE
38 # define YYTOKENTYPE
39 /* Put the tokens into the symbol table, so that GDB and other debuggers
40 know about them. */
41 enum yytokentype {
42 ARBvp_10 = 258,
43 ARBfp_10 = 259,
44 ADDRESS = 260,
45 ALIAS = 261,
46 ATTRIB = 262,
47 OPTION = 263,
48 OUTPUT = 264,
49 PARAM = 265,
50 TEMP = 266,
51 END = 267,
52 BIN_OP = 268,
53 BINSC_OP = 269,
54 SAMPLE_OP = 270,
55 SCALAR_OP = 271,
56 TRI_OP = 272,
57 VECTOR_OP = 273,
58 ARL = 274,
59 KIL = 275,
60 SWZ = 276,
61 INTEGER = 277,
62 REAL = 278,
63 AMBIENT = 279,
64 ATTENUATION = 280,
65 BACK = 281,
66 CLIP = 282,
67 COLOR = 283,
68 DEPTH = 284,
69 DIFFUSE = 285,
70 DIRECTION = 286,
71 EMISSION = 287,
72 ENV = 288,
73 EYE = 289,
74 FOG = 290,
75 FOGCOORD = 291,
76 FRAGMENT = 292,
77 FRONT = 293,
78 HALF = 294,
79 INVERSE = 295,
80 INVTRANS = 296,
81 LIGHT = 297,
82 LIGHTMODEL = 298,
83 LIGHTPROD = 299,
84 LOCAL = 300,
85 MATERIAL = 301,
86 MAT_PROGRAM = 302,
87 MATRIX = 303,
88 MATRIXINDEX = 304,
89 MODELVIEW = 305,
90 MVP = 306,
91 NORMAL = 307,
92 OBJECT = 308,
93 PALETTE = 309,
94 PARAMS = 310,
95 PLANE = 311,
96 POINT = 312,
97 POINTSIZE = 313,
98 POSITION = 314,
99 PRIMARY = 315,
100 PROGRAM = 316,
101 PROJECTION = 317,
102 RANGE = 318,
103 RESULT = 319,
104 ROW = 320,
105 SCENECOLOR = 321,
106 SECONDARY = 322,
107 SHININESS = 323,
108 SIZE = 324,
109 SPECULAR = 325,
110 SPOT = 326,
111 STATE = 327,
112 TEXCOORD = 328,
113 TEXENV = 329,
114 TEXGEN = 330,
115 TEXGEN_Q = 331,
116 TEXGEN_R = 332,
117 TEXGEN_S = 333,
118 TEXGEN_T = 334,
119 TEXTURE = 335,
120 TRANSPOSE = 336,
121 TEXTURE_UNIT = 337,
122 TEX_1D = 338,
123 TEX_2D = 339,
124 TEX_3D = 340,
125 TEX_CUBE = 341,
126 TEX_RECT = 342,
127 TEX_SHADOW1D = 343,
128 TEX_SHADOW2D = 344,
129 TEX_SHADOWRECT = 345,
130 TEX_ARRAY1D = 346,
131 TEX_ARRAY2D = 347,
132 TEX_ARRAYSHADOW1D = 348,
133 TEX_ARRAYSHADOW2D = 349,
134 VERTEX = 350,
135 VTXATTRIB = 351,
136 WEIGHT = 352,
137 IDENTIFIER = 353,
138 MASK4 = 354,
139 MASK3 = 355,
140 MASK2 = 356,
141 MASK1 = 357,
142 SWIZZLE = 358,
143 DOT_DOT = 359,
144 DOT = 360
145 };
146 #endif
147
148
149
150 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
151 typedef union YYSTYPE
152 {
153
154 /* Line 1676 of yacc.c */
155 #line 107 "program_parse.y"
156
157 struct asm_instruction *inst;
158 struct asm_symbol *sym;
159 struct asm_symbol temp_sym;
160 struct asm_swizzle_mask swiz_mask;
161 struct asm_src_register src_reg;
162 struct prog_dst_register dst_reg;
163 struct prog_instruction temp_inst;
164 char *string;
165 unsigned result;
166 unsigned attrib;
167 int integer;
168 float real;
169 unsigned state[5];
170 int negate;
171 struct asm_vector vector;
172 gl_inst_opcode opcode;
173
174 struct {
175 unsigned swz;
176 unsigned rgba_valid:1;
177 unsigned xyzw_valid:1;
178 unsigned negate:1;
179 } ext_swizzle;
180
181
182
183 /* Line 1676 of yacc.c */
184 #line 185 "program_parse.tab.h"
185 } YYSTYPE;
186 # define YYSTYPE_IS_TRIVIAL 1
187 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
188 # define YYSTYPE_IS_DECLARED 1
189 #endif
190
191
192
193 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
194 typedef struct YYLTYPE
195 {
196 int first_line;
197 int first_column;
198 int last_line;
199 int last_column;
200 } YYLTYPE;
201 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
202 # define YYLTYPE_IS_DECLARED 1
203 # define YYLTYPE_IS_TRIVIAL 1
204 #endif
205
206
207