Commit Graph

295 Commits

Author SHA1 Message Date
Andrew Talbot 80e4d899ed d3dcompiler_43: Avoid signed-unsigned integer comparisons. 2013-01-02 13:35:53 +01: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 a5203e1a79 d3dcompiler: Don't take the sign as part of the numeric token. 2012-11-09 16:43:02 +01:00
André Hentschel 3abc425267 d3dcompiler_43: Free assignment on error (coverity). 2012-10-26 11:48:12 +02:00
Francois Gouget 25c465269c d3dcompiler_43: Make free_function{_decl}() static. 2012-10-15 19:37:29 +02: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 5e66599737 d3dcompiler: Add a trace to D3DAssemble. 2012-10-11 21:24:34 +02:00
Matteo Bruni 426b5b3609 d3dcompiler: Avoid "naked" vars in record dereferences. 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 71da1bac5d d3dcompiler/tests: Fix access to the test output for y > 0. 2012-10-10 20:34:14 +02:00
Matteo Bruni f4eccde66d d3dcompiler: Fix "for" syntax. 2012-10-10 20:34:13 +02:00
Alexandre Julliard 2763a983fe Mark all lexers as never-interactive. 2012-10-01 12:19:25 +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 9cbd80bda1 d3dcompiler: Store the pointer to the struct field in the dereference node. 2012-09-27 13:08:58 +02:00
Matteo Bruni f2d2755eef d3dcompiler: Also free the list itself in free_instr_list(). 2012-09-27 13:08:54 +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
Francois Gouget 919db661e5 d3dcompiler_43: Make compare_hlsl_types_rb() static. 2012-09-24 16:38:16 +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 0c9ee6663f d3dcompiler_43: Remove an unwanted trailing '\n' in debug_dump_instr(). 2012-09-20 00:01:06 +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 19f951e86a d3dcompiler/tests: Use a reasonable adapter format in CheckDeviceFormat(). 2012-09-18 19:05:51 +02:00
Matteo Bruni ae11ba0b23 d3dcompiler: Parse "return" statement. 2012-09-18 19:05:44 +02:00
Matteo Bruni 47e931823c d3dcompiler: Only a few modifiers are relevant in type comparison. 2012-09-18 19:05:36 +02:00
Matteo Bruni 4ccffd8fa9 d3dcompiler: Don't write the shader version tag from the header backend function. 2012-09-18 19:05:30 +02:00
Matteo Bruni e7a9218ef1 d3dcompiler: Declare predefined data types. 2012-09-18 19:05:22 +02:00
Matteo Bruni caf6fe0588 d3dcompiler: Stub D3DDisassemble. 2012-09-17 18:32:05 +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
Francois Gouget 3dd26315a4 d3dcompiler_43: Make debug_dump_ir_expr() static. 2012-07-25 16:11:17 +02:00
Francois Gouget 285b9340f1 d3dcompiler_43: Make some functions static. 2012-07-23 19:53:50 +02:00
Francois Gouget 28e06e3fb0 d3dcompiler_43: Add a trailing '\n' to a couple of Wine traces. 2012-07-23 19:53:49 +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 4a01368809 d3dcompiler: Improve debug_hlsl_type function. 2012-07-11 11:18:04 -05:00
Matteo Bruni 995fb30d58 d3dcompiler: Add a trace to the scope push/pop functions. 2012-07-11 11:17:57 -05:00
Matteo Bruni 3d052768ab d3dcompiler: Pass the shader filename to the preprocessor. 2012-07-11 11:17:49 -05:00
Matteo Bruni 6fbed51ef1 d3dcompiler: Make declaration_statement return a list. 2012-07-11 11:17:41 -05:00
Matteo Bruni b33e1ceaf2 d3dcompiler: Properly print compilation messages. 2012-07-11 11:17:35 -05:00
Matteo Bruni 110249d664 d3dcompiler: Initialize and fix compilation messages generation. 2012-07-10 11:01:03 -05:00
Matteo Bruni 45e8a644eb d3dcompiler: Parse compilation target. 2012-07-10 11:00:58 -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
Marcus Meissner 1f1686fddd d3dcompiler_43: Fixed small overread possibility (Coverity). 2012-07-09 10:07:10 -04:00
Francois Gouget 768c38034c d3dcompiler_43: Make debug_dump_ir_constructor() static. 2012-06-13 21:35:41 +02:00
Matteo Bruni f5ffa3004d d3dcompiler: Add some tests for 'system' type includes. 2012-06-13 21:35:40 +02:00
Matteo Bruni 80034de243 wpp: Explicitly pass include type to the lookup callback function.
Also, always pass the parent name to the callback, d3dcompiler needs
that information.
2012-06-13 21:35:39 +02:00
Matteo Bruni 8b0d3d9f9a wpp: Invert 'type' callback parameter value, to match comment. 2012-06-13 21:35:38 +02: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
Francois Gouget b0a339707f d3dcompiler_43: Make debug_{base,node}_type() static. 2012-06-08 19:35:17 +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 a8839cd1de d3dcompiler: Dump preprocessed shader sources. 2012-06-07 10:32:23 +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
Matteo Bruni 233101b0ca d3dcompiler: Use a separate bytecodewriter debug channel. 2012-06-05 10:20:07 +02:00
Francois Gouget 1f6d078e1b Assorted spelling fixes. 2012-06-04 12:17:54 +02:00