* Sync up to trunk head (r64377).
[reactos.git] / dll / directx / wine / d3dcompiler_43 / asmshader.tab.h
1 /* A Bison parser, made by GNU Bison 3.0.2. */
2
3 /* Bison interface for Yacc-like parsers in C
4
5 Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
6
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
20 /* As a special exception, you may create a larger work that contains
21 part or all of the Bison parser skeleton and distribute that work
22 under terms of your choice, so long as that work isn't itself a
23 parser generator using the skeleton or a modified version thereof
24 as a parser skeleton. Alternatively, if you modify or redistribute
25 the parser skeleton itself, you may (at your option) remove this
26 special exception, which will cause the skeleton and the resulting
27 Bison output files to be licensed under the GNU General Public
28 License without this special exception.
29
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
32
33 #ifndef YY_ASMSHADER_ASMSHADER_TAB_H_INCLUDED
34 # define YY_ASMSHADER_ASMSHADER_TAB_H_INCLUDED
35 /* Debug traces. */
36 #ifndef YYDEBUG
37 # define YYDEBUG 0
38 #endif
39 #if YYDEBUG
40 extern int asmshader_debug;
41 #endif
42
43 /* Token type. */
44 #ifndef YYTOKENTYPE
45 # define YYTOKENTYPE
46 enum yytokentype
47 {
48 INSTR_ADD = 258,
49 INSTR_NOP = 259,
50 INSTR_MOV = 260,
51 INSTR_SUB = 261,
52 INSTR_MAD = 262,
53 INSTR_MUL = 263,
54 INSTR_RCP = 264,
55 INSTR_RSQ = 265,
56 INSTR_DP3 = 266,
57 INSTR_DP4 = 267,
58 INSTR_MIN = 268,
59 INSTR_MAX = 269,
60 INSTR_SLT = 270,
61 INSTR_SGE = 271,
62 INSTR_ABS = 272,
63 INSTR_EXP = 273,
64 INSTR_LOG = 274,
65 INSTR_EXPP = 275,
66 INSTR_LOGP = 276,
67 INSTR_DST = 277,
68 INSTR_LRP = 278,
69 INSTR_FRC = 279,
70 INSTR_POW = 280,
71 INSTR_CRS = 281,
72 INSTR_SGN = 282,
73 INSTR_NRM = 283,
74 INSTR_SINCOS = 284,
75 INSTR_M4x4 = 285,
76 INSTR_M4x3 = 286,
77 INSTR_M3x4 = 287,
78 INSTR_M3x3 = 288,
79 INSTR_M3x2 = 289,
80 INSTR_DCL = 290,
81 INSTR_DEF = 291,
82 INSTR_DEFB = 292,
83 INSTR_DEFI = 293,
84 INSTR_REP = 294,
85 INSTR_ENDREP = 295,
86 INSTR_IF = 296,
87 INSTR_ELSE = 297,
88 INSTR_ENDIF = 298,
89 INSTR_BREAK = 299,
90 INSTR_BREAKP = 300,
91 INSTR_CALL = 301,
92 INSTR_CALLNZ = 302,
93 INSTR_LOOP = 303,
94 INSTR_RET = 304,
95 INSTR_ENDLOOP = 305,
96 INSTR_LABEL = 306,
97 INSTR_SETP = 307,
98 INSTR_TEXLDL = 308,
99 INSTR_LIT = 309,
100 INSTR_MOVA = 310,
101 INSTR_CND = 311,
102 INSTR_CMP = 312,
103 INSTR_DP2ADD = 313,
104 INSTR_TEXCOORD = 314,
105 INSTR_TEXCRD = 315,
106 INSTR_TEXKILL = 316,
107 INSTR_TEX = 317,
108 INSTR_TEXLD = 318,
109 INSTR_TEXBEM = 319,
110 INSTR_TEXBEML = 320,
111 INSTR_TEXREG2AR = 321,
112 INSTR_TEXREG2GB = 322,
113 INSTR_TEXREG2RGB = 323,
114 INSTR_TEXM3x2PAD = 324,
115 INSTR_TEXM3x2TEX = 325,
116 INSTR_TEXM3x3PAD = 326,
117 INSTR_TEXM3x3SPEC = 327,
118 INSTR_TEXM3x3VSPEC = 328,
119 INSTR_TEXM3x3TEX = 329,
120 INSTR_TEXDP3TEX = 330,
121 INSTR_TEXM3x2DEPTH = 331,
122 INSTR_TEXDP3 = 332,
123 INSTR_TEXM3x3 = 333,
124 INSTR_TEXDEPTH = 334,
125 INSTR_BEM = 335,
126 INSTR_DSX = 336,
127 INSTR_DSY = 337,
128 INSTR_TEXLDP = 338,
129 INSTR_TEXLDB = 339,
130 INSTR_TEXLDD = 340,
131 INSTR_PHASE = 341,
132 REG_TEMP = 342,
133 REG_OUTPUT = 343,
134 REG_INPUT = 344,
135 REG_CONSTFLOAT = 345,
136 REG_CONSTINT = 346,
137 REG_CONSTBOOL = 347,
138 REG_TEXTURE = 348,
139 REG_SAMPLER = 349,
140 REG_TEXCRDOUT = 350,
141 REG_OPOS = 351,
142 REG_OFOG = 352,
143 REG_OPTS = 353,
144 REG_VERTEXCOLOR = 354,
145 REG_FRAGCOLOR = 355,
146 REG_FRAGDEPTH = 356,
147 REG_VPOS = 357,
148 REG_VFACE = 358,
149 REG_ADDRESS = 359,
150 REG_LOOP = 360,
151 REG_PREDICATE = 361,
152 REG_LABEL = 362,
153 VER_VS10 = 363,
154 VER_VS11 = 364,
155 VER_VS20 = 365,
156 VER_VS2X = 366,
157 VER_VS30 = 367,
158 VER_PS10 = 368,
159 VER_PS11 = 369,
160 VER_PS12 = 370,
161 VER_PS13 = 371,
162 VER_PS14 = 372,
163 VER_PS20 = 373,
164 VER_PS2X = 374,
165 VER_PS30 = 375,
166 SHIFT_X2 = 376,
167 SHIFT_X4 = 377,
168 SHIFT_X8 = 378,
169 SHIFT_D2 = 379,
170 SHIFT_D4 = 380,
171 SHIFT_D8 = 381,
172 MOD_SAT = 382,
173 MOD_PP = 383,
174 MOD_CENTROID = 384,
175 COMP_GT = 385,
176 COMP_LT = 386,
177 COMP_GE = 387,
178 COMP_LE = 388,
179 COMP_EQ = 389,
180 COMP_NE = 390,
181 SMOD_BIAS = 391,
182 SMOD_SCALEBIAS = 392,
183 SMOD_DZ = 393,
184 SMOD_DW = 394,
185 SMOD_ABS = 395,
186 SMOD_NOT = 396,
187 SAMPTYPE_1D = 397,
188 SAMPTYPE_2D = 398,
189 SAMPTYPE_CUBE = 399,
190 SAMPTYPE_VOLUME = 400,
191 USAGE_POSITION = 401,
192 USAGE_BLENDWEIGHT = 402,
193 USAGE_BLENDINDICES = 403,
194 USAGE_NORMAL = 404,
195 USAGE_PSIZE = 405,
196 USAGE_TEXCOORD = 406,
197 USAGE_TANGENT = 407,
198 USAGE_BINORMAL = 408,
199 USAGE_TESSFACTOR = 409,
200 USAGE_POSITIONT = 410,
201 USAGE_COLOR = 411,
202 USAGE_FOG = 412,
203 USAGE_DEPTH = 413,
204 USAGE_SAMPLE = 414,
205 COMPONENT = 415,
206 IMMVAL = 416,
207 IMMBOOL = 417
208 };
209 #endif
210
211 /* Value type. */
212 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
213 typedef union YYSTYPE YYSTYPE;
214 union YYSTYPE
215 {
216 #line 70 "asmshader.y" /* yacc.c:1909 */
217
218 struct {
219 float val;
220 BOOL integer;
221 } immval;
222 BOOL immbool;
223 unsigned int regnum;
224 struct shader_reg reg;
225 DWORD srcmod;
226 DWORD writemask;
227 struct {
228 DWORD writemask;
229 DWORD idx;
230 DWORD last;
231 } wm_components;
232 DWORD swizzle;
233 struct {
234 DWORD swizzle;
235 DWORD idx;
236 } sw_components;
237 DWORD component;
238 struct {
239 DWORD mod;
240 DWORD shift;
241 } modshift;
242 enum bwriter_comparison_type comptype;
243 struct {
244 DWORD dclusage;
245 unsigned int regnum;
246 } declaration;
247 enum bwritersampler_texture_type samplertype;
248 struct rel_reg rel_reg;
249 struct src_regs sregs;
250
251 #line 252 "asmshader.tab.h" /* yacc.c:1909 */
252 };
253 # define YYSTYPE_IS_TRIVIAL 1
254 # define YYSTYPE_IS_DECLARED 1
255 #endif
256
257
258 extern YYSTYPE asmshader_lval;
259
260 int asmshader_parse (void);
261
262 #endif /* !YY_ASMSHADER_ASMSHADER_TAB_H_INCLUDED */