Commit Graph

536 Commits

Author SHA1 Message Date
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 60f78a1476 d3dcompiler: Check for implicit type compatibility in implicit_conversion().
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
Zebediah Figura 8b08fec5e3 d3dcompiler/tests: Add some more tests for return statements.
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 1cea81d104 d3dcompiler/tests: Add a test for 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-28 16:39:02 +01:00
Zebediah Figura 8ce03e2055 d3dcompiler/tests: Port some tests to shader model 4.
In particular, port those for which there is an interesting difference in
code generation.

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-28 16:39:02 +01:00
Zebediah Figura 6f80956146 d3dcompiler/tests: Rewrite to use a separate d3d9 device for each test.
This brings the d3dcompiler tests more in line with existing d3d9 tests, and
allows potentially running the tests in parallel.

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-28 16:39:02 +01:00
Matteo Bruni d09962a472 d3dcompiler: Get rid of now unused BWRITERVS_SWIZZLE_{SHIFT, MASK}.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-25 23:43:18 +01:00
Matteo Bruni d4682017d6 d3dcompiler/tests: Make test_reflection_constant_buffer() work on d3d10.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-16 21:23:13 +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 81a7da48b9 d3dcompiler: Get rid of the unused "subexpressions" field of struct hlsl_ir_expr.
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:33 +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 efec4f90aa d3dcompiler: Handle loops in free_instr().
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:27 +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 1aa2beab73 d3dcompiler: Dump loops.
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-11 19:46:24 +01:00
Zebediah Figura 05182695f2 d3dcompiler: Use wine_dbg_printf() to dump HLSL IR.
So that we don't print function names.

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-11 19:46:21 +01:00
Zebediah Figura e6f89bcb04 d3dcompiler: Dump flattened IR more accurately.
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-11 19:46:18 +01:00
Zebediah Figura a43974a6d4 d3dcompiler: Store the swizzle unshifted.
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-11 19:45:57 +01:00
Matteo Bruni d367c9aeff d3dcompiler/tests: Load the correct d3dcompiler DLL in the asm tests.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-03 21:40:59 +01:00
Matteo Bruni 20b52b61c6 d3dcompiler/tests: Load the correct d3dcompiler DLL in the HLSL tests.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-03 21:40:59 +01:00
Zebediah Figura ae274b25e2 d3dcompiler/tests: Load d3dx9_36.dll dynamically.
Windows 7 Professional ships d3dcompiler_47 by default, but no version of d3dx9.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47894
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>
2020-01-03 20:58:18 +01:00
Matteo Bruni 276d970e07 d3dcompiler/tests: Fix parameter desc test on d3d10.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-03 21:27:14 +01:00
Sven Baars e0143194c2 d3dcompiler/tests: Fix a copy-paste error.
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-27 22:02:59 +01:00
Sven Baars a63a98c388 d3dcompiler/tests: Fix some d3dcompiler_47 test failures on Windows 8.
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-14 22:05:00 +01:00
Matteo Bruni 1559f6013c d3d10/tests: Add reflection test.
Share and reuse most of the d3dcompiler test.

Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-14 21:05:59 +01:00
Matteo Bruni 6889a0c3a0 d3dcompiler/tests: Clean up test_reflection_desc_ps_output() a bit.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-14 21:05:48 +01:00
Connor McAdams 44e65ebd7c d3dcompiler: Implement ID3D10ShaderReflectionConstantBuffer GetVariableByName() method.
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-14 21:05:44 +01:00
Connor McAdams a812c1a5ef d3dcompiler: Implement ID3D10ShaderReflectionConstantBuffer GetVariableByIndex() method.
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-14 21:05:42 +01:00
Connor McAdams c232519076 d3dcompiler: Implement ID3D10ShaderReflectionVariable GetType() method.
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-14 21:05:40 +01:00
Connor McAdams a3b6d5646d d3dcompiler: Implement ID3D10ShaderReflectionType.
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-14 21:05:37 +01:00
Connor McAdams 98e240c6a6 d3dcompiler: Partially implement ID3D10ShaderReflectionVariable.
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 17:31:46 +01:00
Connor McAdams e5b2ee6fd8 d3dcompiler: Implement d3d10 GetConstantBufferByName().
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 17:31:44 +01:00
Connor McAdams 13a5a3cadc d3dcompiler: Implement d3d10 GetConstantBufferByIndex().
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 17:31:41 +01:00
Connor McAdams 14002a796d d3dcompiler: Partially implement ID3D10ShaderReflectionConstantBuffer.
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 17:31:39 +01:00
Connor McAdams 6b6f8d5c2f d3dcompiler: Implement d3d10 reflection GetResourceBindingDesc() method.
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 17:31:36 +01:00
Connor McAdams d8ff297052 d3dcompiler: Implement d3d10 reflection Get{Input, Output}ParameterDesc() methods.
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 17:31:33 +01:00
Matteo Bruni 27bf34bb51 d3dcompiler/tests: Add a small test for MinPrecision.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 22:05:58 +01:00
Matteo Bruni f14962e55d d3dcompiler/tests: Add d3dcompiler_47 tests.
Share the code with the existing d3dcompiler_43 tests.

Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 22:05:58 +01:00
Matteo Bruni 9fd08dbff6 d3dcompiler: Fix a couple of failure return values in >= 46 D3DReflect().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 21:39:40 +01:00
Matteo Bruni d6c6fc455d d3dcompiler: Initialize MinPrecision when it exists.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 21:39:40 +01:00
Matteo Bruni 4ed07d8586 d3dcompiler: Always expect D3D_COMPILER_VERSION to be defined.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 21:39:40 +01:00
Connor McAdams 5c708c857e d3dcompiler: Implement d3d10 reflection GetDesc() method.
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-06 16:03:36 +01:00
Connor McAdams 0ffd0cab01 d3dcompiler: Init reflection data in D3D10ReflectShader().
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-06 16:03:34 +01:00
Connor McAdams 981403e50f d3dcompiler: Move d3d10 reflection stubs into d3dcompiler.
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-06 16:03:31 +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 b89f027bc1 d3dcompiler: Use new_cast() in implicit_conversion().
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
Matteo Bruni 5e8ded1646 d3dcompiler/tests: Trace the test index in test_fail() checks.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-09 20:38:46 +02:00
Matteo Bruni 7b2d82fa4f d3dcompiler/tests: Get rid of redundant "failed" in test strings.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-09 20:38:42 +02:00
Zebediah Figura bfe12dc5dd d3dcompiler/tests: Add a couple more tests for complex initializers.
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:35 +02:00
Zebediah Figura 9501c6e691 d3dcompiler/tests: Simplify test_fail().
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:32 +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
Zebediah Figura 72b74d7cdc d3dcompiler: Parse type name strings.
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-07-31 08:30:39 +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 011b2eca46 d3dcompiler: Copy the C preprocessor source into d3dcompiler_43.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-02 13:33:08 +02:00
Philip Rebohle b1f9cd57be d3dcompiler: Accept a stat chunk size of 28 for reflection.
Fixes "unhandled size" error for Crysis shaders.

Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-17 20:01:21 +02:00
Jactry Zeng 622422e67b d3dcompiler: Implement D3DReadFileToBlob().
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-07 16:42:37 -05: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
Piotr Caban 1b56d13da3 d3dcompiler: Don't use strcasecmp.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-09 19:33:48 +02:00
Matteo Bruni 293e2b55ad d3dcompiler: Actually define the correct ID3D11ShaderReflection GUIDs.
Spotted by Andrey Gusev.

Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-04 19:20:49 +01:00
Andrey Gusev d52b53d151 d3dcompiler: Add support for two other versions of ID3D11ShaderReflection.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 22:22:42 +01:00
Matteo Bruni 6a7a635b46 d3dcompiler_43: Define D3D_COMPILER_VERSION.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-09 15:27:45 -06:00
Serge Gautherie ffe9346120 d3dcompiler: Fix dxbc_init() function prototype.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-20 15:34:01 +01:00
Matteo Bruni e9231beb86 d3dcompiler: Add an assert checking for writemask sanity in debug_writemask().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-04 23:28:59 +01:00
Alex Henrie 358b814873 d3dcompiler: Turn variable 'components' into a static constant.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-04 21:41:33 +01:00
Alex Henrie cbae62ba9e d3dcompiler_43: Turn variable 'c' into a static constant.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-12 10:21:52 +01:00
Alex Henrie 451e4d326e d3dcompiler_43/tests: Avoid using GCC's typeof extension.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-04 09:10:32 -05:00
Matteo Bruni 4d1c8a8bff d3dcompiler: Make types array static const.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:15:59 +02:00
Michael Stefaniuc c91a00ce61 d3dcompiler: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 09:39:39 +02:00
Jacek Caban 169c033bda d3dcompiler: Use d3dcompiler_47 for importlib.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 09:38:05 +02:00
Jacek Caban a849609193 d3dcompiler/tests: Load d3dcompiler_43.dll dynamically.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 09:37:53 +02:00
Michael Stefaniuc 07277ae132 d3dcompiler/tests: Use the available ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-11 11:41:59 +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
Jacek Caban d29e59a145 rbtree.h: Take wine_rb_entry as wine_rb_remove argument type and add new wine_rb_remove_key helper using key.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-14 00:01:53 +09:00
Jacek Caban acc0bb0521 rbtree.h: Pass compare function instead of wine_rb_functions to wine_rb_init.
Also change return type to void since the function can no longer fail.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-02 23:30:29 +09:00
Jacek Caban 907854d4a2 d3dcompiler_43: Removed no longer needed wine_rb_init error handling.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-02 11:26:45 +09:00
Michael Stefaniuc bebaec60b6 d3dcompiler/tests: Avoid using the LPD3DBLOB COM iface type.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-14 17:40:12 +09:00
Alistair Leslie-Hughes 5fb90db781 d3dcompiler: Add D3DLoadModule stub.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-04 01:03:29 +09:00
Francois Gouget 304bbbeaa7 d3dcompiler_43/tests: Fix a needless spelling error in a test.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-18 15:06:19 +09:00
Józef Kucia c9df3cd980 d3dcompiler: Avoid '\n' in middle of TRACE() messages.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-28 16:26:51 +09:00
Alexandre Julliard 3602962275 makefiles: Generate dependencies for static libraries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-23 19:38:37 +09:00
Alistair Leslie-Hughes 26094c5634 d3dcompiler: Add D3DReadFileToBlob, D3DWriteBlobToFile stubs.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-20 01:19:50 +09:00
Gerald Pfeifer d04324f0fa d3dcompiler_43: Replace 14 instances of 1 << 31 by 1u << 31 to avoid shift shift overflow. 2015-09-07 15:06:23 +09:00
Gerald Pfeifer 8bb4525ee0 d3dcompiler_43: Define BWRITER_SM1_VS and BWRITER_SM1_PS as unsigned constants. 2015-08-17 14:40:37 +09:00
Sebastian Lackner e0a9ea6c68 d3dcompiler: Implement semi-stub for D3DCompile2. 2015-08-17 14:40:09 +09:00
Alistair Leslie-Hughes 1a0fc895f1 d3dcompiler: Add D3DCompileFromFile, D3DCompile2 stubs. 2015-08-17 14:40:01 +09:00
Alexandre Julliard 8a9483400a d3dcompiler_43: Add a helper function for register token to avoid compiler warnings. 2015-06-26 20:35:07 +09:00
Alistair Leslie-Hughes 80205c0160 d3dcompiler: Rename d3dcompiler_43_main.c to main.c. 2015-06-26 20:35:05 +09:00
Matteo Bruni bd7e83f292 d3dcompiler: Parse ": register()" syntax. 2015-06-19 19:11:03 +09:00
Matteo Bruni 5ae37d47f1 d3dcompiler: Handle writemask in make_assignment(). 2015-06-19 19:11:01 +09:00
Matteo Bruni 10fcb9379e d3dcompiler: Handle redefining an intrinsic function as a user-defined function. 2015-06-19 19:10:59 +09:00
Henri Verbeet bef432a19c d3dcompiler: Rename "func" to "decl" in free_function_decl().
Mostly just for consistency with other uses of struct hlsl_ir_function_decl.
2015-05-01 15:17:15 +09:00
Henri Verbeet c05acba168 d3dcompiler: Actually free the function in free_function() (Valgrind). 2015-05-01 15:17:11 +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 a02f76637d d3dcompiler: Fix tracing of expression operators.
This hunk should have been in d25486fba4.
2014-10-16 21:23:41 +09:00
Matteo Bruni aa167f92d7 d3dcompiler: Free the relative addressing data of destination registers (Valgrind). 2014-08-26 16:44:47 +02:00
Matteo Bruni e404d1ed86 d3dcompiler/tests: Free the Direct3D9 object (Valgrind). 2014-08-26 16:44:45 +02:00
Matteo Bruni 67a6caa1c1 d3dcompiler/tests: Add a test for an include path containing '/'. 2014-08-25 22:03:19 +02:00
Matteo Bruni 342eec7f7d d3dcompiler/tests: Add a couple more checks for parent data values. 2014-06-25 11:36:21 +02: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
Frédéric Delanoy b09833a847 d3dcompiler_43/tests: Use BOOL type where appropriate. 2014-02-24 09:08:03 -06:00
Alexandre Julliard 99ef0d6ff0 makefiles: Get rid of the MAKE_TEST_RULES variable. 2014-01-02 12:13:16 +01:00
Alexandre Julliard 5e7416e5c8 makefiles: Get rid of the MAKE_DLL_RULES variable. 2014-01-02 12:08:18 +01:00
Andrey Gusev 1f29734b18 d3dcompiler_43: Fix a typo. 2013-12-02 11:09:07 +01:00
Frédéric Delanoy 27947d2662 d3dcompiler_43: Use BOOL type where appropriate. 2013-11-08 12:46:15 +01:00
Michael Stefaniuc 2f673f2965 d3dcompiler_43/tests: Compile with -D__WINESRC__. 2013-10-17 10:43:48 +02:00
Henri Verbeet cc3cde5124 d3dcompiler: Get rid of the BWRITERDECLUSAGE typedef. 2013-10-04 12:45:24 +02:00
Henri Verbeet 94dece4c0c d3dcompiler: Get rid of the BWRITERSHADER_PARAM_SRCMOD_TYPE typedef. 2013-10-03 12:55:16 +02:00
Henri Verbeet 540054eb3e d3dcompiler: Get rid of the BWRITERSAMPLER_TEXTURE_TYPE typedef. 2013-10-03 12:55:12 +02:00
Henri Verbeet 48a6375dfc d3dcompiler: Get rid of the BWRITERSHADER_PARAM_DSTMOD_TYPE typedef. 2013-10-02 11:05:45 +02:00
Henri Verbeet f67af28261 d3dcompiler: Get rid of the BWRITERVS_RASTOUT_OFFSETS typedef. 2013-10-02 11:05:43 +02:00
Michael Stefaniuc 0e681027a2 tests: Compile the tests by default with -D__WINESRC__. 2013-10-02 11:04:02 +02:00
Henri Verbeet b347554937 d3dcompiler: Get rid of the BWRITERSHADER_PARAM_REGISTER_TYPE typedef. 2013-10-01 10:57:36 +02:00
Henri Verbeet a8aa199c36 d3dcompiler: Get rid of the BWRITERSHADER_INSTRUCTION_OPCODE_TYPE typedef. 2013-10-01 10:57:34 +02:00
Henri Verbeet 1b6e9d245c d3dcompiler: Get rid of the BWRITER_COMPARISON_TYPE typedef. 2013-09-30 20:34:53 +02:00
Henri Verbeet 5daf5e80fb d3dcompiler: Avoid LPVOID. 2013-09-06 12:00:24 +02:00
Henri Verbeet 1046aa6e48 d3dcompiler: Avoid LPCVOID. 2013-09-05 13:18:24 +02:00
Henri Verbeet 36190dd5e6 d3dcompiler: Avoid LPCSTR. 2013-09-05 13:18:24 +02:00
Henri Verbeet aab72562d5 d3dcompiler: Get rid of a couple of redundant casts. 2013-09-04 11:37:09 +02:00
Matteo Bruni 3f221611f0 d3dcompiler: Skip search of the parent include for the initial file. 2013-09-03 16:58:32 +02:00
Christian Costa af59f19461 d3dcompiler: Add trace to D3DPreprocess. 2013-05-13 11:08:43 +02:00
Christian Costa 6e77816301 d3dcompiler: Add a LUT to find compilation targets info. 2013-05-13 11:08:36 +02:00
Christian Costa 896ff53774 d3dcompiler_43: Turn FIXME into TRACE as D3DCompiler is no longer a stub. 2013-04-26 16:28:07 +02:00
Alexandre Julliard f02cdd877f Remove empty DLL_PROCESS_DETACH case statements. 2013-04-15 16:45:35 +02:00
Michael Stefaniuc 536bdfde27 d3dcompiler_43: Remove ERR() on HeapAlloc failure for small sizes known at compile time. 2013-02-08 10:44:36 +01:00
Michael Stefaniuc b5d4c20bfe d3dcompiler_43: Use assignment instead of memcpy to copy structs. 2013-01-28 14:00:14 +01:00
Rico Schüller b1126a8c30 d3dcompiler43/tests: Don't use IUnknown_Release(). 2013-01-11 11:58:23 +01:00
Francois Gouget f963f93964 Assorted spelling fixes. 2013-01-07 11:10:40 +01:00
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