https://git.reactos.org/?p=reactos.git;a=commitdiff;h=dffb99c172d74986c9cbcd...
commit dffb99c172d74986c9cbcd2ce42d73b822c5bcd9 Author: Amine Khaldi amine.khaldi@reactos.org AuthorDate: Sat Oct 26 13:00:33 2019 +0100 Commit: Amine Khaldi amine.khaldi@reactos.org CommitDate: Sat Oct 26 13:00:33 2019 +0100
[D3DCOMPILER_43] Sync with Wine Staging 4.18. CORE-16441 --- dll/directx/wine/d3dcompiler_43/CMakeLists.txt | 15 +- dll/directx/wine/d3dcompiler_43/asmparser.c | 2 - dll/directx/wine/d3dcompiler_43/asmshader.l | 2 - dll/directx/wine/d3dcompiler_43/asmshader.tab.c | 1191 ++--- dll/directx/wine/d3dcompiler_43/asmshader.tab.h | 21 +- dll/directx/wine/d3dcompiler_43/asmshader.y | 10 +- dll/directx/wine/d3dcompiler_43/asmshader.yy.c | 1327 +++--- dll/directx/wine/d3dcompiler_43/asmshader.yy.h | 711 +++ dll/directx/wine/d3dcompiler_43/blob.c | 53 +- dll/directx/wine/d3dcompiler_43/bytecodewriter.c | 2 - dll/directx/wine/d3dcompiler_43/compiler.c | 232 +- .../wine/d3dcompiler_43/d3dcompiler_private.h | 73 +- dll/directx/wine/d3dcompiler_43/hlsl.l | 2 - dll/directx/wine/d3dcompiler_43/hlsl.tab.c | 1942 ++++---- dll/directx/wine/d3dcompiler_43/hlsl.tab.h | 17 +- dll/directx/wine/d3dcompiler_43/hlsl.y | 361 +- dll/directx/wine/d3dcompiler_43/hlsl.yy.c | 1165 +++-- dll/directx/wine/d3dcompiler_43/hlsl.yy.h | 715 +++ dll/directx/wine/d3dcompiler_43/main.c | 2 - dll/directx/wine/d3dcompiler_43/ppl.l | 1547 +++++++ dll/directx/wine/d3dcompiler_43/ppl.yy.c | 4757 ++++++++++++++++++++ dll/directx/wine/d3dcompiler_43/ppl.yy.h | 730 +++ dll/directx/wine/d3dcompiler_43/ppy.tab.c | 2619 +++++++++++ dll/directx/wine/d3dcompiler_43/ppy.tab.h | 129 + dll/directx/wine/d3dcompiler_43/ppy.y | 687 +++ dll/directx/wine/d3dcompiler_43/preproc.c | 447 ++ dll/directx/wine/d3dcompiler_43/reflection.c | 48 +- dll/directx/wine/d3dcompiler_43/utils.c | 220 +- dll/directx/wine/d3dcompiler_43/wpp_private.h | 250 + media/doc/README.WINE | 2 +- 30 files changed, 16195 insertions(+), 3084 deletions(-)
diff --git a/dll/directx/wine/d3dcompiler_43/CMakeLists.txt b/dll/directx/wine/d3dcompiler_43/CMakeLists.txt index 7c5cb428400..a036c7ea3e6 100644 --- a/dll/directx/wine/d3dcompiler_43/CMakeLists.txt +++ b/dll/directx/wine/d3dcompiler_43/CMakeLists.txt @@ -8,14 +8,11 @@ spec2def(d3dcompiler_43.dll d3dcompiler_43.spec ADD_IMPORTLIB)
list(APPEND SOURCE asmparser.c - asmshader.tab.c - asmshader.yy.c blob.c bytecodewriter.c compiler.c - hlsl.tab.c - hlsl.yy.c main.c + preproc.c reflection.c utils.c precomp.h @@ -23,6 +20,12 @@ list(APPEND SOURCE
add_library(d3dcompiler_43 MODULE ${SOURCE} + asmshader.tab.c + asmshader.yy.c + hlsl.tab.c + hlsl.yy.c + ppy.tab.c + ppl.yy.c version.rc ${CMAKE_CURRENT_BINARY_DIR}/d3dcompiler_43.def)
@@ -32,11 +35,13 @@ set_source_files_properties( asmshader.yy.c hlsl.tab.c hlsl.yy.c + ppy.tab.c + ppl.yy.c PROPERTIES COMPILE_FLAGS "-UREACTOS_SOURCE_DIR -DREACTOS_SOURCE_DIR="\".\""")
set_module_type(d3dcompiler_43 win32dll) target_link_libraries(d3dcompiler_43 dx10guid uuid wine wpp) add_importlibs(d3dcompiler_43 msvcrt kernel32 ntdll) add_dependencies(d3dcompiler_43 d3d_idl_headers) -#add_pch(d3dcompiler_43 precomp.h SOURCE) +add_pch(d3dcompiler_43 precomp.h SOURCE) add_cd_file(TARGET d3dcompiler_43 DESTINATION reactos/system32 FOR all) diff --git a/dll/directx/wine/d3dcompiler_43/asmparser.c b/dll/directx/wine/d3dcompiler_43/asmparser.c index 2d167dece57..16e86d94dab 100644 --- a/dll/directx/wine/d3dcompiler_43/asmparser.c +++ b/dll/directx/wine/d3dcompiler_43/asmparser.c @@ -20,8 +20,6 @@ * */
-#include "config.h" -#include "wine/port.h" #include "wine/debug.h"
#include "d3dcompiler_private.h" diff --git a/dll/directx/wine/d3dcompiler_43/asmshader.l b/dll/directx/wine/d3dcompiler_43/asmshader.l index 35a404817f5..63ecddd1899 100644 --- a/dll/directx/wine/d3dcompiler_43/asmshader.l +++ b/dll/directx/wine/d3dcompiler_43/asmshader.l @@ -20,8 +20,6 @@ */
%{ -#include "config.h" -#include "wine/port.h" #include "wine/debug.h"
#include "d3dcompiler_private.h" diff --git a/dll/directx/wine/d3dcompiler_43/asmshader.tab.c b/dll/directx/wine/d3dcompiler_43/asmshader.tab.c index 53e79a219fe..4ac2b9dee0d 100644 --- a/dll/directx/wine/d3dcompiler_43/asmshader.tab.c +++ b/dll/directx/wine/d3dcompiler_43/asmshader.tab.c @@ -1,8 +1,9 @@ -/* A Bison parser, made by GNU Bison 3.0.2. */ +/* A Bison parser, made by GNU Bison 3.4.1. */
/* Bison implementation for Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation, + Inc.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -40,11 +41,14 @@ define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */
+/* Undocumented macros, especially those whose name start with YY_, + are private implementation details. Do not rely on them. */ + /* Identify Bison output. */ #define YYBISON 1
/* Bison version. */ -#define YYBISON_VERSION "3.0.2" +#define YYBISON_VERSION "3.4.1"
/* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -69,8 +73,10 @@ #define yylval asmshader_lval #define yychar asmshader_char
-/* Copy the first part of user declarations. */ -#line 22 "asmshader.y" /* yacc.c:339 */ +/* First part of user prologue. */ +#line 22 "asmshader.y" + +#include "wine/debug.h"
#include "d3dcompiler_private.h"
@@ -78,13 +84,13 @@ WINE_DEFAULT_DEBUG_CHANNEL(asmshader);
struct asm_parser asm_ctx;
-void asmparser_message(struct asm_parser *ctx, const char *fmt, ...) +void WINAPIV asmparser_message(struct asm_parser *ctx, const char *fmt, ...) { - va_list args; + __ms_va_list args;
- va_start(args, fmt); + __ms_va_start(args, fmt); compilation_message(&ctx->messages, fmt, args); - va_end(args); + __ms_va_end(args); }
static void asmshader_error(char const *s) { @@ -114,13 +120,17 @@ int asmshader_lex(void);
-#line 122 "asmshader.tab.c" /* yacc.c:339 */ +#line 124 "asmshader.tab.c"
# ifndef YY_NULLPTR -# if defined __cplusplus && 201103L <= __cplusplus -# define YY_NULLPTR nullptr +# if defined __cplusplus +# if 201103L <= __cplusplus +# define YY_NULLPTR nullptr +# else +# define YY_NULLPTR 0 +# endif # else -# define YY_NULLPTR 0 +# define YY_NULLPTR ((void*)0) # endif # endif
@@ -132,7 +142,10 @@ int asmshader_lex(void); # define YYERROR_VERBOSE 0 #endif
- +/* Use api.header.include to #include this header + instead of duplicating it here. */ +#ifndef YY_ASMSHADER_E_REACTOSSYNC_GCC_DLL_DIRECTX_WINE_D3DCOMPILER_43_ASMSHADER_TAB_H_INCLUDED +# define YY_ASMSHADER_E_REACTOSSYNC_GCC_DLL_DIRECTX_WINE_D3DCOMPILER_43_ASMSHADER_TAB_H_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 @@ -311,10 +324,9 @@ extern int asmshader_debug;
/* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE YYSTYPE; union YYSTYPE { -#line 70 "asmshader.y" /* yacc.c:355 */ +#line 68 "asmshader.y"
struct { float val; @@ -349,8 +361,10 @@ union YYSTYPE struct rel_reg rel_reg; struct src_regs sregs;
-#line 357 "asmshader.tab.c" /* yacc.c:355 */ +#line 365 "asmshader.tab.c" + }; +typedef union YYSTYPE YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 #endif @@ -360,11 +374,9 @@ extern YYSTYPE asmshader_lval;
int asmshader_parse (void);
+#endif /* !YY_ASMSHADER_E_REACTOSSYNC_GCC_DLL_DIRECTX_WINE_D3DCOMPILER_43_ASMSHADER_TAB_H_INCLUDED */
-/* Copy the second part of user declarations. */ - -#line 372 "asmshader.tab.c" /* yacc.c:358 */
#ifdef short # undef short @@ -385,13 +397,13 @@ typedef signed char yytype_int8; #ifdef YYTYPE_UINT16 typedef YYTYPE_UINT16 yytype_uint16; #else -typedef unsigned short int yytype_uint16; +typedef unsigned short yytype_uint16; #endif
#ifdef YYTYPE_INT16 typedef YYTYPE_INT16 yytype_int16; #else -typedef short int yytype_int16; +typedef short yytype_int16; #endif
#ifndef YYSIZE_T @@ -403,7 +415,7 @@ typedef short int yytype_int16; # include <stddef.h> /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else -# define YYSIZE_T unsigned int +# define YYSIZE_T unsigned # endif #endif
@@ -439,15 +451,6 @@ typedef short int yytype_int16; # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) #endif
-#if !defined _Noreturn \ - && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) -# if defined _MSC_VER && 1200 <= _MSC_VER -# define _Noreturn __declspec (noreturn) -# else -# define _Noreturn YY_ATTRIBUTE ((__noreturn__)) -# endif -#endif - /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(E) ((void) (E)) @@ -455,7 +458,7 @@ typedef short int yytype_int16; # define YYUSE(E) /* empty */ #endif
-#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ +#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ /* Suppress an incorrect diagnostic about yylval being uninitialized. */ # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ _Pragma ("GCC diagnostic push") \ @@ -475,6 +478,8 @@ typedef short int yytype_int16; #endif
+#define YY_ASSERT(E) ((void) (0 && (E))) + #if ! defined yyoverflow || YYERROR_VERBOSE
/* The parser invokes alloca or malloc; define the necessary symbols. */ @@ -617,16 +622,16 @@ union yyalloc /* YYNSTATES -- Number of states. */ #define YYNSTATES 552
-/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned - by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 417
+/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM + as returned by yylex, with out-of-bounds checking. */ #define YYTRANSLATE(YYX) \ - ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) + ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM - as returned by yylex, without out-of-bounds checking. */ + as returned by yylex. */ static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -677,29 +682,29 @@ static const yytype_uint8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 311, 311, 316, 321, 326, 331, 336, 341, 346, - 351, 356, 361, 366, 371, 376, 382, 383, 388, 392, - 397, 403, 408, 413, 418, 423, 428, 433, 438, 443, - 448, 453, 458, 463, 468, 473, 478, 483, 488, 493, - 498, 503, 508, 513, 518, 523, 528, 533, 538, 543, - 548, 553, 558, 563, 575, 587, 610, 633, 655, 677, - 687, 702, 709, 716, 720, 724, 728, 733, 738, 743, - 748, 753, 758, 763, 768, 773, 778, 783, 788, 793, - 798, 803, 808, 813, 818, 823, 828, 833, 838, 843, - 849, 854, 859, 864, 875, 880, 885, 890, 895, 900, - 905, 910, 915, 920, 925, 930, 935, 940, 945, 950, - 955, 960, 965, 970, 975, 980, 987, 995, 1004, 1008, - 1012, 1016, 1022, 1028, 1034, 1038, 1042, 1048, 1052, 1056, - 1060, 1064, 1068, 1072, 1076, 1082, 1088, 1093, 1100, 1115, - 1121, 1137, 1141, 1163, 1168, 1182, 1186, 1199, 1204, 1209, - 1214, 1219, 1224, 1229, 1234, 1239, 1245, 1250, 1261, 1269, - 1277, 1285, 1310, 1324, 1338, 1348, 1352, 1357, 1365, 1373, - 1381, 1390, 1399, 1409, 1413, 1417, 1421, 1425, 1429, 1434, - 1438, 1443, 1447, 1453, 1457, 1461, 1465, 1469, 1473, 1479, - 1483, 1489, 1495, 1501, 1507, 1513, 1517, 1521, 1525, 1529, - 1533, 1538, 1539, 1540, 1541, 1542, 1543, 1545, 1551, 1557, - 1563, 1569, 1575, 1581, 1587, 1593, 1599, 1605, 1611, 1617, - 1623, 1630, 1634, 1639, 1643, 1647, 1651, 1656, 1664 + 0, 309, 309, 314, 319, 324, 329, 334, 339, 344, + 349, 354, 359, 364, 369, 374, 380, 381, 386, 390, + 395, 401, 406, 411, 416, 421, 426, 431, 436, 441, + 446, 451, 456, 461, 466, 471, 476, 481, 486, 491, + 496, 501, 506, 511, 516, 521, 526, 531, 536, 541, + 546, 551, 556, 561, 573, 585, 608, 631, 653, 675, + 685, 700, 707, 714, 718, 722, 726, 731, 736, 741, + 746, 751, 756, 761, 766, 771, 776, 781, 786, 791, + 796, 801, 806, 811, 816, 821, 826, 831, 836, 841, + 847, 852, 857, 862, 873, 878, 883, 888, 893, 898, + 903, 908, 913, 918, 923, 928, 933, 938, 943, 948, + 953, 958, 963, 968, 973, 978, 985, 993, 1002, 1006, + 1010, 1014, 1020, 1026, 1032, 1036, 1040, 1046, 1050, 1054, + 1058, 1062, 1066, 1070, 1074, 1080, 1086, 1091, 1098, 1113, + 1119, 1135, 1139, 1161, 1166, 1180, 1184, 1197, 1202, 1207, + 1212, 1217, 1222, 1227, 1232, 1237, 1243, 1248, 1259, 1267, + 1275, 1283, 1308, 1322, 1336, 1346, 1350, 1355, 1363, 1371, + 1379, 1388, 1397, 1407, 1411, 1415, 1419, 1423, 1427, 1432, + 1436, 1441, 1445, 1451, 1455, 1459, 1463, 1467, 1471, 1477, + 1481, 1487, 1493, 1499, 1505, 1511, 1515, 1519, 1523, 1527, + 1531, 1536, 1537, 1538, 1539, 1540, 1541, 1543, 1549, 1555, + 1561, 1567, 1573, 1579, 1585, 1591, 1597, 1603, 1609, 1615, + 1621, 1628, 1632, 1637, 1641, 1645, 1649, 1654, 1662 }; #endif
@@ -1218,22 +1223,22 @@ static const yytype_uint8 yyr2[] =
#define YYRECOVERING() (!!yyerrstatus)
-#define YYBACKUP(Token, Value) \ -do \ - if (yychar == YYEMPTY) \ - { \ - yychar = (Token); \ - yylval = (Value); \ - YYPOPSTACK (yylen); \ - yystate = *yyssp; \ - goto yybackup; \ - } \ - else \ - { \ - yyerror (YY_("syntax error: cannot back up")); \ - YYERROR; \ - } \ -while (0) +#define YYBACKUP(Token, Value) \ + do \ + if (yychar == YYEMPTY) \ + { \ + yychar = (Token); \ + yylval = (Value); \ + YYPOPSTACK (yylen); \ + yystate = *yyssp; \ + goto yybackup; \ + } \ + else \ + { \ + yyerror (YY_("syntax error: cannot back up")); \ + YYERROR; \ + } \ + while (0)
/* Error token number */ #define YYTERROR 1 @@ -1273,37 +1278,37 @@ do { \ } while (0)
-/*----------------------------------------. -| Print this symbol's value on YYOUTPUT. | -`----------------------------------------*/ +/*-----------------------------------. +| Print this symbol's value on YYO. | +`-----------------------------------*/
static void -yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) +yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep) { - FILE *yyo = yyoutput; - YYUSE (yyo); + FILE *yyoutput = yyo; + YYUSE (yyoutput); if (!yyvaluep) return; # ifdef YYPRINT if (yytype < YYNTOKENS) - YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); + YYPRINT (yyo, yytoknum[yytype], *yyvaluep); # endif YYUSE (yytype); }
-/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ +/*---------------------------. +| Print this symbol on YYO. | +`---------------------------*/
static void -yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) +yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep) { - YYFPRINTF (yyoutput, "%s %s (", + YYFPRINTF (yyo, "%s %s (", yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
- yy_symbol_value_print (yyoutput, yytype, yyvaluep); - YYFPRINTF (yyoutput, ")"); + yy_symbol_value_print (yyo, yytype, yyvaluep); + YYFPRINTF (yyo, ")"); }
/*------------------------------------------------------------------. @@ -1337,7 +1342,7 @@ do { \ static void yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) { - unsigned long int yylno = yyrline[yyrule]; + unsigned long yylno = yyrline[yyrule]; int yynrhs = yyr2[yyrule]; int yyi; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", @@ -1348,7 +1353,7 @@ yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yystos[yyssp[yyi + 1 - yynrhs]], - &(yyvsp[(yyi + 1) - (yynrhs)]) + &yyvsp[(yyi + 1) - (yynrhs)] ); YYFPRINTF (stderr, "\n"); } @@ -1452,7 +1457,10 @@ yytnamerr (char *yyres, const char *yystr) case '\': if (*++yyp != '\') goto do_not_strip_quotes; - /* Fall through. */ + else + goto append; + + append: default: if (yyres) yyres[yyn] = *yyp; @@ -1470,7 +1478,7 @@ yytnamerr (char *yyres, const char *yystr) if (! yyres) return yystrlen (yystr);
- return yystpcpy (yyres, yystr) - yyres; + return (YYSIZE_T) (yystpcpy (yyres, yystr) - yyres); } # endif
@@ -1548,10 +1556,10 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, yyarg[yycount++] = yytname[yyx]; { YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); - if (! (yysize <= yysize1 - && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) + yysize = yysize1; + else return 2; - yysize = yysize1; } } } @@ -1563,6 +1571,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, case N: \ yyformat = S; \ break + default: /* Avoid compiler warnings. */ YYCASE_(0, YY_("syntax error")); YYCASE_(1, YY_("syntax error, unexpected %s")); YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); @@ -1574,9 +1583,10 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
{ YYSIZE_T yysize1 = yysize + yystrlen (yyformat); - if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM) + yysize = yysize1; + else return 2; - yysize = yysize1; }
if (*yymsg_alloc < yysize) @@ -1702,23 +1712,33 @@ yyparse (void) yychar = YYEMPTY; /* Cause a token to be read. */ goto yysetstate;
+ /*------------------------------------------------------------. -| yynewstate -- Push a new state, which is found in yystate. | +| yynewstate -- push a new state, which is found in yystate. | `------------------------------------------------------------*/ - yynewstate: +yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks. */ yyssp++;
- yysetstate: - *yyssp = yystate; + +/*--------------------------------------------------------------------. +| yynewstate -- set current state (the top of the stack) to yystate. | +`--------------------------------------------------------------------*/ +yysetstate: + YYDPRINTF ((stderr, "Entering state %d\n", yystate)); + YY_ASSERT (0 <= yystate && yystate < YYNSTATES); + *yyssp = (yytype_int16) yystate;
if (yyss + yystacksize - 1 <= yyssp) +#if !defined yyoverflow && !defined YYSTACK_RELOCATE + goto yyexhaustedlab; +#else { /* Get the current used size of the three stacks, in elements. */ - YYSIZE_T yysize = yyssp - yyss + 1; + YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1);
-#ifdef yyoverflow +# if defined yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into @@ -1734,14 +1754,10 @@ yyparse (void) &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yystacksize); - yyss = yyss1; yyvs = yyvs1; } -#else /* no yyoverflow */ -# ifndef YYSTACK_RELOCATE - goto yyexhaustedlab; -# else +# else /* defined YYSTACK_RELOCATE */ /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyexhaustedlab; @@ -1757,35 +1773,33 @@ yyparse (void) goto yyexhaustedlab; YYSTACK_RELOCATE (yyss_alloc, yyss); YYSTACK_RELOCATE (yyvs_alloc, yyvs); -# undef YYSTACK_RELOCATE +# undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif -#endif /* no yyoverflow */
yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1;
YYDPRINTF ((stderr, "Stack size increased to %lu\n", - (unsigned long int) yystacksize)); + (unsigned long) yystacksize));
if (yyss + yystacksize - 1 <= yyssp) YYABORT; } - - YYDPRINTF ((stderr, "Entering state %d\n", yystate)); +#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
if (yystate == YYFINAL) YYACCEPT;
goto yybackup;
+ /*-----------. | yybackup. | `-----------*/ yybackup: - /* Do appropriate processing given the current state. Read a lookahead token if we need one and don't already have one. */
@@ -1843,7 +1857,6 @@ yybackup: YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; YY_IGNORE_MAYBE_UNINITIALIZED_END - goto yynewstate;
@@ -1858,7 +1871,7 @@ yydefault:
/*-----------------------------. -| yyreduce -- Do a reduction. | +| yyreduce -- do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ @@ -1878,455 +1891,455 @@ yyreduce: YY_REDUCE_PRINT (yyn); switch (yyn) { - case 2: -#line 312 "asmshader.y" /* yacc.c:1646 */ + case 2: +#line 310 "asmshader.y" { asm_ctx.funcs->end(&asm_ctx); } -#line 1891 "asmshader.tab.c" /* yacc.c:1646 */ +#line 1900 "asmshader.tab.c" break;
case 3: -#line 317 "asmshader.y" /* yacc.c:1646 */ +#line 315 "asmshader.y" { TRACE("Vertex shader 1.0\n"); create_vs10_parser(&asm_ctx); } -#line 1900 "asmshader.tab.c" /* yacc.c:1646 */ +#line 1909 "asmshader.tab.c" break;
case 4: -#line 322 "asmshader.y" /* yacc.c:1646 */ +#line 320 "asmshader.y" { TRACE("Vertex shader 1.1\n"); create_vs11_parser(&asm_ctx); } -#line 1909 "asmshader.tab.c" /* yacc.c:1646 */ +#line 1918 "asmshader.tab.c" break;
case 5: -#line 327 "asmshader.y" /* yacc.c:1646 */ +#line 325 "asmshader.y" { TRACE("Vertex shader 2.0\n"); create_vs20_parser(&asm_ctx); } -#line 1918 "asmshader.tab.c" /* yacc.c:1646 */ +#line 1927 "asmshader.tab.c" break;
case 6: -#line 332 "asmshader.y" /* yacc.c:1646 */ +#line 330 "asmshader.y" { TRACE("Vertex shader 2.x\n"); create_vs2x_parser(&asm_ctx); } -#line 1927 "asmshader.tab.c" /* yacc.c:1646 */ +#line 1936 "asmshader.tab.c" break;
case 7: -#line 337 "asmshader.y" /* yacc.c:1646 */ +#line 335 "asmshader.y" { TRACE("Vertex shader 3.0\n"); create_vs30_parser(&asm_ctx); } -#line 1936 "asmshader.tab.c" /* yacc.c:1646 */ +#line 1945 "asmshader.tab.c" break;
case 8: -#line 342 "asmshader.y" /* yacc.c:1646 */ +#line 340 "asmshader.y" { TRACE("Pixel shader 1.0\n"); create_ps10_parser(&asm_ctx); } -#line 1945 "asmshader.tab.c" /* yacc.c:1646 */ +#line 1954 "asmshader.tab.c" break;
case 9: -#line 347 "asmshader.y" /* yacc.c:1646 */ +#line 345 "asmshader.y" { TRACE("Pixel shader 1.1\n"); create_ps11_parser(&asm_ctx); } -#line 1954 "asmshader.tab.c" /* yacc.c:1646 */ +#line 1963 "asmshader.tab.c" break;
case 10: -#line 352 "asmshader.y" /* yacc.c:1646 */ +#line 350 "asmshader.y" { TRACE("Pixel shader 1.2\n"); create_ps12_parser(&asm_ctx); } -#line 1963 "asmshader.tab.c" /* yacc.c:1646 */ +#line 1972 "asmshader.tab.c" break;
case 11: -#line 357 "asmshader.y" /* yacc.c:1646 */ +#line 355 "asmshader.y" { TRACE("Pixel shader 1.3\n"); create_ps13_parser(&asm_ctx); } -#line 1972 "asmshader.tab.c" /* yacc.c:1646 */ +#line 1981 "asmshader.tab.c" break;
case 12: -#line 362 "asmshader.y" /* yacc.c:1646 */ +#line 360 "asmshader.y" { TRACE("Pixel shader 1.4\n"); create_ps14_parser(&asm_ctx); } -#line 1981 "asmshader.tab.c" /* yacc.c:1646 */ +#line 1990 "asmshader.tab.c" break;
case 13: -#line 367 "asmshader.y" /* yacc.c:1646 */ +#line 365 "asmshader.y" { TRACE("Pixel shader 2.0\n"); create_ps20_parser(&asm_ctx); } -#line 1990 "asmshader.tab.c" /* yacc.c:1646 */ +#line 1999 "asmshader.tab.c" break;
case 14: -#line 372 "asmshader.y" /* yacc.c:1646 */ +#line 370 "asmshader.y" { TRACE("Pixel shader 2.x\n"); create_ps2x_parser(&asm_ctx); } -#line 1999 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2008 "asmshader.tab.c" break;
case 15: -#line 377 "asmshader.y" /* yacc.c:1646 */ +#line 375 "asmshader.y" { TRACE("Pixel shader 3.0\n"); create_ps30_parser(&asm_ctx); } -#line 2008 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2017 "asmshader.tab.c" break;
case 17: -#line 384 "asmshader.y" /* yacc.c:1646 */ +#line 382 "asmshader.y" { /* Nothing to do */ } -#line 2016 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2025 "asmshader.tab.c" break;
case 18: -#line 389 "asmshader.y" /* yacc.c:1646 */ +#line 387 "asmshader.y" {
} -#line 2024 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2033 "asmshader.tab.c" break;
case 19: -#line 393 "asmshader.y" /* yacc.c:1646 */ +#line 391 "asmshader.y" { TRACE("predicate\n"); asm_ctx.funcs->predicate(&asm_ctx, &(yyvsp[-1].reg)); } -#line 2033 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2042 "asmshader.tab.c" break;
case 20: -#line 398 "asmshader.y" /* yacc.c:1646 */ +#line 396 "asmshader.y" { TRACE("coissue\n"); asm_ctx.funcs->coissue(&asm_ctx); } -#line 2042 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2051 "asmshader.tab.c" break;
case 21: -#line 404 "asmshader.y" /* yacc.c:1646 */ +#line 402 "asmshader.y" { TRACE("ADD\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_ADD, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2); } -#line 2051 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2060 "asmshader.tab.c" break;
case 22: -#line 409 "asmshader.y" /* yacc.c:1646 */ +#line 407 "asmshader.y" { TRACE("NOP\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_NOP, 0, 0, 0, 0, 0, 0); } -#line 2060 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2069 "asmshader.tab.c" break;
case 23: -#line 414 "asmshader.y" /* yacc.c:1646 */ +#line 412 "asmshader.y" { TRACE("MOV\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_MOV, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2069 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2078 "asmshader.tab.c" break;
case 24: -#line 419 "asmshader.y" /* yacc.c:1646 */ +#line 417 "asmshader.y" { TRACE("SUB\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_SUB, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2); } -#line 2078 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2087 "asmshader.tab.c" break;
case 25: -#line 424 "asmshader.y" /* yacc.c:1646 */ +#line 422 "asmshader.y" { TRACE("MAD\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_MAD, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 3); } -#line 2087 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2096 "asmshader.tab.c" break;
case 26: -#line 429 "asmshader.y" /* yacc.c:1646 */ +#line 427 "asmshader.y" { TRACE("MUL\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_MUL, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2); } -#line 2096 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2105 "asmshader.tab.c" break;
case 27: -#line 434 "asmshader.y" /* yacc.c:1646 */ +#line 432 "asmshader.y" { TRACE("RCP\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_RCP, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2105 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2114 "asmshader.tab.c" break;
case 28: -#line 439 "asmshader.y" /* yacc.c:1646 */ +#line 437 "asmshader.y" { TRACE("RSQ\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_RSQ, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2114 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2123 "asmshader.tab.c" break;
case 29: -#line 444 "asmshader.y" /* yacc.c:1646 */ +#line 442 "asmshader.y" { TRACE("DP3\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_DP3, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2); } -#line 2123 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2132 "asmshader.tab.c" break;
case 30: -#line 449 "asmshader.y" /* yacc.c:1646 */ +#line 447 "asmshader.y" { TRACE("DP4\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_DP4, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2); } -#line 2132 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2141 "asmshader.tab.c" break;
case 31: -#line 454 "asmshader.y" /* yacc.c:1646 */ +#line 452 "asmshader.y" { TRACE("MIN\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_MIN, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2); } -#line 2141 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2150 "asmshader.tab.c" break;
case 32: -#line 459 "asmshader.y" /* yacc.c:1646 */ +#line 457 "asmshader.y" { TRACE("MAX\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_MAX, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2); } -#line 2150 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2159 "asmshader.tab.c" break;
case 33: -#line 464 "asmshader.y" /* yacc.c:1646 */ +#line 462 "asmshader.y" { TRACE("SLT\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_SLT, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2); } -#line 2159 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2168 "asmshader.tab.c" break;
case 34: -#line 469 "asmshader.y" /* yacc.c:1646 */ +#line 467 "asmshader.y" { TRACE("SGE\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_SGE, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2); } -#line 2168 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2177 "asmshader.tab.c" break;
case 35: -#line 474 "asmshader.y" /* yacc.c:1646 */ +#line 472 "asmshader.y" { TRACE("ABS\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_ABS, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2177 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2186 "asmshader.tab.c" break;
case 36: -#line 479 "asmshader.y" /* yacc.c:1646 */ +#line 477 "asmshader.y" { TRACE("EXP\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_EXP, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2186 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2195 "asmshader.tab.c" break;
case 37: -#line 484 "asmshader.y" /* yacc.c:1646 */ +#line 482 "asmshader.y" { TRACE("LOG\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_LOG, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2195 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2204 "asmshader.tab.c" break;
case 38: -#line 489 "asmshader.y" /* yacc.c:1646 */ +#line 487 "asmshader.y" { TRACE("LOGP\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_LOGP, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2204 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2213 "asmshader.tab.c" break;
case 39: -#line 494 "asmshader.y" /* yacc.c:1646 */ +#line 492 "asmshader.y" { TRACE("EXPP\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_EXPP, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2213 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2222 "asmshader.tab.c" break;
case 40: -#line 499 "asmshader.y" /* yacc.c:1646 */ +#line 497 "asmshader.y" { TRACE("DST\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_DST, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2); } -#line 2222 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2231 "asmshader.tab.c" break;
case 41: -#line 504 "asmshader.y" /* yacc.c:1646 */ +#line 502 "asmshader.y" { TRACE("LRP\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_LRP, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 3); } -#line 2231 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2240 "asmshader.tab.c" break;
case 42: -#line 509 "asmshader.y" /* yacc.c:1646 */ +#line 507 "asmshader.y" { TRACE("FRC\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_FRC, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2240 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2249 "asmshader.tab.c" break;
case 43: -#line 514 "asmshader.y" /* yacc.c:1646 */ +#line 512 "asmshader.y" { TRACE("POW\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_POW, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2); } -#line 2249 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2258 "asmshader.tab.c" break;
case 44: -#line 519 "asmshader.y" /* yacc.c:1646 */ +#line 517 "asmshader.y" { TRACE("CRS\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_CRS, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2); } -#line 2258 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2267 "asmshader.tab.c" break;
case 45: -#line 524 "asmshader.y" /* yacc.c:1646 */ +#line 522 "asmshader.y" { TRACE("SGN\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_SGN, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 3); } -#line 2267 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2276 "asmshader.tab.c" break;
case 46: -#line 529 "asmshader.y" /* yacc.c:1646 */ +#line 527 "asmshader.y" { TRACE("NRM\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_NRM, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2276 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2285 "asmshader.tab.c" break;
case 47: -#line 534 "asmshader.y" /* yacc.c:1646 */ +#line 532 "asmshader.y" { TRACE("SINCOS\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_SINCOS, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2285 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2294 "asmshader.tab.c" break;
case 48: -#line 539 "asmshader.y" /* yacc.c:1646 */ +#line 537 "asmshader.y" { TRACE("M4x4\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_M4x4, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2); } -#line 2294 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2303 "asmshader.tab.c" break;
case 49: -#line 544 "asmshader.y" /* yacc.c:1646 */ +#line 542 "asmshader.y" { TRACE("M4x3\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_M4x3, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2); } -#line 2303 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2312 "asmshader.tab.c" break;
case 50: -#line 549 "asmshader.y" /* yacc.c:1646 */ +#line 547 "asmshader.y" { TRACE("M3x4\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_M3x4, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2); } -#line 2312 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2321 "asmshader.tab.c" break;
case 51: -#line 554 "asmshader.y" /* yacc.c:1646 */ +#line 552 "asmshader.y" { TRACE("M3x3\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_M3x3, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2); } -#line 2321 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2330 "asmshader.tab.c" break;
case 52: -#line 559 "asmshader.y" /* yacc.c:1646 */ +#line 557 "asmshader.y" { TRACE("M3x2\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_M3x2, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2); } -#line 2330 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2339 "asmshader.tab.c" break;
case 53: -#line 564 "asmshader.y" /* yacc.c:1646 */ +#line 562 "asmshader.y" { struct shader_reg reg; TRACE("Output reg declaration\n"); @@ -2338,11 +2351,11 @@ yyreduce: reg.u.writemask = BWRITERSP_WRITEMASK_ALL; asm_ctx.funcs->dcl_output(&asm_ctx, (yyvsp[-1].declaration).dclusage, (yyvsp[-1].declaration).regnum, ®); } -#line 2346 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2355 "asmshader.tab.c" break;
case 54: -#line 576 "asmshader.y" /* yacc.c:1646 */ +#line 574 "asmshader.y" { struct shader_reg reg; TRACE("Output reg declaration\n"); @@ -2354,11 +2367,11 @@ yyreduce: reg.u.writemask = (yyvsp[0].writemask); asm_ctx.funcs->dcl_output(&asm_ctx, (yyvsp[-2].declaration).dclusage, (yyvsp[-2].declaration).regnum, ®); } -#line 2362 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2371 "asmshader.tab.c" break;
case 55: -#line 588 "asmshader.y" /* yacc.c:1646 */ +#line 586 "asmshader.y" { struct shader_reg reg; TRACE("Input reg declaration\n"); @@ -2381,11 +2394,11 @@ yyreduce: reg.u.writemask = BWRITERSP_WRITEMASK_ALL; asm_ctx.funcs->dcl_input(&asm_ctx, (yyvsp[-2].declaration).dclusage, (yyvsp[-2].declaration).regnum, (yyvsp[-1].modshift).mod, ®); } -#line 2389 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2398 "asmshader.tab.c" break;
case 56: -#line 611 "asmshader.y" /* yacc.c:1646 */ +#line 609 "asmshader.y" { struct shader_reg reg; TRACE("Input reg declaration\n"); @@ -2408,11 +2421,11 @@ yyreduce: reg.u.writemask = (yyvsp[0].writemask); asm_ctx.funcs->dcl_input(&asm_ctx, (yyvsp[-3].declaration).dclusage, (yyvsp[-3].declaration).regnum, (yyvsp[-2].modshift).mod, ®); } -#line 2416 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2425 "asmshader.tab.c" break;
case 57: -#line 634 "asmshader.y" /* yacc.c:1646 */ +#line 632 "asmshader.y" { struct shader_reg reg; TRACE("Input reg declaration\n"); @@ -2434,11 +2447,11 @@ yyreduce: reg.u.writemask = BWRITERSP_WRITEMASK_ALL; asm_ctx.funcs->dcl_input(&asm_ctx, 0, 0, (yyvsp[-1].modshift).mod, ®); } -#line 2442 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2451 "asmshader.tab.c" break;
case 58: -#line 656 "asmshader.y" /* yacc.c:1646 */ +#line 654 "asmshader.y" { struct shader_reg reg; TRACE("Input reg declaration\n"); @@ -2460,11 +2473,11 @@ yyreduce: reg.u.writemask = (yyvsp[0].writemask); asm_ctx.funcs->dcl_input(&asm_ctx, 0, 0, (yyvsp[-2].modshift).mod, ®); } -#line 2468 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2477 "asmshader.tab.c" break;
case 59: -#line 678 "asmshader.y" /* yacc.c:1646 */ +#line 676 "asmshader.y" { TRACE("Sampler declared\n"); if((yyvsp[-1].modshift).shift != 0) { @@ -2474,11 +2487,11 @@ yyreduce: } asm_ctx.funcs->dcl_sampler(&asm_ctx, (yyvsp[-2].samplertype), (yyvsp[-1].modshift).mod, (yyvsp[0].regnum), asm_ctx.line_no); } -#line 2482 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2491 "asmshader.tab.c" break;
case 60: -#line 688 "asmshader.y" /* yacc.c:1646 */ +#line 686 "asmshader.y" { TRACE("Sampler declared\n"); if((yyvsp[-1].modshift).shift != 0) { @@ -2493,301 +2506,301 @@ yyreduce: } asm_ctx.funcs->dcl_sampler(&asm_ctx, BWRITERSTT_UNKNOWN, (yyvsp[-1].modshift).mod, (yyvsp[0].regnum), asm_ctx.line_no); } -#line 2501 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2510 "asmshader.tab.c" break;
case 61: -#line 703 "asmshader.y" /* yacc.c:1646 */ +#line 701 "asmshader.y" { TRACE("Error rule: sampler decl of input reg\n"); asmparser_message(&asm_ctx, "Line %u: Sampler declarations of input regs is not valid\n", asm_ctx.line_no); set_parse_status(&asm_ctx.status, PARSE_WARN); } -#line 2512 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2521 "asmshader.tab.c" break;
case 62: -#line 710 "asmshader.y" /* yacc.c:1646 */ +#line 708 "asmshader.y" { TRACE("Error rule: sampler decl of output reg\n"); asmparser_message(&asm_ctx, "Line %u: Sampler declarations of output regs is not valid\n", asm_ctx.line_no); set_parse_status(&asm_ctx.status, PARSE_WARN); } -#line 2523 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2532 "asmshader.tab.c" break;
case 63: -#line 717 "asmshader.y" /* yacc.c:1646 */ +#line 715 "asmshader.y" { asm_ctx.funcs->constF(&asm_ctx, (yyvsp[-8].regnum), (yyvsp[-6].immval).val, (yyvsp[-4].immval).val, (yyvsp[-2].immval).val, (yyvsp[0].immval).val); } -#line 2531 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2540 "asmshader.tab.c" break;
case 64: -#line 721 "asmshader.y" /* yacc.c:1646 */ +#line 719 "asmshader.y" { asm_ctx.funcs->constI(&asm_ctx, (yyvsp[-8].regnum), (yyvsp[-6].immval).val, (yyvsp[-4].immval).val, (yyvsp[-2].immval).val, (yyvsp[0].immval).val); } -#line 2539 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2548 "asmshader.tab.c" break;
case 65: -#line 725 "asmshader.y" /* yacc.c:1646 */ +#line 723 "asmshader.y" { asm_ctx.funcs->constB(&asm_ctx, (yyvsp[-2].regnum), (yyvsp[0].immbool)); } -#line 2547 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2556 "asmshader.tab.c" break;
case 66: -#line 729 "asmshader.y" /* yacc.c:1646 */ +#line 727 "asmshader.y" { TRACE("REP\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_REP, 0, 0, 0, 0, &(yyvsp[0].sregs), 1); } -#line 2556 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2565 "asmshader.tab.c" break;
case 67: -#line 734 "asmshader.y" /* yacc.c:1646 */ +#line 732 "asmshader.y" { TRACE("ENDREP\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_ENDREP, 0, 0, 0, 0, 0, 0); } -#line 2565 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2574 "asmshader.tab.c" break;
case 68: -#line 739 "asmshader.y" /* yacc.c:1646 */ +#line 737 "asmshader.y" { TRACE("IF\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_IF, 0, 0, 0, 0, &(yyvsp[0].sregs), 1); } -#line 2574 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2583 "asmshader.tab.c" break;
case 69: -#line 744 "asmshader.y" /* yacc.c:1646 */ +#line 742 "asmshader.y" { TRACE("IFC\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_IFC, 0, 0, (yyvsp[-1].comptype), 0, &(yyvsp[0].sregs), 2); } -#line 2583 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2592 "asmshader.tab.c" break;
case 70: -#line 749 "asmshader.y" /* yacc.c:1646 */ +#line 747 "asmshader.y" { TRACE("ELSE\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_ELSE, 0, 0, 0, 0, 0, 0); } -#line 2592 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2601 "asmshader.tab.c" break;
case 71: -#line 754 "asmshader.y" /* yacc.c:1646 */ +#line 752 "asmshader.y" { TRACE("ENDIF\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_ENDIF, 0, 0, 0, 0, 0, 0); } -#line 2601 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2610 "asmshader.tab.c" break;
case 72: -#line 759 "asmshader.y" /* yacc.c:1646 */ +#line 757 "asmshader.y" { TRACE("BREAK\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_BREAK, 0, 0, 0, 0, 0, 0); } -#line 2610 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2619 "asmshader.tab.c" break;
case 73: -#line 764 "asmshader.y" /* yacc.c:1646 */ +#line 762 "asmshader.y" { TRACE("BREAKC\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_BREAKC, 0, 0, (yyvsp[-1].comptype), 0, &(yyvsp[0].sregs), 2); } -#line 2619 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2628 "asmshader.tab.c" break;
case 74: -#line 769 "asmshader.y" /* yacc.c:1646 */ +#line 767 "asmshader.y" { TRACE("BREAKP\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_BREAKP, 0, 0, 0, 0, &(yyvsp[0].sregs), 1); } -#line 2628 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2637 "asmshader.tab.c" break;
case 75: -#line 774 "asmshader.y" /* yacc.c:1646 */ +#line 772 "asmshader.y" { TRACE("CALL\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_CALL, 0, 0, 0, 0, &(yyvsp[0].sregs), 1); } -#line 2637 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2646 "asmshader.tab.c" break;
case 76: -#line 779 "asmshader.y" /* yacc.c:1646 */ +#line 777 "asmshader.y" { TRACE("CALLNZ\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_CALLNZ, 0, 0, 0, 0, &(yyvsp[0].sregs), 2); } -#line 2646 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2655 "asmshader.tab.c" break;
case 77: -#line 784 "asmshader.y" /* yacc.c:1646 */ +#line 782 "asmshader.y" { TRACE("LOOP\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_LOOP, 0, 0, 0, 0, &(yyvsp[0].sregs), 2); } -#line 2655 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2664 "asmshader.tab.c" break;
case 78: -#line 789 "asmshader.y" /* yacc.c:1646 */ +#line 787 "asmshader.y" { TRACE("RET\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_RET, 0, 0, 0, 0, 0, 0); } -#line 2664 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2673 "asmshader.tab.c" break;
case 79: -#line 794 "asmshader.y" /* yacc.c:1646 */ +#line 792 "asmshader.y" { TRACE("ENDLOOP\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_ENDLOOP, 0, 0, 0, 0, 0, 0); } -#line 2673 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2682 "asmshader.tab.c" break;
case 80: -#line 799 "asmshader.y" /* yacc.c:1646 */ +#line 797 "asmshader.y" { TRACE("LABEL\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_LABEL, 0, 0, 0, 0, &(yyvsp[0].sregs), 1); } -#line 2682 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2691 "asmshader.tab.c" break;
case 81: -#line 804 "asmshader.y" /* yacc.c:1646 */ +#line 802 "asmshader.y" { TRACE("SETP\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_SETP, 0, 0, (yyvsp[-3].comptype), &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2); } -#line 2691 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2700 "asmshader.tab.c" break;
case 82: -#line 809 "asmshader.y" /* yacc.c:1646 */ +#line 807 "asmshader.y" { TRACE("TEXLDL\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXLDL, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2); } -#line 2700 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2709 "asmshader.tab.c" break;
case 83: -#line 814 "asmshader.y" /* yacc.c:1646 */ +#line 812 "asmshader.y" { TRACE("LIT\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_LIT, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2709 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2718 "asmshader.tab.c" break;
case 84: -#line 819 "asmshader.y" /* yacc.c:1646 */ +#line 817 "asmshader.y" { TRACE("MOVA\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_MOVA, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2718 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2727 "asmshader.tab.c" break;
case 85: -#line 824 "asmshader.y" /* yacc.c:1646 */ +#line 822 "asmshader.y" { TRACE("CND\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_CND, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 3); } -#line 2727 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2736 "asmshader.tab.c" break;
case 86: -#line 829 "asmshader.y" /* yacc.c:1646 */ +#line 827 "asmshader.y" { TRACE("CMP\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_CMP, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 3); } -#line 2736 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2745 "asmshader.tab.c" break;
case 87: -#line 834 "asmshader.y" /* yacc.c:1646 */ +#line 832 "asmshader.y" { TRACE("DP2ADD\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_DP2ADD, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 3); } -#line 2745 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2754 "asmshader.tab.c" break;
case 88: -#line 839 "asmshader.y" /* yacc.c:1646 */ +#line 837 "asmshader.y" { TRACE("TEXCOORD\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXCOORD, (yyvsp[-1].modshift).mod, (yyvsp[-1].modshift).shift, 0, &(yyvsp[0].reg), 0, 0); } -#line 2754 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2763 "asmshader.tab.c" break;
case 89: -#line 844 "asmshader.y" /* yacc.c:1646 */ +#line 842 "asmshader.y" { TRACE("TEXCRD\n"); /* texcoord and texcrd share the same opcode */ asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXCOORD, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2764 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2773 "asmshader.tab.c" break;
case 90: -#line 850 "asmshader.y" /* yacc.c:1646 */ +#line 848 "asmshader.y" { TRACE("TEXKILL\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXKILL, 0, 0, 0, &(yyvsp[0].reg), 0, 0); } -#line 2773 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2782 "asmshader.tab.c" break;
case 91: -#line 855 "asmshader.y" /* yacc.c:1646 */ +#line 853 "asmshader.y" { TRACE("TEX\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEX, (yyvsp[-1].modshift).mod, (yyvsp[-1].modshift).shift, 0, &(yyvsp[0].reg), 0, 0); } -#line 2782 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2791 "asmshader.tab.c" break;
case 92: -#line 860 "asmshader.y" /* yacc.c:1646 */ +#line 858 "asmshader.y" { TRACE("TEXDEPTH\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXDEPTH, (yyvsp[-1].modshift).mod, (yyvsp[-1].modshift).shift, 0, &(yyvsp[0].reg), 0, 0); } -#line 2791 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2800 "asmshader.tab.c" break;
case 93: -#line 865 "asmshader.y" /* yacc.c:1646 */ +#line 863 "asmshader.y" { TRACE("TEXLD\n"); /* There is more than one acceptable syntax for texld: @@ -2798,209 +2811,209 @@ yyreduce: These variations are handled in asmparser.c */ asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEX, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2); } -#line 2806 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2815 "asmshader.tab.c" break;
case 94: -#line 876 "asmshader.y" /* yacc.c:1646 */ +#line 874 "asmshader.y" { TRACE("TEXLDP\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXLDP, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2); } -#line 2815 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2824 "asmshader.tab.c" break;
case 95: -#line 881 "asmshader.y" /* yacc.c:1646 */ +#line 879 "asmshader.y" { TRACE("TEXLDB\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXLDB, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2); } -#line 2824 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2833 "asmshader.tab.c" break;
case 96: -#line 886 "asmshader.y" /* yacc.c:1646 */ +#line 884 "asmshader.y" { TRACE("TEXBEM\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXBEM, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2833 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2842 "asmshader.tab.c" break;
case 97: -#line 891 "asmshader.y" /* yacc.c:1646 */ +#line 889 "asmshader.y" { TRACE("TEXBEML\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXBEML, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2842 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2851 "asmshader.tab.c" break;
case 98: -#line 896 "asmshader.y" /* yacc.c:1646 */ +#line 894 "asmshader.y" { TRACE("TEXREG2AR\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXREG2AR, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2851 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2860 "asmshader.tab.c" break;
case 99: -#line 901 "asmshader.y" /* yacc.c:1646 */ +#line 899 "asmshader.y" { TRACE("TEXREG2GB\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXREG2GB, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2860 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2869 "asmshader.tab.c" break;
case 100: -#line 906 "asmshader.y" /* yacc.c:1646 */ +#line 904 "asmshader.y" { TRACE("TEXREG2RGB\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXREG2RGB, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2869 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2878 "asmshader.tab.c" break;
case 101: -#line 911 "asmshader.y" /* yacc.c:1646 */ +#line 909 "asmshader.y" { TRACE("TEXM3x2PAD\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXM3x2PAD, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2878 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2887 "asmshader.tab.c" break;
case 102: -#line 916 "asmshader.y" /* yacc.c:1646 */ +#line 914 "asmshader.y" { TRACE("INSTR_TEXM3x3PAD\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXM3x3PAD, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2887 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2896 "asmshader.tab.c" break;
case 103: -#line 921 "asmshader.y" /* yacc.c:1646 */ +#line 919 "asmshader.y" { TRACE("TEXM3x3SPEC\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXM3x3SPEC, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2); } -#line 2896 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2905 "asmshader.tab.c" break;
case 104: -#line 926 "asmshader.y" /* yacc.c:1646 */ +#line 924 "asmshader.y" { TRACE("TEXM3x3VSPEC\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXM3x3VSPEC, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2905 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2914 "asmshader.tab.c" break;
case 105: -#line 931 "asmshader.y" /* yacc.c:1646 */ +#line 929 "asmshader.y" { TRACE("TEXM3x3TEX\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXM3x3TEX, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2914 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2923 "asmshader.tab.c" break;
case 106: -#line 936 "asmshader.y" /* yacc.c:1646 */ +#line 934 "asmshader.y" { TRACE("TEXDP3TEX\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXDP3TEX, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2923 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2932 "asmshader.tab.c" break;
case 107: -#line 941 "asmshader.y" /* yacc.c:1646 */ +#line 939 "asmshader.y" { TRACE("TEXM3x2DEPTH\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXM3x2DEPTH, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2932 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2941 "asmshader.tab.c" break;
case 108: -#line 946 "asmshader.y" /* yacc.c:1646 */ +#line 944 "asmshader.y" { TRACE("TEXM3x2TEX\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXM3x2TEX, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2941 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2950 "asmshader.tab.c" break;
case 109: -#line 951 "asmshader.y" /* yacc.c:1646 */ +#line 949 "asmshader.y" { TRACE("TEXDP3\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXDP3, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2950 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2959 "asmshader.tab.c" break;
case 110: -#line 956 "asmshader.y" /* yacc.c:1646 */ +#line 954 "asmshader.y" { TRACE("TEXM3x3\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXM3x3, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2959 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2968 "asmshader.tab.c" break;
case 111: -#line 961 "asmshader.y" /* yacc.c:1646 */ +#line 959 "asmshader.y" { TRACE("BEM\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_BEM, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 2); } -#line 2968 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2977 "asmshader.tab.c" break;
case 112: -#line 966 "asmshader.y" /* yacc.c:1646 */ +#line 964 "asmshader.y" { TRACE("DSX\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_DSX, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2977 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2986 "asmshader.tab.c" break;
case 113: -#line 971 "asmshader.y" /* yacc.c:1646 */ +#line 969 "asmshader.y" { TRACE("DSY\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_DSY, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 1); } -#line 2986 "asmshader.tab.c" /* yacc.c:1646 */ +#line 2995 "asmshader.tab.c" break;
case 114: -#line 976 "asmshader.y" /* yacc.c:1646 */ +#line 974 "asmshader.y" { TRACE("TEXLDD\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_TEXLDD, (yyvsp[-3].modshift).mod, (yyvsp[-3].modshift).shift, 0, &(yyvsp[-2].reg), &(yyvsp[0].sregs), 4); } -#line 2995 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3004 "asmshader.tab.c" break;
case 115: -#line 981 "asmshader.y" /* yacc.c:1646 */ +#line 979 "asmshader.y" { TRACE("PHASE\n"); asm_ctx.funcs->instr(&asm_ctx, BWRITERSIO_PHASE, 0, 0, 0, 0, 0, 0); } -#line 3004 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3013 "asmshader.tab.c" break;
case 116: -#line 988 "asmshader.y" /* yacc.c:1646 */ +#line 986 "asmshader.y" { (yyval.reg).regnum = (yyvsp[-1].reg).regnum; (yyval.reg).type = (yyvsp[-1].reg).type; @@ -3008,11 +3021,11 @@ yyreduce: (yyval.reg).srcmod = BWRITERSPSM_NONE; set_rel_reg(&(yyval.reg), &(yyvsp[0].rel_reg)); } -#line 3016 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3025 "asmshader.tab.c" break;
case 117: -#line 996 "asmshader.y" /* yacc.c:1646 */ +#line 994 "asmshader.y" { (yyval.reg).regnum = (yyvsp[-1].reg).regnum; (yyval.reg).type = (yyvsp[-1].reg).type; @@ -3020,186 +3033,186 @@ yyreduce: (yyval.reg).srcmod = BWRITERSPSM_NONE; (yyval.reg).rel_reg = NULL; } -#line 3028 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3037 "asmshader.tab.c" break;
case 118: -#line 1005 "asmshader.y" /* yacc.c:1646 */ +#line 1003 "asmshader.y" { (yyval.reg).regnum = (yyvsp[0].regnum); (yyval.reg).type = BWRITERSPR_TEMP; } -#line 3036 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3045 "asmshader.tab.c" break;
case 119: -#line 1009 "asmshader.y" /* yacc.c:1646 */ +#line 1007 "asmshader.y" { (yyval.reg).regnum = (yyvsp[0].regnum); (yyval.reg).type = BWRITERSPR_OUTPUT; } -#line 3044 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3053 "asmshader.tab.c" break;
case 120: -#line 1013 "asmshader.y" /* yacc.c:1646 */ +#line 1011 "asmshader.y" { (yyval.reg).regnum = (yyvsp[0].regnum); (yyval.reg).type = BWRITERSPR_INPUT; } -#line 3052 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3061 "asmshader.tab.c" break;
case 121: -#line 1017 "asmshader.y" /* yacc.c:1646 */ +#line 1015 "asmshader.y" { asmparser_message(&asm_ctx, "Line %u: Register c%u is not a valid destination register\n", asm_ctx.line_no, (yyvsp[0].regnum)); set_parse_status(&asm_ctx.status, PARSE_WARN); } -#line 3062 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3071 "asmshader.tab.c" break;
case 122: -#line 1023 "asmshader.y" /* yacc.c:1646 */ +#line 1021 "asmshader.y" { asmparser_message(&asm_ctx, "Line %u: Register i%u is not a valid destination register\n", asm_ctx.line_no, (yyvsp[0].regnum)); set_parse_status(&asm_ctx.status, PARSE_WARN); } -#line 3072 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3081 "asmshader.tab.c" break;
case 123: -#line 1029 "asmshader.y" /* yacc.c:1646 */ +#line 1027 "asmshader.y" { asmparser_message(&asm_ctx, "Line %u: Register b%u is not a valid destination register\n", asm_ctx.line_no, (yyvsp[0].regnum)); set_parse_status(&asm_ctx.status, PARSE_WARN); } -#line 3082 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3091 "asmshader.tab.c" break;
case 124: -#line 1035 "asmshader.y" /* yacc.c:1646 */ +#line 1033 "asmshader.y" { (yyval.reg).regnum = (yyvsp[0].regnum); (yyval.reg).type = BWRITERSPR_TEXTURE; } -#line 3090 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3099 "asmshader.tab.c" break;
case 125: -#line 1039 "asmshader.y" /* yacc.c:1646 */ +#line 1037 "asmshader.y" { (yyval.reg).regnum = (yyvsp[0].regnum); (yyval.reg).type = BWRITERSPR_TEXCRDOUT; } -#line 3098 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3107 "asmshader.tab.c" break;
case 126: -#line 1043 "asmshader.y" /* yacc.c:1646 */ +#line 1041 "asmshader.y" { asmparser_message(&asm_ctx, "Line %u: Register s%u is not a valid destination register\n", asm_ctx.line_no, (yyvsp[0].regnum)); set_parse_status(&asm_ctx.status, PARSE_WARN); } -#line 3108 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3117 "asmshader.tab.c" break;
case 127: -#line 1049 "asmshader.y" /* yacc.c:1646 */ +#line 1047 "asmshader.y" { (yyval.reg).regnum = BWRITERSRO_POSITION; (yyval.reg).type = BWRITERSPR_RASTOUT; } -#line 3116 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3125 "asmshader.tab.c" break;
case 128: -#line 1053 "asmshader.y" /* yacc.c:1646 */ +#line 1051 "asmshader.y" { (yyval.reg).regnum = BWRITERSRO_POINT_SIZE; (yyval.reg).type = BWRITERSPR_RASTOUT; } -#line 3124 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3133 "asmshader.tab.c" break;
case 129: -#line 1057 "asmshader.y" /* yacc.c:1646 */ +#line 1055 "asmshader.y" { (yyval.reg).regnum = BWRITERSRO_FOG; (yyval.reg).type = BWRITERSPR_RASTOUT; } -#line 3132 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3141 "asmshader.tab.c" break;
case 130: -#line 1061 "asmshader.y" /* yacc.c:1646 */ +#line 1059 "asmshader.y" { (yyval.reg).regnum = (yyvsp[0].regnum); (yyval.reg).type = BWRITERSPR_ATTROUT; } -#line 3140 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3149 "asmshader.tab.c" break;
case 131: -#line 1065 "asmshader.y" /* yacc.c:1646 */ +#line 1063 "asmshader.y" { (yyval.reg).regnum = (yyvsp[0].regnum); (yyval.reg).type = BWRITERSPR_COLOROUT; } -#line 3148 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3157 "asmshader.tab.c" break;
case 132: -#line 1069 "asmshader.y" /* yacc.c:1646 */ +#line 1067 "asmshader.y" { (yyval.reg).regnum = 0; (yyval.reg).type = BWRITERSPR_DEPTHOUT; } -#line 3156 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3165 "asmshader.tab.c" break;
case 133: -#line 1073 "asmshader.y" /* yacc.c:1646 */ +#line 1071 "asmshader.y" { (yyval.reg).regnum = 0; (yyval.reg).type = BWRITERSPR_PREDICATE; } -#line 3164 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3173 "asmshader.tab.c" break;
case 134: -#line 1077 "asmshader.y" /* yacc.c:1646 */ +#line 1075 "asmshader.y" { asmparser_message(&asm_ctx, "Line %u: Register vPos is not a valid destination register\n", asm_ctx.line_no); set_parse_status(&asm_ctx.status, PARSE_WARN); } -#line 3174 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3183 "asmshader.tab.c" break;
case 135: -#line 1083 "asmshader.y" /* yacc.c:1646 */ +#line 1081 "asmshader.y" { asmparser_message(&asm_ctx, "Line %u: Register vFace is not a valid destination register\n", asm_ctx.line_no); set_parse_status(&asm_ctx.status, PARSE_WARN); } -#line 3184 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3193 "asmshader.tab.c" break;
case 136: -#line 1089 "asmshader.y" /* yacc.c:1646 */ +#line 1087 "asmshader.y" { /* index 0 is hardcoded for the addr register */ (yyval.reg).regnum = 0; (yyval.reg).type = BWRITERSPR_ADDR; } -#line 3193 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3202 "asmshader.tab.c" break;
case 137: -#line 1094 "asmshader.y" /* yacc.c:1646 */ +#line 1092 "asmshader.y" { asmparser_message(&asm_ctx, "Line %u: Register aL is not a valid destination register\n", asm_ctx.line_no); set_parse_status(&asm_ctx.status, PARSE_WARN); } -#line 3203 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3212 "asmshader.tab.c" break;
case 138: -#line 1101 "asmshader.y" /* yacc.c:1646 */ +#line 1099 "asmshader.y" { if((yyvsp[0].wm_components).writemask == SWIZZLE_ERR) { asmparser_message(&asm_ctx, "Line %u: Invalid writemask specified\n", @@ -3213,21 +3226,21 @@ yyreduce: TRACE("Writemask: %x\n", (yyval.writemask)); } } -#line 3221 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3230 "asmshader.tab.c" break;
case 139: -#line 1116 "asmshader.y" /* yacc.c:1646 */ +#line 1114 "asmshader.y" { (yyval.wm_components).writemask = 1 << (yyvsp[0].component); (yyval.wm_components).last = (yyvsp[0].component); (yyval.wm_components).idx = 1; } -#line 3231 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3240 "asmshader.tab.c" break;
case 140: -#line 1122 "asmshader.y" /* yacc.c:1646 */ +#line 1120 "asmshader.y" { if((yyvsp[-1].wm_components).writemask == SWIZZLE_ERR || (yyvsp[-1].wm_components).idx == 4) /* Wrong writemask */ @@ -3241,20 +3254,20 @@ yyreduce: } } } -#line 3249 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3258 "asmshader.tab.c" break;
case 141: -#line 1137 "asmshader.y" /* yacc.c:1646 */ +#line 1135 "asmshader.y" { (yyval.swizzle) = BWRITERVS_NOSWIZZLE; TRACE("Default swizzle: %08x\n", (yyval.swizzle)); } -#line 3258 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3267 "asmshader.tab.c" break;
case 142: -#line 1142 "asmshader.y" /* yacc.c:1646 */ +#line 1140 "asmshader.y" { if((yyvsp[0].sw_components).swizzle == SWIZZLE_ERR) { asmparser_message(&asm_ctx, "Line %u: Invalid swizzle\n", @@ -3275,20 +3288,20 @@ yyreduce: TRACE("Got a swizzle: %08x\n", (yyval.swizzle)); } } -#line 3283 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3292 "asmshader.tab.c" break;
case 143: -#line 1164 "asmshader.y" /* yacc.c:1646 */ +#line 1162 "asmshader.y" { (yyval.sw_components).swizzle = (yyvsp[0].component); (yyval.sw_components).idx = 1; } -#line 3292 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3301 "asmshader.tab.c" break;
case 144: -#line 1169 "asmshader.y" /* yacc.c:1646 */ +#line 1167 "asmshader.y" { if((yyvsp[-1].sw_components).idx == 4) { /* Too many sw_components */ @@ -3300,20 +3313,20 @@ yyreduce: (yyval.sw_components).idx = (yyvsp[-1].sw_components).idx + 1; } } -#line 3308 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3317 "asmshader.tab.c" break;
case 145: -#line 1182 "asmshader.y" /* yacc.c:1646 */ +#line 1180 "asmshader.y" { (yyval.modshift).mod = 0; (yyval.modshift).shift = 0; } -#line 3317 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3326 "asmshader.tab.c" break;
case 146: -#line 1187 "asmshader.y" /* yacc.c:1646 */ +#line 1185 "asmshader.y" { (yyval.modshift).mod = (yyvsp[-1].modshift).mod | (yyvsp[0].modshift).mod; if((yyvsp[-1].modshift).shift && (yyvsp[0].modshift).shift) { @@ -3325,101 +3338,101 @@ yyreduce: (yyval.modshift).shift = (yyvsp[-1].modshift).shift | (yyvsp[0].modshift).shift; } } -#line 3333 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3342 "asmshader.tab.c" break;
case 147: -#line 1200 "asmshader.y" /* yacc.c:1646 */ +#line 1198 "asmshader.y" { (yyval.modshift).mod = 0; (yyval.modshift).shift = 1; } -#line 3342 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3351 "asmshader.tab.c" break;
case 148: -#line 1205 "asmshader.y" /* yacc.c:1646 */ +#line 1203 "asmshader.y" { (yyval.modshift).mod = 0; (yyval.modshift).shift = 2; } -#line 3351 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3360 "asmshader.tab.c" break;
case 149: -#line 1210 "asmshader.y" /* yacc.c:1646 */ +#line 1208 "asmshader.y" { (yyval.modshift).mod = 0; (yyval.modshift).shift = 3; } -#line 3360 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3369 "asmshader.tab.c" break;
case 150: -#line 1215 "asmshader.y" /* yacc.c:1646 */ +#line 1213 "asmshader.y" { (yyval.modshift).mod = 0; (yyval.modshift).shift = 15; } -#line 3369 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3378 "asmshader.tab.c" break;
case 151: -#line 1220 "asmshader.y" /* yacc.c:1646 */ +#line 1218 "asmshader.y" { (yyval.modshift).mod = 0; (yyval.modshift).shift = 14; } -#line 3378 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3387 "asmshader.tab.c" break;
case 152: -#line 1225 "asmshader.y" /* yacc.c:1646 */ +#line 1223 "asmshader.y" { (yyval.modshift).mod = 0; (yyval.modshift).shift = 13; } -#line 3387 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3396 "asmshader.tab.c" break;
case 153: -#line 1230 "asmshader.y" /* yacc.c:1646 */ +#line 1228 "asmshader.y" { (yyval.modshift).mod = BWRITERSPDM_SATURATE; (yyval.modshift).shift = 0; } -#line 3396 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3405 "asmshader.tab.c" break;
case 154: -#line 1235 "asmshader.y" /* yacc.c:1646 */ +#line 1233 "asmshader.y" { (yyval.modshift).mod = BWRITERSPDM_PARTIALPRECISION; (yyval.modshift).shift = 0; } -#line 3405 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3414 "asmshader.tab.c" break;
case 155: -#line 1240 "asmshader.y" /* yacc.c:1646 */ +#line 1238 "asmshader.y" { (yyval.modshift).mod = BWRITERSPDM_MSAMPCENTROID; (yyval.modshift).shift = 0; } -#line 3414 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3423 "asmshader.tab.c" break;
case 156: -#line 1246 "asmshader.y" /* yacc.c:1646 */ +#line 1244 "asmshader.y" { (yyval.sregs).reg[0] = (yyvsp[0].reg); (yyval.sregs).count = 1; } -#line 3423 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3432 "asmshader.tab.c" break;
case 157: -#line 1251 "asmshader.y" /* yacc.c:1646 */ +#line 1249 "asmshader.y" { if((yyval.sregs).count == MAX_SRC_REGS){ asmparser_message(&asm_ctx, "Line %u: Too many source registers in this instruction\n", @@ -3429,11 +3442,11 @@ yyreduce: else (yyval.sregs).reg[(yyval.sregs).count++] = (yyvsp[0].reg); } -#line 3437 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3446 "asmshader.tab.c" break;
case 158: -#line 1262 "asmshader.y" /* yacc.c:1646 */ +#line 1260 "asmshader.y" { (yyval.reg).type = (yyvsp[-2].reg).type; (yyval.reg).regnum = (yyvsp[-2].reg).regnum; @@ -3441,11 +3454,11 @@ yyreduce: (yyval.reg).srcmod = BWRITERSPSM_NONE; set_rel_reg(&(yyval.reg), &(yyvsp[-1].rel_reg)); } -#line 3449 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3458 "asmshader.tab.c" break;
case 159: -#line 1270 "asmshader.y" /* yacc.c:1646 */ +#line 1268 "asmshader.y" { (yyval.reg).type = (yyvsp[-3].reg).type; (yyval.reg).regnum = (yyvsp[-3].reg).regnum; @@ -3453,11 +3466,11 @@ yyreduce: (yyval.reg).srcmod = (yyvsp[-1].srcmod); (yyval.reg).u.swizzle = (yyvsp[0].swizzle); } -#line 3461 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3470 "asmshader.tab.c" break;
case 160: -#line 1278 "asmshader.y" /* yacc.c:1646 */ +#line 1276 "asmshader.y" { (yyval.reg).type = (yyvsp[-2].reg).type; (yyval.reg).regnum = (yyvsp[-2].reg).regnum; @@ -3465,11 +3478,11 @@ yyreduce: set_rel_reg(&(yyval.reg), &(yyvsp[-1].rel_reg)); (yyval.reg).u.swizzle = (yyvsp[0].swizzle); } -#line 3473 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3482 "asmshader.tab.c" break;
case 161: -#line 1286 "asmshader.y" /* yacc.c:1646 */ +#line 1284 "asmshader.y" { (yyval.reg).type = (yyvsp[-3].reg).type; (yyval.reg).regnum = (yyvsp[-3].reg).regnum; @@ -3494,11 +3507,11 @@ yyreduce: } (yyval.reg).u.swizzle = (yyvsp[0].swizzle); } -#line 3502 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3511 "asmshader.tab.c" break;
case 162: -#line 1311 "asmshader.y" /* yacc.c:1646 */ +#line 1309 "asmshader.y" { if((yyvsp[-4].immval).val != 1.0 || (!(yyvsp[-4].immval).integer)) { asmparser_message(&asm_ctx, "Line %u: Only "1 - reg" is valid for D3DSPSM_COMP, " @@ -3512,11 +3525,11 @@ yyreduce: set_rel_reg(&(yyval.reg), &(yyvsp[-1].rel_reg)); (yyval.reg).u.swizzle = (yyvsp[0].swizzle); } -#line 3520 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3529 "asmshader.tab.c" break;
case 163: -#line 1325 "asmshader.y" /* yacc.c:1646 */ +#line 1323 "asmshader.y" { /* For nicer error reporting */ if((yyvsp[-5].immval).val != 1.0 || (!(yyvsp[-5].immval).integer)) { @@ -3530,11 +3543,11 @@ yyreduce: set_parse_status(&asm_ctx.status, PARSE_ERR); } } -#line 3538 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3547 "asmshader.tab.c" break;
case 164: -#line 1339 "asmshader.y" /* yacc.c:1646 */ +#line 1337 "asmshader.y" { (yyval.reg).type = (yyvsp[-1].reg).type; (yyval.reg).regnum = (yyvsp[-1].reg).regnum; @@ -3542,29 +3555,29 @@ yyreduce: (yyval.reg).srcmod = BWRITERSPSM_NOT; (yyval.reg).u.swizzle = (yyvsp[0].swizzle); } -#line 3550 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3559 "asmshader.tab.c" break;
case 165: -#line 1348 "asmshader.y" /* yacc.c:1646 */ +#line 1346 "asmshader.y" { (yyval.rel_reg).has_rel_reg = FALSE; (yyval.rel_reg).additional_offset = 0; } -#line 3559 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3568 "asmshader.tab.c" break;
case 166: -#line 1353 "asmshader.y" /* yacc.c:1646 */ +#line 1351 "asmshader.y" { (yyval.rel_reg).has_rel_reg = FALSE; (yyval.rel_reg).additional_offset = (yyvsp[-1].immval).val; } -#line 3568 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3577 "asmshader.tab.c" break;
case 167: -#line 1358 "asmshader.y" /* yacc.c:1646 */ +#line 1356 "asmshader.y" { (yyval.rel_reg).has_rel_reg = TRUE; (yyval.rel_reg).type = (yyvsp[-2].reg).type; @@ -3572,11 +3585,11 @@ yyreduce: (yyval.rel_reg).rel_regnum = (yyvsp[-2].reg).regnum; (yyval.rel_reg).swizzle = (yyvsp[-1].swizzle); } -#line 3580 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3589 "asmshader.tab.c" break;
case 168: -#line 1366 "asmshader.y" /* yacc.c:1646 */ +#line 1364 "asmshader.y" { (yyval.rel_reg).has_rel_reg = TRUE; (yyval.rel_reg).type = (yyvsp[-2].reg).type; @@ -3584,11 +3597,11 @@ yyreduce: (yyval.rel_reg).rel_regnum = (yyvsp[-2].reg).regnum; (yyval.rel_reg).swizzle = (yyvsp[-1].swizzle); } -#line 3592 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3601 "asmshader.tab.c" break;
case 169: -#line 1374 "asmshader.y" /* yacc.c:1646 */ +#line 1372 "asmshader.y" { (yyval.rel_reg).has_rel_reg = TRUE; (yyval.rel_reg).type = (yyvsp[-4].reg).type; @@ -3596,11 +3609,11 @@ yyreduce: (yyval.rel_reg).rel_regnum = (yyvsp[-4].reg).regnum; (yyval.rel_reg).swizzle = (yyvsp[-3].swizzle); } -#line 3604 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3613 "asmshader.tab.c" break;
case 170: -#line 1382 "asmshader.y" /* yacc.c:1646 */ +#line 1380 "asmshader.y" { (yyval.rel_reg).has_rel_reg = TRUE; (yyval.rel_reg).type = (yyvsp[-4].reg).type; @@ -3608,11 +3621,11 @@ yyreduce: (yyval.rel_reg).rel_regnum = (yyvsp[-4].reg).regnum; (yyval.rel_reg).swizzle = (yyvsp[-3].swizzle); } -#line 3616 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3625 "asmshader.tab.c" break;
case 171: -#line 1391 "asmshader.y" /* yacc.c:1646 */ +#line 1389 "asmshader.y" { if(!(yyvsp[0].immval).integer) { asmparser_message(&asm_ctx, "Line %u: Unexpected float %f\n", @@ -3621,11 +3634,11 @@ yyreduce: } (yyval.immval).val = (yyvsp[0].immval).val; } -#line 3629 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3638 "asmshader.tab.c" break;
case 172: -#line 1400 "asmshader.y" /* yacc.c:1646 */ +#line 1398 "asmshader.y" { if(!(yyvsp[0].immval).integer) { asmparser_message(&asm_ctx, "Line %u: Unexpected float %f\n", @@ -3634,473 +3647,473 @@ yyreduce: } (yyval.immval).val = (yyvsp[-2].immval).val + (yyvsp[0].immval).val; } -#line 3642 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3651 "asmshader.tab.c" break;
case 173: -#line 1410 "asmshader.y" /* yacc.c:1646 */ +#line 1408 "asmshader.y" { (yyval.srcmod) = BWRITERSPSM_BIAS; } -#line 3650 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3659 "asmshader.tab.c" break;
case 174: -#line 1414 "asmshader.y" /* yacc.c:1646 */ +#line 1412 "asmshader.y" { (yyval.srcmod) = BWRITERSPSM_X2; } -#line 3658 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3667 "asmshader.tab.c" break;
case 175: -#line 1418 "asmshader.y" /* yacc.c:1646 */ +#line 1416 "asmshader.y" { (yyval.srcmod) = BWRITERSPSM_SIGN; } -#line 3666 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3675 "asmshader.tab.c" break;
case 176: -#line 1422 "asmshader.y" /* yacc.c:1646 */ +#line 1420 "asmshader.y" { (yyval.srcmod) = BWRITERSPSM_DZ; } -#line 3674 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3683 "asmshader.tab.c" break;
case 177: -#line 1426 "asmshader.y" /* yacc.c:1646 */ +#line 1424 "asmshader.y" { (yyval.srcmod) = BWRITERSPSM_DW; } -#line 3682 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3691 "asmshader.tab.c" break;
case 178: -#line 1430 "asmshader.y" /* yacc.c:1646 */ +#line 1428 "asmshader.y" { (yyval.srcmod) = BWRITERSPSM_ABS; } -#line 3690 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3699 "asmshader.tab.c" break;
case 179: -#line 1435 "asmshader.y" /* yacc.c:1646 */ +#line 1433 "asmshader.y" { (yyval.reg).regnum = 0; (yyval.reg).type = BWRITERSPR_ADDR; } -#line 3698 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3707 "asmshader.tab.c" break;
case 180: -#line 1439 "asmshader.y" /* yacc.c:1646 */ +#line 1437 "asmshader.y" { (yyval.reg).regnum = 0; (yyval.reg).type = BWRITERSPR_LOOP; } -#line 3706 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3715 "asmshader.tab.c" break;
case 181: -#line 1444 "asmshader.y" /* yacc.c:1646 */ +#line 1442 "asmshader.y" { (yyval.reg).regnum = (yyvsp[0].regnum); (yyval.reg).type = BWRITERSPR_TEMP; } -#line 3714 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3723 "asmshader.tab.c" break;
case 182: -#line 1448 "asmshader.y" /* yacc.c:1646 */ +#line 1446 "asmshader.y" { asmparser_message(&asm_ctx, "Line %u: Register o%u is not a valid source register\n", asm_ctx.line_no, (yyvsp[0].regnum)); set_parse_status(&asm_ctx.status, PARSE_WARN); } -#line 3724 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3733 "asmshader.tab.c" break;
case 183: -#line 1454 "asmshader.y" /* yacc.c:1646 */ +#line 1452 "asmshader.y" { (yyval.reg).regnum = (yyvsp[0].regnum); (yyval.reg).type = BWRITERSPR_INPUT; } -#line 3732 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3741 "asmshader.tab.c" break;
case 184: -#line 1458 "asmshader.y" /* yacc.c:1646 */ +#line 1456 "asmshader.y" { (yyval.reg).regnum = (yyvsp[0].regnum); (yyval.reg).type = BWRITERSPR_CONST; } -#line 3740 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3749 "asmshader.tab.c" break;
case 185: -#line 1462 "asmshader.y" /* yacc.c:1646 */ +#line 1460 "asmshader.y" { (yyval.reg).regnum = (yyvsp[0].regnum); (yyval.reg).type = BWRITERSPR_CONSTINT; } -#line 3748 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3757 "asmshader.tab.c" break;
case 186: -#line 1466 "asmshader.y" /* yacc.c:1646 */ +#line 1464 "asmshader.y" { (yyval.reg).regnum = (yyvsp[0].regnum); (yyval.reg).type = BWRITERSPR_CONSTBOOL; } -#line 3756 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3765 "asmshader.tab.c" break;
case 187: -#line 1470 "asmshader.y" /* yacc.c:1646 */ +#line 1468 "asmshader.y" { (yyval.reg).regnum = (yyvsp[0].regnum); (yyval.reg).type = BWRITERSPR_TEXTURE; } -#line 3764 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3773 "asmshader.tab.c" break;
case 188: -#line 1474 "asmshader.y" /* yacc.c:1646 */ +#line 1472 "asmshader.y" { asmparser_message(&asm_ctx, "Line %u: Register oT%u is not a valid source register\n", asm_ctx.line_no, (yyvsp[0].regnum)); set_parse_status(&asm_ctx.status, PARSE_WARN); } -#line 3774 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3783 "asmshader.tab.c" break;
case 189: -#line 1480 "asmshader.y" /* yacc.c:1646 */ +#line 1478 "asmshader.y" { (yyval.reg).regnum = (yyvsp[0].regnum); (yyval.reg).type = BWRITERSPR_SAMPLER; } -#line 3782 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3791 "asmshader.tab.c" break;
case 190: -#line 1484 "asmshader.y" /* yacc.c:1646 */ +#line 1482 "asmshader.y" { asmparser_message(&asm_ctx, "Line %u: Register oPos is not a valid source register\n", asm_ctx.line_no); set_parse_status(&asm_ctx.status, PARSE_WARN); } -#line 3792 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3801 "asmshader.tab.c" break;
case 191: -#line 1490 "asmshader.y" /* yacc.c:1646 */ +#line 1488 "asmshader.y" { asmparser_message(&asm_ctx, "Line %u: Register oFog is not a valid source register\n", asm_ctx.line_no); set_parse_status(&asm_ctx.status, PARSE_WARN); } -#line 3802 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3811 "asmshader.tab.c" break;
case 192: -#line 1496 "asmshader.y" /* yacc.c:1646 */ +#line 1494 "asmshader.y" { asmparser_message(&asm_ctx, "Line %u: Register oD%u is not a valid source register\n", asm_ctx.line_no, (yyvsp[0].regnum)); set_parse_status(&asm_ctx.status, PARSE_WARN); } -#line 3812 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3821 "asmshader.tab.c" break;
case 193: -#line 1502 "asmshader.y" /* yacc.c:1646 */ +#line 1500 "asmshader.y" { asmparser_message(&asm_ctx, "Line %u: Register oC%u is not a valid source register\n", asm_ctx.line_no, (yyvsp[0].regnum)); set_parse_status(&asm_ctx.status, PARSE_WARN); } -#line 3822 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3831 "asmshader.tab.c" break;
case 194: -#line 1508 "asmshader.y" /* yacc.c:1646 */ +#line 1506 "asmshader.y" { asmparser_message(&asm_ctx, "Line %u: Register oDepth is not a valid source register\n", asm_ctx.line_no); set_parse_status(&asm_ctx.status, PARSE_WARN); } -#line 3832 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3841 "asmshader.tab.c" break;
case 195: -#line 1514 "asmshader.y" /* yacc.c:1646 */ +#line 1512 "asmshader.y" { (yyval.reg).regnum = 0; (yyval.reg).type = BWRITERSPR_PREDICATE; } -#line 3840 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3849 "asmshader.tab.c" break;
case 196: -#line 1518 "asmshader.y" /* yacc.c:1646 */ +#line 1516 "asmshader.y" { (yyval.reg).regnum = 0; (yyval.reg).type = BWRITERSPR_MISCTYPE; } -#line 3848 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3857 "asmshader.tab.c" break;
case 197: -#line 1522 "asmshader.y" /* yacc.c:1646 */ +#line 1520 "asmshader.y" { (yyval.reg).regnum = 1; (yyval.reg).type = BWRITERSPR_MISCTYPE; } -#line 3856 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3865 "asmshader.tab.c" break;
case 198: -#line 1526 "asmshader.y" /* yacc.c:1646 */ +#line 1524 "asmshader.y" { (yyval.reg).regnum = 0; (yyval.reg).type = BWRITERSPR_ADDR; } -#line 3864 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3873 "asmshader.tab.c" break;
case 199: -#line 1530 "asmshader.y" /* yacc.c:1646 */ +#line 1528 "asmshader.y" { (yyval.reg).regnum = 0; (yyval.reg).type = BWRITERSPR_LOOP; } -#line 3872 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3881 "asmshader.tab.c" break;
case 200: -#line 1534 "asmshader.y" /* yacc.c:1646 */ +#line 1532 "asmshader.y" { (yyval.reg).regnum = (yyvsp[0].regnum); (yyval.reg).type = BWRITERSPR_LABEL; } -#line 3880 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3889 "asmshader.tab.c" break;
case 201: -#line 1538 "asmshader.y" /* yacc.c:1646 */ +#line 1536 "asmshader.y" { (yyval.comptype) = BWRITER_COMPARISON_GT; } -#line 3886 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3895 "asmshader.tab.c" break;
case 202: -#line 1539 "asmshader.y" /* yacc.c:1646 */ +#line 1537 "asmshader.y" { (yyval.comptype) = BWRITER_COMPARISON_LT; } -#line 3892 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3901 "asmshader.tab.c" break;
case 203: -#line 1540 "asmshader.y" /* yacc.c:1646 */ +#line 1538 "asmshader.y" { (yyval.comptype) = BWRITER_COMPARISON_GE; } -#line 3898 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3907 "asmshader.tab.c" break;
case 204: -#line 1541 "asmshader.y" /* yacc.c:1646 */ +#line 1539 "asmshader.y" { (yyval.comptype) = BWRITER_COMPARISON_LE; } -#line 3904 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3913 "asmshader.tab.c" break;
case 205: -#line 1542 "asmshader.y" /* yacc.c:1646 */ +#line 1540 "asmshader.y" { (yyval.comptype) = BWRITER_COMPARISON_EQ; } -#line 3910 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3919 "asmshader.tab.c" break;
case 206: -#line 1543 "asmshader.y" /* yacc.c:1646 */ +#line 1541 "asmshader.y" { (yyval.comptype) = BWRITER_COMPARISON_NE; } -#line 3916 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3925 "asmshader.tab.c" break;
case 207: -#line 1546 "asmshader.y" /* yacc.c:1646 */ +#line 1544 "asmshader.y" { TRACE("dcl_position%u\n", (yyvsp[0].regnum)); (yyval.declaration).regnum = (yyvsp[0].regnum); (yyval.declaration).dclusage = BWRITERDECLUSAGE_POSITION; } -#line 3926 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3935 "asmshader.tab.c" break;
case 208: -#line 1552 "asmshader.y" /* yacc.c:1646 */ +#line 1550 "asmshader.y" { TRACE("dcl_blendweight%u\n", (yyvsp[0].regnum)); (yyval.declaration).regnum = (yyvsp[0].regnum); (yyval.declaration).dclusage = BWRITERDECLUSAGE_BLENDWEIGHT; } -#line 3936 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3945 "asmshader.tab.c" break;
case 209: -#line 1558 "asmshader.y" /* yacc.c:1646 */ +#line 1556 "asmshader.y" { TRACE("dcl_blendindices%u\n", (yyvsp[0].regnum)); (yyval.declaration).regnum = (yyvsp[0].regnum); (yyval.declaration).dclusage = BWRITERDECLUSAGE_BLENDINDICES; } -#line 3946 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3955 "asmshader.tab.c" break;
case 210: -#line 1564 "asmshader.y" /* yacc.c:1646 */ +#line 1562 "asmshader.y" { TRACE("dcl_normal%u\n", (yyvsp[0].regnum)); (yyval.declaration).regnum = (yyvsp[0].regnum); (yyval.declaration).dclusage = BWRITERDECLUSAGE_NORMAL; } -#line 3956 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3965 "asmshader.tab.c" break;
case 211: -#line 1570 "asmshader.y" /* yacc.c:1646 */ +#line 1568 "asmshader.y" { TRACE("dcl_psize%u\n", (yyvsp[0].regnum)); (yyval.declaration).regnum = (yyvsp[0].regnum); (yyval.declaration).dclusage = BWRITERDECLUSAGE_PSIZE; } -#line 3966 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3975 "asmshader.tab.c" break;
case 212: -#line 1576 "asmshader.y" /* yacc.c:1646 */ +#line 1574 "asmshader.y" { TRACE("dcl_texcoord%u\n", (yyvsp[0].regnum)); (yyval.declaration).regnum = (yyvsp[0].regnum); (yyval.declaration).dclusage = BWRITERDECLUSAGE_TEXCOORD; } -#line 3976 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3985 "asmshader.tab.c" break;
case 213: -#line 1582 "asmshader.y" /* yacc.c:1646 */ +#line 1580 "asmshader.y" { TRACE("dcl_tangent%u\n", (yyvsp[0].regnum)); (yyval.declaration).regnum = (yyvsp[0].regnum); (yyval.declaration).dclusage = BWRITERDECLUSAGE_TANGENT; } -#line 3986 "asmshader.tab.c" /* yacc.c:1646 */ +#line 3995 "asmshader.tab.c" break;
case 214: -#line 1588 "asmshader.y" /* yacc.c:1646 */ +#line 1586 "asmshader.y" { TRACE("dcl_binormal%u\n", (yyvsp[0].regnum)); (yyval.declaration).regnum = (yyvsp[0].regnum); (yyval.declaration).dclusage = BWRITERDECLUSAGE_BINORMAL; } -#line 3996 "asmshader.tab.c" /* yacc.c:1646 */ +#line 4005 "asmshader.tab.c" break;
case 215: -#line 1594 "asmshader.y" /* yacc.c:1646 */ +#line 1592 "asmshader.y" { TRACE("dcl_tessfactor%u\n", (yyvsp[0].regnum)); (yyval.declaration).regnum = (yyvsp[0].regnum); (yyval.declaration).dclusage = BWRITERDECLUSAGE_TESSFACTOR; } -#line 4006 "asmshader.tab.c" /* yacc.c:1646 */ +#line 4015 "asmshader.tab.c" break;
case 216: -#line 1600 "asmshader.y" /* yacc.c:1646 */ +#line 1598 "asmshader.y" { TRACE("dcl_positiont%u\n", (yyvsp[0].regnum)); (yyval.declaration).regnum = (yyvsp[0].regnum); (yyval.declaration).dclusage = BWRITERDECLUSAGE_POSITIONT; } -#line 4016 "asmshader.tab.c" /* yacc.c:1646 */ +#line 4025 "asmshader.tab.c" break;
case 217: -#line 1606 "asmshader.y" /* yacc.c:1646 */ +#line 1604 "asmshader.y" { TRACE("dcl_color%u\n", (yyvsp[0].regnum)); (yyval.declaration).regnum = (yyvsp[0].regnum); (yyval.declaration).dclusage = BWRITERDECLUSAGE_COLOR; } -#line 4026 "asmshader.tab.c" /* yacc.c:1646 */ +#line 4035 "asmshader.tab.c" break;
case 218: -#line 1612 "asmshader.y" /* yacc.c:1646 */ +#line 1610 "asmshader.y" { TRACE("dcl_fog%u\n", (yyvsp[0].regnum)); (yyval.declaration).regnum = (yyvsp[0].regnum); (yyval.declaration).dclusage = BWRITERDECLUSAGE_FOG; } -#line 4036 "asmshader.tab.c" /* yacc.c:1646 */ +#line 4045 "asmshader.tab.c" break;
case 219: -#line 1618 "asmshader.y" /* yacc.c:1646 */ +#line 1616 "asmshader.y" { TRACE("dcl_depth%u\n", (yyvsp[0].regnum)); (yyval.declaration).regnum = (yyvsp[0].regnum); (yyval.declaration).dclusage = BWRITERDECLUSAGE_DEPTH; } -#line 4046 "asmshader.tab.c" /* yacc.c:1646 */ +#line 4055 "asmshader.tab.c" break;
case 220: -#line 1624 "asmshader.y" /* yacc.c:1646 */ +#line 1622 "asmshader.y" { TRACE("dcl_sample%u\n", (yyvsp[0].regnum)); (yyval.declaration).regnum = (yyvsp[0].regnum); (yyval.declaration).dclusage = BWRITERDECLUSAGE_SAMPLE; } -#line 4056 "asmshader.tab.c" /* yacc.c:1646 */ +#line 4065 "asmshader.tab.c" break;
case 221: -#line 1631 "asmshader.y" /* yacc.c:1646 */ +#line 1629 "asmshader.y" { (yyval.reg).regnum = (yyvsp[0].regnum); (yyval.reg).type = BWRITERSPR_INPUT; } -#line 4064 "asmshader.tab.c" /* yacc.c:1646 */ +#line 4073 "asmshader.tab.c" break;
case 222: -#line 1635 "asmshader.y" /* yacc.c:1646 */ +#line 1633 "asmshader.y" { (yyval.reg).regnum = (yyvsp[0].regnum); (yyval.reg).type = BWRITERSPR_TEXTURE; } -#line 4072 "asmshader.tab.c" /* yacc.c:1646 */ +#line 4081 "asmshader.tab.c" break;
case 223: -#line 1640 "asmshader.y" /* yacc.c:1646 */ +#line 1638 "asmshader.y" { (yyval.samplertype) = BWRITERSTT_1D; } -#line 4080 "asmshader.tab.c" /* yacc.c:1646 */ +#line 4089 "asmshader.tab.c" break;
case 224: -#line 1644 "asmshader.y" /* yacc.c:1646 */ +#line 1642 "asmshader.y" { (yyval.samplertype) = BWRITERSTT_2D; } -#line 4088 "asmshader.tab.c" /* yacc.c:1646 */ +#line 4097 "asmshader.tab.c" break;
case 225: -#line 1648 "asmshader.y" /* yacc.c:1646 */ +#line 1646 "asmshader.y" { (yyval.samplertype) = BWRITERSTT_CUBE; } -#line 4096 "asmshader.tab.c" /* yacc.c:1646 */ +#line 4105 "asmshader.tab.c" break;
case 226: -#line 1652 "asmshader.y" /* yacc.c:1646 */ +#line 1650 "asmshader.y" { (yyval.samplertype) = BWRITERSTT_VOLUME; } -#line 4104 "asmshader.tab.c" /* yacc.c:1646 */ +#line 4113 "asmshader.tab.c" break;
case 227: -#line 1657 "asmshader.y" /* yacc.c:1646 */ +#line 1655 "asmshader.y" { (yyval.reg).type = BWRITERSPR_PREDICATE; (yyval.reg).regnum = 0; @@ -4108,11 +4121,11 @@ yyreduce: (yyval.reg).srcmod = BWRITERSPSM_NONE; (yyval.reg).u.swizzle = (yyvsp[-1].swizzle); } -#line 4116 "asmshader.tab.c" /* yacc.c:1646 */ +#line 4125 "asmshader.tab.c" break;
case 228: -#line 1665 "asmshader.y" /* yacc.c:1646 */ +#line 1663 "asmshader.y" { (yyval.reg).type = BWRITERSPR_PREDICATE; (yyval.reg).regnum = 0; @@ -4120,11 +4133,12 @@ yyreduce: (yyval.reg).srcmod = BWRITERSPSM_NOT; (yyval.reg).u.swizzle = (yyvsp[-1].swizzle); } -#line 4128 "asmshader.tab.c" /* yacc.c:1646 */ +#line 4137 "asmshader.tab.c" break;
-#line 4132 "asmshader.tab.c" /* yacc.c:1646 */ +#line 4141 "asmshader.tab.c" + default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -4149,14 +4163,13 @@ yyreduce: /* Now 'shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ - - yyn = yyr1[yyn]; - - yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; - if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) - yystate = yytable[yystate]; - else - yystate = yydefgoto[yyn - YYNTOKENS]; + { + const int yylhs = yyr1[yyn] - YYNTOKENS; + const int yyi = yypgoto[yylhs] + *yyssp; + yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp + ? yytable[yyi] + : yydefgoto[yylhs]); + }
goto yynewstate;
@@ -4239,12 +4252,10 @@ yyerrlab: | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: - - /* Pacify compilers like GCC when the user code never invokes - YYERROR and the label yyerrorlab therefore never appears in user - code. */ - if (/*CONSTCOND*/ 0) - goto yyerrorlab; + /* Pacify compilers when the user code never invokes YYERROR and the + label yyerrorlab therefore never appears in user code. */ + if (0) + YYERROR;
/* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ @@ -4306,6 +4317,7 @@ yyacceptlab: yyresult = 0; goto yyreturn;
+ /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ @@ -4313,6 +4325,7 @@ yyabortlab: yyresult = 1; goto yyreturn;
+ #if !defined yyoverflow || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | @@ -4323,6 +4336,10 @@ yyexhaustedlab: /* Fall through. */ #endif
+ +/*-----------------------------------------------------. +| yyreturn -- parsing is finished, return the result. | +`-----------------------------------------------------*/ yyreturn: if (yychar != YYEMPTY) { @@ -4352,7 +4369,7 @@ yyreturn: #endif return yyresult; } -#line 1673 "asmshader.y" /* yacc.c:1906 */ +#line 1671 "asmshader.y"
struct bwriter_shader *parse_asm_shader(char **messages) diff --git a/dll/directx/wine/d3dcompiler_43/asmshader.tab.h b/dll/directx/wine/d3dcompiler_43/asmshader.tab.h index 3f76060d912..58408c95844 100644 --- a/dll/directx/wine/d3dcompiler_43/asmshader.tab.h +++ b/dll/directx/wine/d3dcompiler_43/asmshader.tab.h @@ -1,8 +1,9 @@ -/* A Bison parser, made by GNU Bison 3.0.2. */ +/* A Bison parser, made by GNU Bison 3.4.1. */
/* Bison interface for Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation, + Inc.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -30,8 +31,11 @@ This special exception was added by the Free Software Foundation in version 2.2 of Bison. */
-#ifndef YY_ASMSHADER_ASMSHADER_TAB_H_INCLUDED -# define YY_ASMSHADER_ASMSHADER_TAB_H_INCLUDED +/* Undocumented macros, especially those whose name start with YY_, + are private implementation details. Do not rely on them. */ + +#ifndef YY_ASMSHADER_E_REACTOSSYNC_GCC_DLL_DIRECTX_WINE_D3DCOMPILER_43_ASMSHADER_TAB_H_INCLUDED +# define YY_ASMSHADER_E_REACTOSSYNC_GCC_DLL_DIRECTX_WINE_D3DCOMPILER_43_ASMSHADER_TAB_H_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 @@ -210,10 +214,9 @@ extern int asmshader_debug;
/* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE YYSTYPE; union YYSTYPE { -#line 70 "asmshader.y" /* yacc.c:1909 */ +#line 68 "asmshader.y"
struct { float val; @@ -248,8 +251,10 @@ union YYSTYPE struct rel_reg rel_reg; struct src_regs sregs;
-#line 252 "asmshader.tab.h" /* yacc.c:1909 */ +#line 255 "asmshader.tab.h" + }; +typedef union YYSTYPE YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 #endif @@ -259,4 +264,4 @@ extern YYSTYPE asmshader_lval;
int asmshader_parse (void);
-#endif /* !YY_ASMSHADER_ASMSHADER_TAB_H_INCLUDED */ +#endif /* !YY_ASMSHADER_E_REACTOSSYNC_GCC_DLL_DIRECTX_WINE_D3DCOMPILER_43_ASMSHADER_TAB_H_INCLUDED */ diff --git a/dll/directx/wine/d3dcompiler_43/asmshader.y b/dll/directx/wine/d3dcompiler_43/asmshader.y index 5948d57d5ed..32b37d0885d 100644 --- a/dll/directx/wine/d3dcompiler_43/asmshader.y +++ b/dll/directx/wine/d3dcompiler_43/asmshader.y @@ -20,8 +20,6 @@ */
%{ -#include "config.h" -#include "wine/port.h" #include "wine/debug.h"
#include "d3dcompiler_private.h" @@ -30,13 +28,13 @@ WINE_DEFAULT_DEBUG_CHANNEL(asmshader);
struct asm_parser asm_ctx;
-void asmparser_message(struct asm_parser *ctx, const char *fmt, ...) +void WINAPIV asmparser_message(struct asm_parser *ctx, const char *fmt, ...) { - va_list args; + __ms_va_list args;
- va_start(args, fmt); + __ms_va_start(args, fmt); compilation_message(&ctx->messages, fmt, args); - va_end(args); + __ms_va_end(args); }
static void asmshader_error(char const *s) { diff --git a/dll/directx/wine/d3dcompiler_43/asmshader.yy.c b/dll/directx/wine/d3dcompiler_43/asmshader.yy.c index 1b31cec460f..bf9ca37e361 100644 --- a/dll/directx/wine/d3dcompiler_43/asmshader.yy.c +++ b/dll/directx/wine/d3dcompiler_43/asmshader.yy.c @@ -1,6 +1,6 @@ -#line 2 "asmshader.yy.c" +#line 1 "asmshader.yy.c"
-#line 4 "asmshader.yy.c" +#line 3 "asmshader.yy.c"
#define YY_INT_ALIGNED short int
@@ -8,11 +8,17 @@
#define yy_create_buffer asmshader__create_buffer #define yy_delete_buffer asmshader__delete_buffer -#define yy_flex_debug asmshader__flex_debug +#define yy_scan_buffer asmshader__scan_buffer +#define yy_scan_string asmshader__scan_string +#define yy_scan_bytes asmshader__scan_bytes #define yy_init_buffer asmshader__init_buffer #define yy_flush_buffer asmshader__flush_buffer #define yy_load_buffer_state asmshader__load_buffer_state #define yy_switch_to_buffer asmshader__switch_to_buffer +#define yypush_buffer_state asmshader_push_buffer_state +#define yypop_buffer_state asmshader_pop_buffer_state +#define yyensure_buffer_stack asmshader_ensure_buffer_stack +#define yy_flex_debug asmshader__flex_debug #define yyin asmshader_in #define yyleng asmshader_leng #define yylex asmshader_lex @@ -27,12 +33,246 @@
#define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 35 +#define YY_FLEX_MINOR_VERSION 6 +#define YY_FLEX_SUBMINOR_VERSION 4 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif
+#ifdef yy_create_buffer +#define asmshader__create_buffer_ALREADY_DEFINED +#else +#define yy_create_buffer asmshader__create_buffer +#endif + +#ifdef yy_delete_buffer +#define asmshader__delete_buffer_ALREADY_DEFINED +#else +#define yy_delete_buffer asmshader__delete_buffer +#endif + +#ifdef yy_scan_buffer +#define asmshader__scan_buffer_ALREADY_DEFINED +#else +#define yy_scan_buffer asmshader__scan_buffer +#endif + +#ifdef yy_scan_string +#define asmshader__scan_string_ALREADY_DEFINED +#else +#define yy_scan_string asmshader__scan_string +#endif + +#ifdef yy_scan_bytes +#define asmshader__scan_bytes_ALREADY_DEFINED +#else +#define yy_scan_bytes asmshader__scan_bytes +#endif + +#ifdef yy_init_buffer +#define asmshader__init_buffer_ALREADY_DEFINED +#else +#define yy_init_buffer asmshader__init_buffer +#endif + +#ifdef yy_flush_buffer +#define asmshader__flush_buffer_ALREADY_DEFINED +#else +#define yy_flush_buffer asmshader__flush_buffer +#endif + +#ifdef yy_load_buffer_state +#define asmshader__load_buffer_state_ALREADY_DEFINED +#else +#define yy_load_buffer_state asmshader__load_buffer_state +#endif + +#ifdef yy_switch_to_buffer +#define asmshader__switch_to_buffer_ALREADY_DEFINED +#else +#define yy_switch_to_buffer asmshader__switch_to_buffer +#endif + +#ifdef yypush_buffer_state +#define asmshader_push_buffer_state_ALREADY_DEFINED +#else +#define yypush_buffer_state asmshader_push_buffer_state +#endif + +#ifdef yypop_buffer_state +#define asmshader_pop_buffer_state_ALREADY_DEFINED +#else +#define yypop_buffer_state asmshader_pop_buffer_state +#endif + +#ifdef yyensure_buffer_stack +#define asmshader_ensure_buffer_stack_ALREADY_DEFINED +#else +#define yyensure_buffer_stack asmshader_ensure_buffer_stack +#endif + +#ifdef yylex +#define asmshader_lex_ALREADY_DEFINED +#else +#define yylex asmshader_lex +#endif + +#ifdef yyrestart +#define asmshader_restart_ALREADY_DEFINED +#else +#define yyrestart asmshader_restart +#endif + +#ifdef yylex_init +#define asmshader_lex_init_ALREADY_DEFINED +#else +#define yylex_init asmshader_lex_init +#endif + +#ifdef yylex_init_extra +#define asmshader_lex_init_extra_ALREADY_DEFINED +#else +#define yylex_init_extra asmshader_lex_init_extra +#endif + +#ifdef yylex_destroy +#define asmshader_lex_destroy_ALREADY_DEFINED +#else +#define yylex_destroy asmshader_lex_destroy +#endif + +#ifdef yyget_debug +#define asmshader_get_debug_ALREADY_DEFINED +#else +#define yyget_debug asmshader_get_debug +#endif + +#ifdef yyset_debug +#define asmshader_set_debug_ALREADY_DEFINED +#else +#define yyset_debug asmshader_set_debug +#endif + +#ifdef yyget_extra +#define asmshader_get_extra_ALREADY_DEFINED +#else +#define yyget_extra asmshader_get_extra +#endif + +#ifdef yyset_extra +#define asmshader_set_extra_ALREADY_DEFINED +#else +#define yyset_extra asmshader_set_extra +#endif + +#ifdef yyget_in +#define asmshader_get_in_ALREADY_DEFINED +#else +#define yyget_in asmshader_get_in +#endif + +#ifdef yyset_in +#define asmshader_set_in_ALREADY_DEFINED +#else +#define yyset_in asmshader_set_in +#endif + +#ifdef yyget_out +#define asmshader_get_out_ALREADY_DEFINED +#else +#define yyget_out asmshader_get_out +#endif + +#ifdef yyset_out +#define asmshader_set_out_ALREADY_DEFINED +#else +#define yyset_out asmshader_set_out +#endif + +#ifdef yyget_leng +#define asmshader_get_leng_ALREADY_DEFINED +#else +#define yyget_leng asmshader_get_leng +#endif + +#ifdef yyget_text +#define asmshader_get_text_ALREADY_DEFINED +#else +#define yyget_text asmshader_get_text +#endif + +#ifdef yyget_lineno +#define asmshader_get_lineno_ALREADY_DEFINED +#else +#define yyget_lineno asmshader_get_lineno +#endif + +#ifdef yyset_lineno +#define asmshader_set_lineno_ALREADY_DEFINED +#else +#define yyset_lineno asmshader_set_lineno +#endif + +#ifdef yywrap +#define asmshader_wrap_ALREADY_DEFINED +#else +#define yywrap asmshader_wrap +#endif + +#ifdef yyalloc +#define asmshader_alloc_ALREADY_DEFINED +#else +#define yyalloc asmshader_alloc +#endif + +#ifdef yyrealloc +#define asmshader_realloc_ALREADY_DEFINED +#else +#define yyrealloc asmshader_realloc +#endif + +#ifdef yyfree +#define asmshader_free_ALREADY_DEFINED +#else +#define yyfree asmshader_free +#endif + +#ifdef yytext +#define asmshader_text_ALREADY_DEFINED +#else +#define yytext asmshader_text +#endif + +#ifdef yyleng +#define asmshader_leng_ALREADY_DEFINED +#else +#define yyleng asmshader_leng +#endif + +#ifdef yyin +#define asmshader_in_ALREADY_DEFINED +#else +#define yyin asmshader_in +#endif + +#ifdef yyout +#define asmshader_out_ALREADY_DEFINED +#else +#define yyout asmshader_out +#endif + +#ifdef yy_flex_debug +#define asmshader__flex_debug_ALREADY_DEFINED +#else +#define yy_flex_debug asmshader__flex_debug +#endif + +#ifdef yylineno +#define asmshader_lineno_ALREADY_DEFINED +#else +#define yylineno asmshader_lineno +#endif + /* First, we deal with platform-specific or compiler-specific issues. */
/* begin standard C headers. */ @@ -103,60 +343,48 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif
+#ifndef SIZE_MAX +#define SIZE_MAX (~(size_t)0) +#endif + #endif /* ! C99 */
#endif /* ! FLEXINT_H */
-#ifdef __cplusplus - -/* The "const" storage-class-modifier is valid. */ -#define YY_USE_CONST - -#else /* ! __cplusplus */ - -/* C99 requires __STDC__ to be defined as 1. */ -#if defined (__STDC__) +/* begin standard C++ headers. */
-#define YY_USE_CONST - -#endif /* defined (__STDC__) */ -#endif /* ! __cplusplus */ - -#ifdef YY_USE_CONST +/* TODO: this is always defined, so inline it */ #define yyconst const + +#if defined(__GNUC__) && __GNUC__ >= 3 +#define yynoreturn __attribute__((__noreturn__)) #else -#define yyconst +#define yynoreturn #endif
/* Returned upon end-of-file. */ #define YY_NULL 0
-/* Promotes a possibly negative, possibly signed char to an unsigned - * integer for use as an array index. If the signed char is negative, - * we want to instead treat it as an 8-bit unsigned char, hence the - * double cast. +/* Promotes a possibly negative, possibly signed char to an + * integer in range [0..255] for use as an array index. */ -#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) +#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
/* Enter a start condition. This macro really ought to take a parameter, * but we do it the disgusting crufty way forced on us by the ()-less * definition of BEGIN. */ #define BEGIN (yy_start) = 1 + 2 * - /* Translate the current start state into a value that can be later handed * to BEGIN to return to the state. The YYSTATE alias is for lex * compatibility. */ #define YY_START (((yy_start) - 1) / 2) #define YYSTATE YY_START - /* Action number for EOF rule of a given start state. */ #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) - /* Special action meaning "start processing a new file". */ -#define YY_NEW_FILE asmshader_restart(asmshader_in ) - +#define YY_NEW_FILE yyrestart( yyin ) #define YY_END_OF_BUFFER_CHAR 0
/* Size of default input buffer. */ @@ -181,37 +409,37 @@ typedef unsigned int flex_uint32_t; typedef struct yy_buffer_state *YY_BUFFER_STATE; #endif
-extern int asmshader_leng; +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef size_t yy_size_t; +#endif + +extern int yyleng;
-extern FILE *asmshader_in, *asmshader_out; +extern FILE *yyin, *yyout;
#define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 - + #define YY_LESS_LINENO(n) + #define YY_LINENO_REWIND_TO(ptr)
/* Return all but the first "n" matched characters back to the input stream. */ #define yyless(n) \ do \ { \ - /* Undo effects of setting up asmshader_text. */ \ + /* Undo effects of setting up yytext. */ \ int yyless_macro_arg = (n); \ YY_LESS_LINENO(yyless_macro_arg);\ *yy_cp = (yy_hold_char); \ YY_RESTORE_YY_MORE_OFFSET \ (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ - YY_DO_BEFORE_ACTION; /* set up asmshader_text again */ \ + YY_DO_BEFORE_ACTION; /* set up yytext again */ \ } \ while ( 0 ) - #define unput(c) yyunput( c, (yytext_ptr) )
-#ifndef YY_TYPEDEF_YY_SIZE_T -#define YY_TYPEDEF_YY_SIZE_T -typedef size_t yy_size_t; -#endif - #ifndef YY_STRUCT_YY_BUFFER_STATE #define YY_STRUCT_YY_BUFFER_STATE struct yy_buffer_state @@ -224,7 +452,7 @@ struct yy_buffer_state /* Size of input buffer in bytes, not including room for EOB * characters. */ - yy_size_t yy_buf_size; + int yy_buf_size;
/* Number of characters read into yy_ch_buf, not including EOB * characters. @@ -252,7 +480,7 @@ struct yy_buffer_state
int yy_bs_lineno; /**< The line count. */ int yy_bs_column; /**< The column count. */ - + /* Whether to try to fill the input buffer when we reach the * end of it. */ @@ -269,8 +497,8 @@ struct yy_buffer_state * possible backing-up. * * When we actually see the EOF, we change the status to "new" - * (via asmshader_restart()), so that the user can continue scanning by - * just pointing asmshader_in at a new input file. + * (via yyrestart()), so that the user can continue scanning by + * just pointing yyin at a new input file. */ #define YY_BUFFER_EOF_PENDING 2
@@ -280,7 +508,7 @@ struct yy_buffer_state /* Stack of input buffers. */ static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ -static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ +static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
/* We provide macros for accessing buffer states in case in the * future we want to put the buffer states in a more general @@ -291,106 +519,101 @@ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ : NULL) - /* Same as previous macro, but useful when we know that the buffer stack is not * NULL or when we need an lvalue. For internal use only. */ #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-/* yy_hold_char holds the character lost when asmshader_text is formed. */ +/* yy_hold_char holds the character lost when yytext is formed. */ static char yy_hold_char; static int yy_n_chars; /* number of characters read into yy_ch_buf */ -int asmshader_leng; +int yyleng;
/* Points to current character in buffer. */ -static char *yy_c_buf_p = (char *) 0; +static char *yy_c_buf_p = NULL; static int yy_init = 0; /* whether we need to initialize */ static int yy_start = 0; /* start state number */
-/* Flag which is used to allow asmshader_wrap()'s to do buffer switches - * instead of setting up a fresh asmshader_in. A bit of a hack ... +/* Flag which is used to allow yywrap()'s to do buffer switches + * instead of setting up a fresh yyin. A bit of a hack ... */ static int yy_did_buffer_switch_on_eof;
-void asmshader_restart (FILE *input_file ); -void asmshader__switch_to_buffer (YY_BUFFER_STATE new_buffer ); -YY_BUFFER_STATE asmshader__create_buffer (FILE *file,int size ); -void asmshader__delete_buffer (YY_BUFFER_STATE b ); -void asmshader__flush_buffer (YY_BUFFER_STATE b ); -void asmshader_push_buffer_state (YY_BUFFER_STATE new_buffer ); -void asmshader_pop_buffer_state (void ); - -static void asmshader_ensure_buffer_stack (void ); -static void asmshader__load_buffer_state (void ); -static void asmshader__init_buffer (YY_BUFFER_STATE b,FILE *file ); +void yyrestart ( FILE *input_file ); +void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer ); +YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size ); +void yy_delete_buffer ( YY_BUFFER_STATE b ); +void yy_flush_buffer ( YY_BUFFER_STATE b ); +void yypush_buffer_state ( YY_BUFFER_STATE new_buffer ); +void yypop_buffer_state ( void );
-#define YY_FLUSH_BUFFER asmshader__flush_buffer(YY_CURRENT_BUFFER ) +static void yyensure_buffer_stack ( void ); +static void yy_load_buffer_state ( void ); +static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file ); +#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
-YY_BUFFER_STATE asmshader__scan_buffer (char *base,yy_size_t size ); -YY_BUFFER_STATE asmshader__scan_string (yyconst char *yy_str ); -YY_BUFFER_STATE asmshader__scan_bytes (yyconst char *bytes,int len ); +YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size ); +YY_BUFFER_STATE yy_scan_string ( const char *yy_str ); +YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
-void *asmshader_alloc (yy_size_t ); -void *asmshader_realloc (void *,yy_size_t ); -void asmshader_free (void * ); - -#define yy_new_buffer asmshader__create_buffer +void *yyalloc ( yy_size_t ); +void *yyrealloc ( void *, yy_size_t ); +void yyfree ( void * );
+#define yy_new_buffer yy_create_buffer #define yy_set_interactive(is_interactive) \ { \ if ( ! YY_CURRENT_BUFFER ){ \ - asmshader_ensure_buffer_stack (); \ + yyensure_buffer_stack (); \ YY_CURRENT_BUFFER_LVALUE = \ - asmshader__create_buffer(asmshader_in,YY_BUF_SIZE ); \ + yy_create_buffer( yyin, YY_BUF_SIZE ); \ } \ YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ } - #define yy_set_bol(at_bol) \ { \ if ( ! YY_CURRENT_BUFFER ){\ - asmshader_ensure_buffer_stack (); \ + yyensure_buffer_stack (); \ YY_CURRENT_BUFFER_LVALUE = \ - asmshader__create_buffer(asmshader_in,YY_BUF_SIZE ); \ + yy_create_buffer( yyin, YY_BUF_SIZE ); \ } \ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ } - #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
/* Begin user sect3 */
-#define asmshader_wrap(n) 1 +#define asmshader_wrap() (/*CONSTCOND*/1) #define YY_SKIP_YYWRAP +typedef flex_uint8_t YY_CHAR;
-typedef unsigned char YY_CHAR; - -FILE *asmshader_in = (FILE *) 0, *asmshader_out = (FILE *) 0; +FILE *yyin = NULL, *yyout = NULL;
typedef int yy_state_type;
-extern int asmshader_lineno; +extern int yylineno; +int yylineno = 1;
-int asmshader_lineno = 1; - -extern char *asmshader_text; -#define yytext_ptr asmshader_text +extern char *yytext; +#ifdef yytext_ptr +#undef yytext_ptr +#endif +#define yytext_ptr yytext
-static yy_state_type yy_get_previous_state (void ); -static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); -static int yy_get_next_buffer (void ); -static void yy_fatal_error (yyconst char msg[] ); +static yy_state_type yy_get_previous_state ( void ); +static yy_state_type yy_try_NUL_trans ( yy_state_type current_state ); +static int yy_get_next_buffer ( void ); +static void yynoreturn yy_fatal_error ( const char* msg );
/* Done after the current pattern has been matched and before the - * corresponding action - sets up asmshader_text. + * corresponding action - sets up yytext. */ #define YY_DO_BEFORE_ACTION \ (yytext_ptr) = yy_bp; \ - asmshader_leng = (size_t) (yy_cp - yy_bp); \ + yyleng = (int) (yy_cp - yy_bp); \ (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; - #define YY_NUM_RULES 174 #define YY_END_OF_BUFFER 175 /* This struct is not used in this scanner, @@ -400,7 +623,7 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[481] = +static const flex_int16_t yy_accept[481] = { 0, 0, 0, 175, 173, 171, 172, 173, 149, 173, 141, 142, 143, 139, 140, 119, 173, 136, 170, 173, 120, @@ -456,7 +679,7 @@ static yyconst flex_int16_t yy_accept[481] = 0, 0, 151, 158, 74, 71, 152, 151, 152, 0 } ;
-static yyconst flex_int32_t yy_ec[256] = +static const YY_CHAR yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, @@ -488,7 +711,7 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1 } ;
-static yyconst flex_int32_t yy_meta[56] = +static const YY_CHAR yy_meta[56] = { 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 4, 4, 4, 4, 4, 4, 4, @@ -498,7 +721,7 @@ static yyconst flex_int32_t yy_meta[56] = 1, 1, 1, 1, 1 } ;
-static yyconst flex_int16_t yy_base[491] = +static const flex_int16_t yy_base[491] = { 0, 0, 0, 889, 890, 886, 890, 884, 890, 883, 890, 890, 890, 890, 44, 51, 872, 45, 0, 67, 59, @@ -555,7 +778,7 @@ static yyconst flex_int16_t yy_base[491] = 635, 645, 649, 658, 666, 674, 682, 691, 699, 711 } ;
-static yyconst flex_int16_t yy_def[491] = +static const flex_int16_t yy_def[491] = { 0, 480, 1, 480, 480, 480, 480, 480, 480, 481, 480, 480, 480, 480, 480, 480, 480, 482, 483, 480, 480, @@ -612,7 +835,7 @@ static yyconst flex_int16_t yy_def[491] = 480, 480, 480, 480, 480, 480, 480, 480, 480, 480 } ;
-static yyconst flex_int16_t yy_nxt[946] = +static const flex_int16_t yy_nxt[946] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 17, 17, 17, 17, 17, 17, @@ -720,7 +943,7 @@ static yyconst flex_int16_t yy_nxt[946] = 480, 480, 480, 480, 480 } ;
-static yyconst flex_int16_t yy_chk[946] = +static const flex_int16_t yy_chk[946] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -831,8 +1054,8 @@ static yyconst flex_int16_t yy_chk[946] = static yy_state_type yy_last_accepting_state; static char *yy_last_accepting_cpos;
-extern int asmshader__flex_debug; -int asmshader__flex_debug = 0; +extern int yy_flex_debug; +int yy_flex_debug = 0;
/* The intent behind this definition is that it'll catch * any uses of REJECT which flex missed. @@ -841,7 +1064,7 @@ int asmshader__flex_debug = 0; #define yymore() yymore_used_but_not_detected #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET -char *asmshader_text; +char *yytext; #line 1 "asmshader.l" /* * Direct3D shader assembler @@ -864,14 +1087,13 @@ char *asmshader_text; * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ #line 23 "asmshader.l" -#include "config.h" -#include "wine/port.h" #include "wine/debug.h"
#include "d3dcompiler_private.h" #include "asmshader.tab.h"
WINE_DEFAULT_DEBUG_CHANNEL(asmshader); +#line 1096 "asmshader.yy.c" #define YY_NO_INPUT 1 /* Swizzles and writemasks consist of a dot and up to 4 x, y, z or w characters, * or up to 4 a, r, g, b characters. There are different rules for swizzles and @@ -882,7 +1104,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(asmshader); /* Not really a register, but it is considered as such */ /* Comments */ /* Whitespaces are spaces, tabs and newlines */ -#line 886 "asmshader.yy.c" +#line 1107 "asmshader.yy.c"
#define INITIAL 0
@@ -893,41 +1115,41 @@ WINE_DEFAULT_DEBUG_CHANNEL(asmshader); */ #include <unistd.h> #endif - + #ifndef YY_EXTRA_TYPE #define YY_EXTRA_TYPE void * #endif
-static int yy_init_globals (void ); +static int yy_init_globals ( void );
/* Accessor methods to globals. These are made visible to non-reentrant scanners for convenience. */
-int asmshader_lex_destroy (void ); +int yylex_destroy ( void );
-int asmshader_get_debug (void ); +int yyget_debug ( void );
-void asmshader_set_debug (int debug_flag ); +void yyset_debug ( int debug_flag );
-YY_EXTRA_TYPE asmshader_get_extra (void ); +YY_EXTRA_TYPE yyget_extra ( void );
-void asmshader_set_extra (YY_EXTRA_TYPE user_defined ); +void yyset_extra ( YY_EXTRA_TYPE user_defined );
-FILE *asmshader_get_in (void ); +FILE *yyget_in ( void );
-void asmshader_set_in (FILE * in_str ); +void yyset_in ( FILE * _in_str );
-FILE *asmshader_get_out (void ); +FILE *yyget_out ( void );
-void asmshader_set_out (FILE * out_str ); +void yyset_out ( FILE * _out_str );
-int asmshader_get_leng (void ); + int yyget_leng ( void );
-char *asmshader_get_text (void ); +char *yyget_text ( void );
-int asmshader_get_lineno (void ); +int yyget_lineno ( void );
-void asmshader_set_lineno (int line_number ); +void yyset_lineno ( int _line_number );
/* Macros after this point can all be overridden by user definitions in * section 1. @@ -935,26 +1157,29 @@ void asmshader_set_lineno (int line_number );
#ifndef YY_SKIP_YYWRAP #ifdef __cplusplus -extern "C" int asmshader_wrap (void ); +extern "C" int yywrap ( void ); #else -extern int asmshader_wrap (void ); +extern int yywrap ( void ); #endif #endif
+#ifndef YY_NO_UNPUT + +#endif + #ifndef yytext_ptr -static void yy_flex_strncpy (char *,yyconst char *,int ); +static void yy_flex_strncpy ( char *, const char *, int ); #endif
#ifdef YY_NEED_STRLEN -static int yy_flex_strlen (yyconst char * ); +static int yy_flex_strlen ( const char * ); #endif
#ifndef YY_NO_INPUT - #ifdef __cplusplus -static int yyinput (void ); +static int yyinput ( void ); #else -static int input (void ); +static int input ( void ); #endif
#endif @@ -974,7 +1199,7 @@ static int input (void ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( asmshader_text, asmshader_leng, 1, asmshader_out )) {} } while (0) +#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0) #endif
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -985,20 +1210,20 @@ static int input (void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - size_t n; \ + int n; \ for ( n = 0; n < max_size && \ - (c = getc( asmshader_in )) != EOF && c != '\n'; ++n ) \ + (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ if ( c == '\n' ) \ buf[n++] = (char) c; \ - if ( c == EOF && ferror( asmshader_in ) ) \ + if ( c == EOF && ferror( yyin ) ) \ YY_FATAL_ERROR( "input in flex scanner failed" ); \ result = n; \ } \ else \ { \ errno=0; \ - while ( (result = fread(buf, 1, max_size, asmshader_in))==0 && ferror(asmshader_in)) \ + while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \ { \ if( errno != EINTR) \ { \ @@ -1006,7 +1231,7 @@ static int input (void ); break; \ } \ errno=0; \ - clearerr(asmshader_in); \ + clearerr(yyin); \ } \ }\ \ @@ -1039,12 +1264,12 @@ static int input (void ); #ifndef YY_DECL #define YY_DECL_IS_OURS 1
-extern int asmshader_lex (void); +extern int yylex (void);
-#define YY_DECL int asmshader_lex (void) +#define YY_DECL int yylex (void) #endif /* !YY_DECL */
-/* Code executed at the beginning of each rule, after asmshader_text and asmshader_leng +/* Code executed at the beginning of each rule, after yytext and yyleng * have been set up. */ #ifndef YY_USER_ACTION @@ -1053,7 +1278,7 @@ extern int asmshader_lex (void);
/* Code executed at the end of each rule. */ #ifndef YY_BREAK -#define YY_BREAK break; +#define YY_BREAK /*LINTED*/break; #endif
#define YY_RULE_SETUP \ @@ -1063,16 +1288,10 @@ extern int asmshader_lex (void); */ YY_DECL { - register yy_state_type yy_current_state; - register char *yy_cp, *yy_bp; - register int yy_act; + yy_state_type yy_current_state; + char *yy_cp, *yy_bp; + int yy_act;
-#line 105 "asmshader.l" - - - /* Common instructions(vertex and pixel shaders) */ -#line 1075 "asmshader.yy.c" - if ( !(yy_init) ) { (yy_init) = 1; @@ -1084,26 +1303,34 @@ YY_DECL if ( ! (yy_start) ) (yy_start) = 1; /* first start state */
- if ( ! asmshader_in ) - asmshader_in = stdin; + if ( ! yyin ) + yyin = stdin;
- if ( ! asmshader_out ) - asmshader_out = stdout; + if ( ! yyout ) + yyout = stdout;
if ( ! YY_CURRENT_BUFFER ) { - asmshader_ensure_buffer_stack (); + yyensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = - asmshader__create_buffer(asmshader_in,YY_BUF_SIZE ); + yy_create_buffer( yyin, YY_BUF_SIZE ); }
- asmshader__load_buffer_state( ); + yy_load_buffer_state( ); }
- while ( 1 ) /* loops until end-of-file is reached */ + { +#line 103 "asmshader.l" + + +#line 106 "asmshader.l" + /* Common instructions(vertex and pixel shaders) */ +#line 1327 "asmshader.yy.c" + + while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { yy_cp = (yy_c_buf_p);
- /* Support of asmshader_text. */ + /* Support of yytext. */ *yy_cp = (yy_hold_char);
/* yy_bp points to the position in yy_ch_buf of the start of @@ -1115,7 +1342,7 @@ YY_DECL yy_match: do { - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; + YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ; if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; @@ -1125,9 +1352,9 @@ yy_match: { yy_current_state = (int) yy_def[yy_current_state]; if ( yy_current_state >= 481 ) - yy_c = yy_meta[(unsigned int) yy_c]; + yy_c = yy_meta[yy_c]; } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } while ( yy_current_state != 480 ); @@ -1152,564 +1379,564 @@ do_action: /* This label is used only to access EOF actions. */
case 1: YY_RULE_SETUP -#line 108 "asmshader.l" +#line 107 "asmshader.l" {return INSTR_ADD; } YY_BREAK case 2: YY_RULE_SETUP -#line 109 "asmshader.l" +#line 108 "asmshader.l" {return INSTR_NOP; } YY_BREAK case 3: YY_RULE_SETUP -#line 110 "asmshader.l" +#line 109 "asmshader.l" {return INSTR_MOV; } YY_BREAK case 4: YY_RULE_SETUP -#line 111 "asmshader.l" +#line 110 "asmshader.l" {return INSTR_SUB; } YY_BREAK case 5: YY_RULE_SETUP -#line 112 "asmshader.l" +#line 111 "asmshader.l" {return INSTR_MAD; } YY_BREAK case 6: YY_RULE_SETUP -#line 113 "asmshader.l" +#line 112 "asmshader.l" {return INSTR_MUL; } YY_BREAK case 7: YY_RULE_SETUP -#line 114 "asmshader.l" +#line 113 "asmshader.l" {return INSTR_RCP; } YY_BREAK case 8: YY_RULE_SETUP -#line 115 "asmshader.l" +#line 114 "asmshader.l" {return INSTR_RSQ; } YY_BREAK case 9: YY_RULE_SETUP -#line 116 "asmshader.l" +#line 115 "asmshader.l" {return INSTR_DP3; } YY_BREAK case 10: YY_RULE_SETUP -#line 117 "asmshader.l" +#line 116 "asmshader.l" {return INSTR_DP4; } YY_BREAK case 11: YY_RULE_SETUP -#line 118 "asmshader.l" +#line 117 "asmshader.l" {return INSTR_MIN; } YY_BREAK case 12: YY_RULE_SETUP -#line 119 "asmshader.l" +#line 118 "asmshader.l" {return INSTR_MAX; } YY_BREAK case 13: YY_RULE_SETUP -#line 120 "asmshader.l" +#line 119 "asmshader.l" {return INSTR_SLT; } YY_BREAK case 14: YY_RULE_SETUP -#line 121 "asmshader.l" +#line 120 "asmshader.l" {return INSTR_SGE; } YY_BREAK case 15: YY_RULE_SETUP -#line 122 "asmshader.l" +#line 121 "asmshader.l" {return INSTR_ABS; } YY_BREAK case 16: YY_RULE_SETUP -#line 123 "asmshader.l" +#line 122 "asmshader.l" {return INSTR_EXP; } YY_BREAK case 17: YY_RULE_SETUP -#line 124 "asmshader.l" +#line 123 "asmshader.l" {return INSTR_LOG; } YY_BREAK case 18: YY_RULE_SETUP -#line 125 "asmshader.l" +#line 124 "asmshader.l" {return INSTR_EXPP; } YY_BREAK case 19: YY_RULE_SETUP -#line 126 "asmshader.l" +#line 125 "asmshader.l" {return INSTR_LOGP; } YY_BREAK case 20: YY_RULE_SETUP -#line 127 "asmshader.l" +#line 126 "asmshader.l" {return INSTR_DST; } YY_BREAK case 21: YY_RULE_SETUP -#line 128 "asmshader.l" +#line 127 "asmshader.l" {return INSTR_LRP; } YY_BREAK case 22: YY_RULE_SETUP -#line 129 "asmshader.l" +#line 128 "asmshader.l" {return INSTR_FRC; } YY_BREAK case 23: YY_RULE_SETUP -#line 130 "asmshader.l" +#line 129 "asmshader.l" {return INSTR_POW; } YY_BREAK case 24: YY_RULE_SETUP -#line 131 "asmshader.l" +#line 130 "asmshader.l" {return INSTR_CRS; } YY_BREAK case 25: YY_RULE_SETUP -#line 132 "asmshader.l" +#line 131 "asmshader.l" {return INSTR_SGN; } YY_BREAK case 26: YY_RULE_SETUP -#line 133 "asmshader.l" +#line 132 "asmshader.l" {return INSTR_NRM; } YY_BREAK case 27: YY_RULE_SETUP -#line 134 "asmshader.l" +#line 133 "asmshader.l" {return INSTR_SINCOS; } YY_BREAK case 28: YY_RULE_SETUP -#line 135 "asmshader.l" +#line 134 "asmshader.l" {return INSTR_M4x4; } YY_BREAK case 29: YY_RULE_SETUP -#line 136 "asmshader.l" +#line 135 "asmshader.l" {return INSTR_M4x3; } YY_BREAK case 30: YY_RULE_SETUP -#line 137 "asmshader.l" +#line 136 "asmshader.l" {return INSTR_M3x4; } YY_BREAK case 31: YY_RULE_SETUP -#line 138 "asmshader.l" +#line 137 "asmshader.l" {return INSTR_M3x3; } YY_BREAK case 32: YY_RULE_SETUP -#line 139 "asmshader.l" +#line 138 "asmshader.l" {return INSTR_M3x2; } YY_BREAK case 33: YY_RULE_SETUP -#line 140 "asmshader.l" +#line 139 "asmshader.l" {return INSTR_DCL; } YY_BREAK case 34: YY_RULE_SETUP -#line 141 "asmshader.l" +#line 140 "asmshader.l" {return INSTR_DEF; } YY_BREAK case 35: YY_RULE_SETUP -#line 142 "asmshader.l" +#line 141 "asmshader.l" {return INSTR_DEFB; } YY_BREAK case 36: YY_RULE_SETUP -#line 143 "asmshader.l" +#line 142 "asmshader.l" {return INSTR_DEFI; } YY_BREAK case 37: YY_RULE_SETUP -#line 144 "asmshader.l" +#line 143 "asmshader.l" {return INSTR_REP; } YY_BREAK case 38: YY_RULE_SETUP -#line 145 "asmshader.l" +#line 144 "asmshader.l" {return INSTR_ENDREP; } YY_BREAK case 39: YY_RULE_SETUP -#line 146 "asmshader.l" +#line 145 "asmshader.l" {return INSTR_IF; } YY_BREAK case 40: YY_RULE_SETUP -#line 147 "asmshader.l" +#line 146 "asmshader.l" {return INSTR_ELSE; } YY_BREAK case 41: YY_RULE_SETUP -#line 148 "asmshader.l" +#line 147 "asmshader.l" {return INSTR_ENDIF; } YY_BREAK case 42: YY_RULE_SETUP -#line 149 "asmshader.l" +#line 148 "asmshader.l" {return INSTR_BREAK; } YY_BREAK case 43: YY_RULE_SETUP -#line 150 "asmshader.l" +#line 149 "asmshader.l" {return INSTR_BREAKP; } YY_BREAK case 44: YY_RULE_SETUP -#line 151 "asmshader.l" +#line 150 "asmshader.l" {return INSTR_CALL; } YY_BREAK case 45: YY_RULE_SETUP -#line 152 "asmshader.l" +#line 151 "asmshader.l" {return INSTR_CALLNZ; } YY_BREAK case 46: YY_RULE_SETUP -#line 153 "asmshader.l" +#line 152 "asmshader.l" {return INSTR_LOOP; } YY_BREAK case 47: YY_RULE_SETUP -#line 154 "asmshader.l" +#line 153 "asmshader.l" {return INSTR_RET; } YY_BREAK case 48: YY_RULE_SETUP -#line 155 "asmshader.l" +#line 154 "asmshader.l" {return INSTR_ENDLOOP; } YY_BREAK case 49: YY_RULE_SETUP -#line 156 "asmshader.l" +#line 155 "asmshader.l" {return INSTR_LABEL; } YY_BREAK case 50: YY_RULE_SETUP -#line 157 "asmshader.l" +#line 156 "asmshader.l" {return INSTR_SETP; } YY_BREAK case 51: YY_RULE_SETUP -#line 158 "asmshader.l" +#line 157 "asmshader.l" {return INSTR_TEXLDL; } YY_BREAK /* Vertex shader only instructions */ case 52: YY_RULE_SETUP -#line 161 "asmshader.l" +#line 160 "asmshader.l" {return INSTR_LIT; } YY_BREAK case 53: YY_RULE_SETUP -#line 162 "asmshader.l" +#line 161 "asmshader.l" {return INSTR_MOVA; } YY_BREAK /* Pixel shader only instructions */ case 54: YY_RULE_SETUP -#line 165 "asmshader.l" +#line 164 "asmshader.l" {return INSTR_CND; } YY_BREAK case 55: YY_RULE_SETUP -#line 166 "asmshader.l" +#line 165 "asmshader.l" {return INSTR_CMP; } YY_BREAK case 56: YY_RULE_SETUP -#line 167 "asmshader.l" +#line 166 "asmshader.l" {return INSTR_DP2ADD; } YY_BREAK case 57: YY_RULE_SETUP -#line 168 "asmshader.l" +#line 167 "asmshader.l" {return INSTR_TEXCOORD; } YY_BREAK case 58: YY_RULE_SETUP -#line 169 "asmshader.l" +#line 168 "asmshader.l" {return INSTR_TEXCRD; } YY_BREAK case 59: YY_RULE_SETUP -#line 170 "asmshader.l" +#line 169 "asmshader.l" {return INSTR_TEXKILL; } YY_BREAK case 60: YY_RULE_SETUP -#line 171 "asmshader.l" +#line 170 "asmshader.l" {return INSTR_TEX; } YY_BREAK case 61: YY_RULE_SETUP -#line 172 "asmshader.l" +#line 171 "asmshader.l" {return INSTR_TEXLD; } YY_BREAK case 62: YY_RULE_SETUP -#line 173 "asmshader.l" +#line 172 "asmshader.l" {return INSTR_TEXBEM; } YY_BREAK case 63: YY_RULE_SETUP -#line 174 "asmshader.l" +#line 173 "asmshader.l" {return INSTR_TEXBEML; } YY_BREAK case 64: YY_RULE_SETUP -#line 175 "asmshader.l" +#line 174 "asmshader.l" {return INSTR_TEXREG2AR; } YY_BREAK case 65: YY_RULE_SETUP -#line 176 "asmshader.l" +#line 175 "asmshader.l" {return INSTR_TEXREG2GB; } YY_BREAK case 66: YY_RULE_SETUP -#line 177 "asmshader.l" +#line 176 "asmshader.l" {return INSTR_TEXREG2RGB; } YY_BREAK case 67: YY_RULE_SETUP -#line 178 "asmshader.l" +#line 177 "asmshader.l" {return INSTR_TEXM3x2PAD; } YY_BREAK case 68: YY_RULE_SETUP -#line 179 "asmshader.l" +#line 178 "asmshader.l" {return INSTR_TEXM3x2TEX; } YY_BREAK case 69: YY_RULE_SETUP -#line 180 "asmshader.l" +#line 179 "asmshader.l" {return INSTR_TEXM3x3PAD; } YY_BREAK case 70: YY_RULE_SETUP -#line 181 "asmshader.l" +#line 180 "asmshader.l" {return INSTR_TEXM3x3SPEC; } YY_BREAK case 71: YY_RULE_SETUP -#line 182 "asmshader.l" +#line 181 "asmshader.l" {return INSTR_TEXM3x3VSPEC; } YY_BREAK case 72: YY_RULE_SETUP -#line 183 "asmshader.l" +#line 182 "asmshader.l" {return INSTR_TEXM3x3TEX; } YY_BREAK case 73: YY_RULE_SETUP -#line 184 "asmshader.l" +#line 183 "asmshader.l" {return INSTR_TEXDP3TEX; } YY_BREAK case 74: YY_RULE_SETUP -#line 185 "asmshader.l" +#line 184 "asmshader.l" {return INSTR_TEXM3x2DEPTH; } YY_BREAK case 75: YY_RULE_SETUP -#line 186 "asmshader.l" +#line 185 "asmshader.l" {return INSTR_TEXDP3; } YY_BREAK case 76: YY_RULE_SETUP -#line 187 "asmshader.l" +#line 186 "asmshader.l" {return INSTR_TEXM3x3; } YY_BREAK case 77: YY_RULE_SETUP -#line 188 "asmshader.l" +#line 187 "asmshader.l" {return INSTR_TEXDEPTH; } YY_BREAK case 78: YY_RULE_SETUP -#line 189 "asmshader.l" +#line 188 "asmshader.l" {return INSTR_BEM; } YY_BREAK case 79: YY_RULE_SETUP -#line 190 "asmshader.l" +#line 189 "asmshader.l" {return INSTR_DSX; } YY_BREAK case 80: YY_RULE_SETUP -#line 191 "asmshader.l" +#line 190 "asmshader.l" {return INSTR_DSY; } YY_BREAK case 81: YY_RULE_SETUP -#line 192 "asmshader.l" +#line 191 "asmshader.l" {return INSTR_TEXLDP; } YY_BREAK case 82: YY_RULE_SETUP -#line 193 "asmshader.l" +#line 192 "asmshader.l" {return INSTR_TEXLDB; } YY_BREAK case 83: YY_RULE_SETUP -#line 194 "asmshader.l" +#line 193 "asmshader.l" {return INSTR_TEXLDD; } YY_BREAK case 84: YY_RULE_SETUP -#line 195 "asmshader.l" +#line 194 "asmshader.l" {return INSTR_PHASE; } YY_BREAK case 85: YY_RULE_SETUP -#line 197 "asmshader.l" +#line 196 "asmshader.l" { - asmshader_lval.regnum = atoi(asmshader_text + 1); + asmshader_lval.regnum = atoi(yytext + 1); return REG_TEMP; } YY_BREAK case 86: YY_RULE_SETUP -#line 201 "asmshader.l" +#line 200 "asmshader.l" { - asmshader_lval.regnum = atoi(asmshader_text + 1); + asmshader_lval.regnum = atoi(yytext + 1); return REG_OUTPUT; } YY_BREAK case 87: YY_RULE_SETUP -#line 205 "asmshader.l" +#line 204 "asmshader.l" { - asmshader_lval.regnum = atoi(asmshader_text + 1); + asmshader_lval.regnum = atoi(yytext + 1); return REG_INPUT; } YY_BREAK case 88: YY_RULE_SETUP -#line 209 "asmshader.l" +#line 208 "asmshader.l" { - asmshader_lval.regnum = atoi(asmshader_text + 1); + asmshader_lval.regnum = atoi(yytext + 1); return REG_CONSTFLOAT; } YY_BREAK case 89: YY_RULE_SETUP -#line 213 "asmshader.l" +#line 212 "asmshader.l" { - asmshader_lval.regnum = atoi(asmshader_text + 1); + asmshader_lval.regnum = atoi(yytext + 1); return REG_CONSTINT; } YY_BREAK case 90: YY_RULE_SETUP -#line 217 "asmshader.l" +#line 216 "asmshader.l" { - asmshader_lval.regnum = atoi(asmshader_text + 1); + asmshader_lval.regnum = atoi(yytext + 1); return REG_CONSTBOOL; } YY_BREAK case 91: YY_RULE_SETUP -#line 221 "asmshader.l" +#line 220 "asmshader.l" { - asmshader_lval.regnum = atoi(asmshader_text + 1); + asmshader_lval.regnum = atoi(yytext + 1); return REG_TEXTURE; } YY_BREAK case 92: YY_RULE_SETUP -#line 225 "asmshader.l" +#line 224 "asmshader.l" { - asmshader_lval.regnum = atoi(asmshader_text + 2); + asmshader_lval.regnum = atoi(yytext + 2); return REG_TEXCRDOUT; } YY_BREAK case 93: YY_RULE_SETUP -#line 229 "asmshader.l" +#line 228 "asmshader.l" { - asmshader_lval.regnum = atoi(asmshader_text + 1); + asmshader_lval.regnum = atoi(yytext + 1); return REG_SAMPLER; } YY_BREAK case 94: YY_RULE_SETUP -#line 233 "asmshader.l" +#line 232 "asmshader.l" {return REG_OPOS; } YY_BREAK case 95: YY_RULE_SETUP -#line 234 "asmshader.l" +#line 233 "asmshader.l" {return REG_OFOG; } YY_BREAK case 96: YY_RULE_SETUP -#line 235 "asmshader.l" +#line 234 "asmshader.l" {return REG_OPTS; } YY_BREAK case 97: YY_RULE_SETUP -#line 236 "asmshader.l" +#line 235 "asmshader.l" { - asmshader_lval.regnum = atoi(asmshader_text + 2); + asmshader_lval.regnum = atoi(yytext + 2); return REG_VERTEXCOLOR; } YY_BREAK case 98: YY_RULE_SETUP -#line 240 "asmshader.l" +#line 239 "asmshader.l" { - asmshader_lval.regnum = atoi(asmshader_text + 2); + asmshader_lval.regnum = atoi(yytext + 2); return REG_FRAGCOLOR; } YY_BREAK case 99: YY_RULE_SETUP -#line 244 "asmshader.l" +#line 243 "asmshader.l" {return REG_FRAGDEPTH; } YY_BREAK case 100: YY_RULE_SETUP -#line 245 "asmshader.l" +#line 244 "asmshader.l" {return REG_VPOS; } YY_BREAK case 101: YY_RULE_SETUP -#line 246 "asmshader.l" +#line 245 "asmshader.l" {return REG_VFACE; } YY_BREAK case 102: YY_RULE_SETUP -#line 247 "asmshader.l" +#line 246 "asmshader.l" {return REG_ADDRESS; } YY_BREAK case 103: YY_RULE_SETUP ... 22939 lines suppressed ...