https://git.reactos.org/?p=reactos.git;a=commitdiff;h=dffb99c172d74986c9cbc…
commit dffb99c172d74986c9cbcd2ce42d73b822c5bcd9
Author: Amine Khaldi <amine.khaldi(a)reactos.org>
AuthorDate: Sat Oct 26 13:00:33 2019 +0100
Commit: Amine Khaldi <amine.khaldi(a)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 ...