Zebediah Figura
49f64d05f3
d3dcompiler: Don't pass a writemask to make_assignment().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-12 21:18:18 +01:00
Zebediah Figura
0e95c3faa2
d3dcompiler: Parse array types.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-12 21:18:18 +01:00
Zebediah Figura
eb63713f60
d3dcompiler: Pass a struct source_location to create_loop().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-06 22:47:35 +01:00
Zebediah Figura
55a3fb90d0
d3dcompiler: Pass a struct source_location to check_invalid_matrix_modifiers().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-06 22:47:32 +01:00
Zebediah Figura
0d47e9bde4
d3dcompiler: Clarify error messages related to misplaced type modifiers.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-06 22:47:30 +01:00
Zebediah Figura
3048fb9064
d3dcompiler: Pass a struct source_location to add_func_parameter().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-06 22:47:27 +01:00
Zebediah Figura
eef3e3dacd
d3dcompiler: Pass a struct source_location to hlsl_report_message().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-06 22:47:25 +01:00
Zebediah Figura
77fe277a62
d3dcompiler: Return a struct source_location from set_location().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-06 22:47:22 +01:00
Zebediah Figura
1947f7fb80
d3dcompiler: Don't set the node type for return instructions.
...
Essentially just because it doesn't make sense to do so; a return instruction
is not an expression usable as a source to other instructions.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-03 14:20:26 +01:00
Zebediah Figura
09b2e42e92
d3dcompiler: Verify a returned value against the function's type and cast it if necessary.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-03 14:20:25 +01:00
Zebediah Figura
e597b9e555
d3dcompiler: Parse return statements without a value.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-03 14:20:25 +01:00
Matteo Bruni
4e8ec8a6e0
d3dcompiler: Free variable definitions data on allocation errors.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-16 21:23:13 +01:00
Zebediah Figura
0778e81787
d3dcompiler: Parse the comma operator.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-16 20:48:30 +01:00
Zebediah Figura
c5aa0feec7
d3dcompiler: Return an instruction list instead of a single instruction from nodes representing expressions.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-16 20:48:22 +01:00
Zebediah Figura
bf31a900d1
d3dcompiler: Get rid of the "node" field from struct hlsl_ir_var.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-14 17:41:01 +02:00
Zebediah Figura
32fd9ff479
d3dcompiler: Get rid of the "node" field from struct hlsl_ir_function_decl.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-14 17:41:01 +02:00
Zebediah Figura
cf5ccf29a9
d3dcompiler: Introduce a new_binary_expr() helper.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 01:26:41 +02:00
Zebediah Figura
b899965615
d3dcompiler: Introduce a new_unary_expr() helper.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 01:26:41 +02:00
Zebediah Figura
fbc9ff506c
d3dcompiler: Parse initializer lists using a variable-size array.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 01:26:41 +02:00
Zebediah Figura
cfa7f3a3f5
d3dcompiler: Use the documented YYABORT macro.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-13 01:26:41 +02:00
Zebediah Figura
79b7828894
d3dcompiler: Remove redundant components_count_expr_list() function.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-09 20:38:30 +02:00
Zebediah Figura
c22f64bceb
d3dcompiler: Store the arguments to a hlsl_ir_constructor as a fixed array.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-09 20:38:28 +02:00
Zebediah Figura
f9f1e99099
d3dcompiler: Get rid of the superfluous "variable" rule.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-09 20:38:26 +02:00
Alexandre Julliard
43df1ed406
d3dcompiler: Make varargs functions WINAPIV.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47473
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-07 08:02:55 +02:00
Alexandre Julliard
c8d34ef088
d3dcompiler: Build with msvcrt.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-02 14:59:40 +02:00
Alexandre Julliard
2d27c13d5e
d3dcompiler: Use %define parse.error verbose instead of %error-verbose.
...
The latter is deprecated and causes warnings.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-23 23:50:45 +02:00
Zebediah Figura
63d6dce047
d3dcompiler: Fix a buffer size computation.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-09 21:05:28 +02:00
Matteo Bruni
bd7e83f292
d3dcompiler: Parse ": register()" syntax.
2015-06-19 19:11:03 +09:00
Henri Verbeet
307cf703af
d3dcompiler: Free the filename if we don't store it in the HLSL preproc_directive rule (Valgrind).
2015-05-01 15:17:08 +09:00
Matteo Bruni
c37714342e
d3dcompiler: add_func_parameter is only used in hlsl.y.
2014-05-02 17:15:09 +02:00
Matteo Bruni
d25486fba4
d3dcompiler: Pre/post increment/decrement operators are unary.
2014-05-02 17:15:05 +02:00
Matteo Bruni
89cac9c20d
d3dcompiler: Remove a couple of noisy traces.
2014-05-02 17:15:02 +02:00
Henri Verbeet
ffc01ec648
d3dcompiler: Make some string arrays const.
2014-05-02 13:45:43 +02:00
Matteo Bruni
f6b22a7570
d3dcompiler: Put data type name of constants on the heap.
2012-11-09 16:43:12 +01:00
Matteo Bruni
feda13db33
d3dcompiler: Skip stray semicolons outside of functions.
2012-11-09 16:43:09 +01:00
Matteo Bruni
0d2a27af40
d3dcompiler: Allow a comma at the end of an initializer.
2012-11-09 16:43:05 +01:00
Matteo Bruni
69922c671a
d3dcompiler: Add some checks to function definitions.
2012-10-11 21:24:34 +02:00
Matteo Bruni
6897f9aa35
d3dcompiler: Properly support function overloads.
2012-10-11 21:24:34 +02:00
Matteo Bruni
deb00c9460
d3dcompiler: Allow multiple input/output modifiers.
2012-10-11 21:24:34 +02:00
Matteo Bruni
1f876a670e
d3dcompiler: Don't raise a warning for an uninitialized uniform.
2012-10-10 20:34:14 +02:00
Matteo Bruni
f4eccde66d
d3dcompiler: Fix "for" syntax.
2012-10-10 20:34:13 +02:00
Matteo Bruni
b1594dabcc
d3dcompiler: Parse array indexing expressions.
2012-09-28 17:53:10 +02:00
Matteo Bruni
f50007b856
d3dcompiler: Parse struct typedefs.
2012-09-28 17:53:03 +02:00
Matteo Bruni
6b2ecb509a
d3dcompiler: Parse struct dereferences.
2012-09-28 17:52:58 +02:00
Matteo Bruni
f10e0d4e9e
d3dcompiler: Fix freeing function.
2012-09-28 17:52:52 +02:00
Matteo Bruni
16360a4f18
d3dcompiler: Handle simple struct initializers.
2012-09-27 13:09:05 +02:00
Matteo Bruni
97a170d2d1
d3dcompiler: Parse structure declarations.
2012-09-27 13:08:45 +02:00
Matteo Bruni
4019a3deb6
d3dcompiler: Move variables declaration to a separate function.
2012-09-27 13:08:38 +02:00
Matteo Bruni
778e98c19e
d3dcompiler: Parse "for" loops with declarations.
2012-09-21 18:29:27 +02:00
Matteo Bruni
6e4617c14a
d3dcompiler: Parse "for" loops without variable declarations.
2012-09-21 18:29:27 +02:00
Matteo Bruni
2b7ad731a4
d3dcompiler: Parse "do-while" loop.
2012-09-21 18:29:27 +02:00
Matteo Bruni
5fc67931b8
d3dcompiler: Parse "while" loops.
2012-09-21 18:29:26 +02:00
Matteo Bruni
76525af7f1
d3dcompiler: Allow casts to arrays.
2012-09-21 18:29:26 +02:00
Francois Gouget
e4ca67f7aa
d3dcompiler_43: Make add_type_to_scope() static.
2012-09-20 00:00:25 +02:00
Matteo Bruni
ca701b7d69
d3dcompiler: Parse casts.
2012-09-19 23:54:25 +02:00
Matteo Bruni
46e368934e
d3dcompiler: Support simple variable initializers.
2012-09-19 23:54:21 +02:00
Matteo Bruni
d9c247f2ae
d3dcompiler: Parse "typedef" statement.
2012-09-19 23:54:18 +02:00
Matteo Bruni
8f60f8f34b
d3dcompiler: Store data types in a RB tree for faster search.
2012-09-19 23:54:07 +02:00
Matteo Bruni
79c6ce0a0f
d3dcompiler: Parse "if/else" statement.
2012-09-19 23:54:04 +02:00
Matteo Bruni
ae11ba0b23
d3dcompiler: Parse "return" statement.
2012-09-18 19:05:44 +02:00
Matteo Bruni
e7a9218ef1
d3dcompiler: Declare predefined data types.
2012-09-18 19:05:22 +02:00
Matteo Bruni
237558f649
d3dcompiler: Postincrement/decrement expressions are const.
...
Also check for const expressions used as l-values.
2012-09-17 18:31:58 +02:00
Matteo Bruni
7cce71a0c3
d3dcompiler: Parse swizzles.
2012-09-17 18:31:48 +02:00
Matteo Bruni
1a36da15af
d3dcompiler: Parse assignments.
2012-07-20 21:30:07 +02:00
Matteo Bruni
6ccbccbb29
d3dcompiler: Stub assignment parsing.
2012-07-20 21:30:07 +02:00
Matteo Bruni
fbb7e20ffd
d3dcompiler: "void" is not a plain scalar data type.
...
It can't be used in expressions and the like. This change indirectly
takes care of most of the checks.
2012-07-20 21:30:06 +02:00
Matteo Bruni
f2b5f71218
d3dcompiler: Parse unary and prefix operators.
2012-07-20 21:30:06 +02:00
Matteo Bruni
e851bf211e
d3dcompiler: Parse some postfix operators.
2012-07-20 21:30:05 +02:00
Matteo Bruni
6c92d78c8c
d3dcompiler: Parse relational operators, stub out more rules.
2012-07-18 17:15:24 +02:00
Matteo Bruni
57a7479f77
d3dcompiler: Parse multiplicative expressions.
2012-07-18 17:15:24 +02:00
Matteo Bruni
7293c1c0fe
d3dcompiler: Don't allow semantics on local variables.
2012-07-18 17:15:23 +02:00
Matteo Bruni
110045816c
d3dcompiler: Don't allow const variables without initializers.
2012-07-18 17:15:23 +02:00
Matteo Bruni
c9a42ca5fc
d3dcompiler: Check for invalid matrix majority modifiers.
2012-07-18 17:15:23 +02:00
Matteo Bruni
27880abb97
d3dcompiler: Implement basic expressions parsing.
2012-07-17 11:55:20 +02:00
Matteo Bruni
604a91eb57
d3dcompiler: Don't allow semantics on void functions.
2012-07-17 11:55:20 +02:00
Matteo Bruni
1252930bc0
d3dcompiler: Variables and functions can't have the same name.
2012-07-17 11:55:19 +02:00
Matteo Bruni
7ebab8c4f7
d3dcompiler: Pass the complete location to add_func_parameter().
2012-07-17 11:55:19 +02:00
Matteo Bruni
be350b0bb3
d3dcompiler: Store location information in constants, variable dereferences and constructors.
2012-07-17 11:55:18 +02:00
Matteo Bruni
2b2b850106
d3dcompiler: Use location information in add_modifier().
2012-07-12 11:47:56 -05:00
Matteo Bruni
a84784e057
d3dcompiler: Store (and begin to use) location information for variables.
2012-07-12 11:47:52 -05:00
Matteo Bruni
5bcf8de8cf
d3dcompiler: Introduce source_location structure.
2012-07-12 11:47:47 -05:00
Matteo Bruni
40cbcabc0b
d3dcompiler: Track the location of each lexer token.
2012-07-12 11:47:41 -05:00
Matteo Bruni
632703d8cf
d3dcompiler: Add hlsl_report_message function to standardize error messages.
2012-07-12 11:47:33 -05:00
Matteo Bruni
6fbed51ef1
d3dcompiler: Make declaration_statement return a list.
2012-07-11 11:17:41 -05:00
Matteo Bruni
110249d664
d3dcompiler: Initialize and fix compilation messages generation.
2012-07-10 11:01:03 -05:00
Matteo Bruni
29ba39face
d3dcompiler: Carry around both shader major and minor version.
2012-07-10 11:00:53 -05:00
Matteo Bruni
b8cdf2ee18
d3dcompiler: Type names have to be allocated on the heap.
2012-07-10 11:00:48 -05:00
Matteo Bruni
0d34c9dab7
d3dcompiler: Fix line info update.
2012-07-10 11:00:43 -05:00
Matteo Bruni
eeb550c0c3
d3dcompiler: Parse constructors.
2012-06-12 10:20:35 +02:00
Matteo Bruni
d2673848ea
d3dcompiler: Parse function definitions.
2012-06-12 10:20:32 +02:00
Matteo Bruni
552f10d0e8
d3dcompiler: Parse function declarations.
2012-06-12 10:20:30 +02:00
Matteo Bruni
5e34375238
d3dcompiler: Parse sampler declarations.
2012-06-12 10:20:27 +02:00
Matteo Bruni
de11f800fd
d3dcompiler: Parse vector and matrix declarations.
2012-06-12 10:20:24 +02:00
Matteo Bruni
96470dfcb4
d3dcompiler: Parse variable references in expressions.
2012-06-07 10:32:46 +02:00
Matteo Bruni
887ef49419
d3dcompiler: Parse variable initializers, basic expressions.
2012-06-07 10:32:41 +02:00
Matteo Bruni
3275cca970
d3dcompiler: Parse modifiers.
2012-06-07 10:32:36 +02:00
Matteo Bruni
9d9dae0cdb
d3dcompiler: Distinguish between scalars, vectors and matrices.
2012-06-07 10:32:31 +02:00
Matteo Bruni
2aa6c460f7
d3dcompiler: Parse variable declarations.
2012-06-05 10:20:20 +02:00
Matteo Bruni
2ad2c5fa01
d3dcompiler: Add identifiers parsing.
2012-06-05 10:20:17 +02:00
Matteo Bruni
5e82c397f4
d3dcompiler: Flesh out the lexer more.
2012-06-05 10:20:11 +02:00