Alexandre Julliard
bb2d48627d
d3dcompiler: Use the standard va_list instead of __ms_va_list.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-22 11:11:28 +02:00
Matteo Bruni
ae1f9899bb
d3dcompiler/tests: Also accept broken HRESULT with d3dcompiler_46.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-07 18:03:11 +02:00
Alexandre Julliard
088a787a2c
makefiles: Make -mno-cygwin the default.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 22:45:48 +02:00
Zebediah Figura
0ef10854c8
d3dcompiler/tests: Test include preprocessing with more functions.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-08 17:27:33 +02:00
Matteo Bruni
450d435306
d3dcompiler: Clear preprocessor lexer state after running it.
...
Otherwise state might leak to the next preprocessed shader.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-08 17:27:33 +02:00
Zebediah Figura
72d6654c73
d3dcompiler: Handle D3D_COMPILE_STANDARD_FILE_INCLUDE in preprocess_shader().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-08 17:27:33 +02:00
Zebediah Figura
e44bd0e03f
d3dcompiler_46/tests: Enable tests.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-08 17:27:32 +02:00
Zebediah Figura
910a398b72
d3dcompiler/tests: Link directly to the relevant d3dcompiler version.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-08 17:27:32 +02:00
Zebediah Figura
93a4c58897
d3dcompiler/tests: Test including an absolute path.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-03 21:43:03 +02:00
Zebediah Figura
85fa778f93
d3dcompiler: Rip out the HLSL compiler.
...
The compiler is completely non-functional as-is, and lives in libvkd3d-shader
now. When a vkd3d release is made d3dcompiler will access it via the
libvkd3d-shader public API. Accordingly there's no reason to keep it around in
wine's d3dcompiler.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-27 18:06:30 +02:00
Nikolay Sivov
0861b5447f
d3dcompiler/tests: Add a D3DDisassemble() test with sm2 shader.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-27 18:06:30 +02:00
Matteo Bruni
6b58d34a62
d3dcompiler/tests: Ignore z, w components in test_struct_semantics().
...
Only the first two components are explicitly set from the vertex
attribute data.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51304
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-12 23:07:15 +02:00
Nikolay Sivov
741c73d137
d3dcompiler: Improve D3D11_SHADER_DESC returned by reflection interface.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-11 23:00:50 +02:00
Nikolay Sivov
ff98978836
d3dcompiler: Improve d3d10_shader_reflection_GetDesc() to return missing stats.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-11 23:00:50 +02:00
Matteo Bruni
749da353c9
d3dcompiler: Fix typo in struct d3dcompiler_shader_reflection.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-01 18:18:17 +02:00
Jacek Caban
e6961f6e16
d3dcompiler: Use return value in read_dword.
...
Fixes warnings like on clang with MSVC target, where enums may be signed:
dlls/d3dcompiler_43/reflection.c:1160:22: warning: passing
'D3D_PRIMITIVE *' (aka 'enum D3D_PRIMITIVE *') to parameter of type
'DWORD *' (aka 'unsigned int *') converts between pointers to integer
types with different sign [-Wpointer-sign]
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-31 21:05:42 +02:00
Zebediah Figura
e5c50f5661
d3dcompiler/tests: Use winetest_push_context().
...
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>
2021-05-10 18:14:07 +02:00
Alexandre Julliard
0b22f87be6
d3dcompiler: Use --prefer-native instead of DLL_WINE_PREATTACH.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-18 12:09:06 +01:00
Zebediah Figura
464b2dc661
d3dcompiler/tests: Avoid initializing nameless unions in designated initializers.
...
Old versions of gcc can't handle this.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50397
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-26 12:46:07 +01:00
Sven Baars
9f9fec1879
d3dcompiler: Fix a leak on error path (Coverity).
...
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-13 20:42:11 +02:00
Matteo Bruni
4ced409adb
d3dcompiler/tests: Always expect failure in test_reflection_desc_ps_output() on d3d10.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49950
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-13 11:33:05 +02:00
Francois Gouget
65013aae29
d3dcompiler_43/tests: Fix the spelling of a couple of ok() messages.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-29 12:17:42 +02:00
Paul Gofman
1690b6b475
d3dcompiler/tests: Test d3d12 interface in test_reflection_bound_resources().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-10 22:06:35 +02:00
Paul Gofman
56aeb4591b
d3dcompiler: Fill texture fields in D3D11_SHADER_VARIABLE_DESC with default values.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-09 11:15:48 +02:00
Paul Gofman
e92adb98be
d3dcompiler/tests: Test d3d12 interface in test_reflection_constant_buffer().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-09 11:15:48 +02:00
Paul Gofman
e7a499f8ef
d3dcompiler: Set range id to bind point for sm < 5.1.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-09 11:08:32 +02:00
Paul Gofman
e446aee652
d3dcompiler/tests: Test d3d12 interface in test_reflection_desc_vs().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-09 11:08:30 +02:00
Paul Gofman
97c4725237
d3dcompiler/tests: Add test for reflection interfaces.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-09 11:08:28 +02:00
Paul Gofman
602e048527
d3dcompiler: Support ID3D12ShaderReflection interface in D3DReflect().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-09 11:08:26 +02:00
Zebediah Figura
ae415a7df7
d3dcompiler: Unconditionally report special (pixel shader output) sysvals based on the semantic name.
...
That is, do not check that the shader is a pixel shader and that the signature
is an output signature. These semantic names can only be generated in such
conditions; using the name for any other stage is invalid.
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-09-01 20:56:43 +02:00
Zebediah Figura
172048e32b
d3dcompiler/tests: Add tests for samplers.
...
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-09-01 18:40:12 +02:00
Zebediah Figura
3e89cbc5af
d3dcompiler/tests: Add tests for semantics.
...
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-09-01 18:40:12 +02:00
Zebediah Figura
37d8d163e3
d3dcompiler/tests: Add tests for constant buffer binding descriptors.
...
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-09-01 18:40:12 +02:00
Zebediah Figura
beb1bbb78c
d3dcompiler/tests: Add more tests for SM4 constant packing.
...
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-09-01 18:40:12 +02:00
Zebediah Figura
23cc300372
d3dcompiler: Iterate through the instruction list in reverse in free_instr_list() (Valgrind).
...
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-08-10 21:27:41 +02:00
Jactry Zeng
ca301488dc
d3dcompiler: Implement D3DCompileFromFile().
...
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-10 21:27:36 +02:00
Jactry Zeng
87f51f2f75
d3dcompiler: Add D3D_COMPILE_STANDARD_FILE_INCLUDE support for D3DCompile2().
...
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-10 21:27:26 +02:00
Paul Gofman
2acdde92e8
d3dcompiler/tests: Test bound resources' reflection for sm5.1.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-10 21:27:04 +02:00
Paul Gofman
d95920e8d6
d3dcompiler: Fail parsing reflection data for sm51 in versions below 47.
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-10 21:27:02 +02:00
Paul Gofman
85e0a09cce
d3dcompiler: Parse register space and range id for sm51 in d3dcompiler_parse_rdef().
...
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-10 21:27:00 +02:00
Matteo Bruni
8928a41750
d3dcompiler: Don't link to dxguid or uuid.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-24 18:26:18 +02:00
Zebediah Figura
644dbf0644
d3dcompiler: Store the loop body directly in the hlsr_ir_loop structure.
...
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-07-08 07:50:03 +02:00
Zebediah Figura
0a9f2d8b0a
d3dcompiler: Store the "then" and "else" instruction lists directly in the hlsl_ir_if structure.
...
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-07-08 07:49:56 +02:00
Zebediah Figura
2ccf1db285
d3dcompiler: Allow hlsl_ir_constant to contain only scalar and vector constants.
...
We only emit scalar constants at parse time, and while there's certainly an
advantage to vectorizing constant instructions, there's not much point in
having hlsl_ir_constant hold matrices. Matrices should be lowered to vector
operations first.
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-07-08 07:49:50 +02:00
Zebediah Figura
6bae008f55
d3dcompiler/tests: Check the reflection type of bool variables.
...
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-07-08 07:49:45 +02:00
Zebediah Figura
8bd5fe3001
d3dcompiler: Track def-use chains for anonymous nodes.
...
This is useful for replacing one instruction with another of a different type,
which is useful for some optimizations such as constant folding.
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-07-02 18:12:57 +02:00
Zebediah Figura
d60b126b24
d3dcompiler: Print the data type when dumping IR.
...
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-06-29 09:23:20 +02:00
Zebediah Figura
56be9dde92
d3dcompiler: Rename make_simple_assignment() to new_simple_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-06-29 09:23:17 +02:00
Zebediah Figura
7260f978f3
d3dcompiler: Add the node to the instruction list in new_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-06-29 09:23:15 +02:00
Zebediah Figura
6083b1dd39
d3dcompiler: Create the expression in append_binop().
...
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-06-29 09:23:12 +02:00
Zebediah Figura
251c8546b5
d3dcompiler: Pass the instruction list to 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-06-23 10:11:17 +02:00
Zebediah Figura
9b3e6b1971
d3dcompiler: Add the assignment node to the instruction list in 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-06-23 10:11:14 +02:00
Zebediah Figura
95ef2fa578
d3dcompiler: Append the instruction to its list in new_return().
...
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-06-23 10:11:11 +02:00
Zebediah Figura
548f763f99
d3dcompiler: Pass an instruction list to the load creation functions.
...
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-06-23 10:10:27 +02:00
Zebediah Figura
142be50629
d3dcompiler: Prepend static initializers to the function body.
...
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-06-23 10:10:21 +02:00
Matteo Bruni
7d92b1abbd
d3dcompiler: Check shader for NULL.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 17:44:32 +02:00
Zebediah Figura
a9e720e54f
d3dcompiler: Factor out hlsl_ir_var allocation.
...
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-06-17 17:32:08 +02:00
Zebediah Figura
610baeac56
d3dcompiler/tests: Add a simple test for global variable 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>
2020-06-17 17:32:06 +02:00
Zebediah Figura
549fa04cbd
d3dcompiler/tests: Add a couple of extra tests for struct declaration syntax.
...
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-06-17 17:32:04 +02:00
Zebediah Figura
f26a58a61b
d3dcompiler/tests: Add a test for struct field semantics.
...
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-06-17 17:32:02 +02:00
Matteo Bruni
2d79e04bfe
d3dcompiler: Print float constants with more precision.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-12 17:16:26 +02:00
Zebediah Figura
24c84947c8
d3dcompiler: Return an HRESULT from parse_hlsl().
...
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-06-11 22:07:47 +02:00
Zebediah Figura
fdb3db5275
d3dcompiler: Check for missing return value semantics on the entry point.
...
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-06-11 22:03:05 +02:00
Zebediah Figura
d5486b6bb5
d3dcompiler: Allow hlsl_ir_constant to contain only numeric 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-06-11 22:03:03 +02:00
Zebediah Figura
d5a4364f44
d3dcompiler: Emit constructors as sequences of stores to a synthetic variable.
...
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-06-11 22:03:01 +02:00
Zebediah Figura
10601d9ac5
d3dcompiler: Cache vector 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-06-11 22:02:57 +02:00
Zebediah Figura
9c985e703b
d3dcompiler: Use the cached scalar type in expr_common_type() where possible.
...
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-06-11 22:01:06 +02:00
Zebediah Figura
93f3b062fd
d3dcompiler/tests: Add a test for struct 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-06-08 21:01:33 +02:00
Zebediah Figura
3b66245922
d3dcompiler: Use hlsl_report_message() where possible.
...
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-06-05 16:54:35 +02:00
Zebediah Figura
f114a0a8e6
d3dcompiler: Fix matrix dimension declaration for matrix<...> syntax.
...
Addendum to 4952bcfa4c
.
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-06-05 16:54:35 +02:00
Zebediah Figura
1dcfb01b29
d3dcompiler: Coerce the RHS before unwrapping swizzles.
...
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-06-05 16:54:35 +02:00
Zebediah Figura
24a4f52bbf
d3dcompiler: Remove a redundant check for writemasks on non-numeric types.
...
This can only happen if a swizzle is emitted on a non-numeric type, but this is
checked when emitting swizzles.
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-06-05 16:54:35 +02:00
Zebediah Figura
9ba2bb0f3b
d3dcompiler: Fix up the swizzle data type when unwrapping it from the assignment LHS.
...
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-06-05 16:54:35 +02:00
Zebediah Figura
513f0def41
d3dcompiler: Write to the function return value using a separate instruction.
...
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-06-03 22:55:55 +02:00
Zebediah Figura
2b77cfb7be
d3dcompiler: Also check the type class when checking for void.
...
As of 867fe22346
, non-void types may have a base_type of HLSL_TYPE_VOID.
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-06-03 22:55:49 +02:00
Zebediah Figura
c7b90bf348
d3dcompiler: Pass the semantic and location parameters to new_func_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>
2020-06-03 22:55:40 +02:00
Zebediah Figura
5900f00148
d3dcompiler: Create assignment instructions more directly in struct_var_initializer().
...
In particular so that we can remove the need for creating a load instruction,
which besides being unnecessary was also never added to any instruction lists.
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-06-03 22:55:31 +02:00
Zebediah Figura
7fc0b9a6bd
d3dcompiler: Don't add a record deref to the instruction list twice.
...
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-06-03 22:55:27 +02:00
Zebediah Figura
2449ff4b8f
d3dcompiler: Store some builtin types in the hlsl_ctx structure.
...
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-06-03 22:55:18 +02:00
Zebediah Figura
09fcfe27ac
d3dcompiler: Rename HLSL_IR_DEREF to HLSL_IR_LOAD.
...
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-06-01 22:10:28 +02:00
Zebediah Figura
323be6c515
d3dcompiler: Store derefs as an offset to a variable.
...
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-06-01 22:10:28 +02:00
Zebediah Figura
d46065d1f3
d3dcompiler: Do not store matrix and vector indexes as deref 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-05-19 21:32:46 +02:00
Zebediah Figura
0d9ddc4372
d3dcompiler: Synthesize a variable when indexing a non-deref node.
...
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-05-19 21:32:43 +02:00
Zebediah Figura
749e6be4d6
d3dcompiler: Synthesize a variable when subscripting a non-deref node.
...
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-05-19 21:32:41 +02:00
Zebediah Figura
2dc666c9df
d3dcompiler: Add a helper to initialize the hlsl_ir_node structure.
...
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-05-01 22:03:16 +02:00
Zebediah Figura
d9db4beb3b
d3dcompiler: Set the x-dimension for struct 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-04-30 21:01:11 +02:00
Zebediah Figura
c6c0601396
d3dcompiler: Set the dimensions for 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-04-30 21:01:09 +02:00
Zebediah Figura
aa333c63fc
d3dcompiler: Respect arrays in struct fields.
...
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-04-30 21:01:07 +02:00
Zebediah Figura
867fe22346
d3dcompiler: Set the struct base type to HLSL_TYPE_VOID.
...
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-04-30 21:01:05 +02:00
Zebediah Figura
4952bcfa4c
d3dcompiler: Fix matrix dimension declaration and access.
...
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-04-30 21:01:02 +02:00
Zebediah Figura
53e6b328f6
d3dcompiler: Avoid using the lookahead token for location.
...
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-04-17 11:46:31 +02:00
Zebediah Figura
2573e698ff
d3dcompiler: Make printed IR a bit more readable.
...
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-04-17 11:46:28 +02:00
Zebediah Figura
9f75e917cb
d3dcompiler/tests: Add some tests for matrix majority.
...
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-04-14 11:19:08 +02:00
Zebediah Figura
5f18f9f75a
d3dcompiler: Calculate the register size of 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-04-14 11:18:23 +02:00
Zebediah Figura
f82b44748a
d3dcompiler: Always set the matrix majority for declaration 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-04-14 11:18:20 +02:00
Zebediah Figura
d05ee3674e
d3dcompiler: Check for multiple matrix majority keywords on typedefs.
...
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-04-14 11:18:15 +02:00
Zebediah Figura
0340b0b044
d3dcompiler: Compute liveness ranges for anonymous nodes.
...
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-04-01 20:58:38 +02:00
Zebediah Figura
2738e5d2b8
d3dcompiler: Compute liveness ranges for variables.
...
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-04-01 20:58:36 +02:00
Zebediah Figura
443b0e3efd
d3dcompiler: Index instructions for liveness ranges.
...
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-04-01 20:58:30 +02:00
Zebediah Figura
810d385b9e
d3dcompiler: Move some declarations to bytecodewriter.c.
...
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-27 21:16:23 +01:00