349aab2a6a
vkd3d-shader/hlsl: Replace register offsets with index paths in resource loads initialization.
...
At this point, the parse code is free of offsets; it only uses index
paths.
Signed-off-by: Francisco Casas <fcasas@codeweavers.com >
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
2022-08-10 21:33:58 +02:00
4fede46c9a
vkd3d-shader/hlsl: Replace register offsets with index paths in load initializations.
...
The transform_deref_paths_into_offsets pass turns these index paths back
into register offsets.
Signed-off-by: Francisco Casas <fcasas@codeweavers.com >
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
2022-08-10 21:33:37 +02:00
2dcfc888fb
vkd3d-shader/hlsl: Unify type minor/major size functions.
...
Signed-off-by: Francisco Casas <fcasas@codeweavers.com >
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
2022-08-10 21:33:29 +02:00
e5905bbf0f
vkd3d-shader/hlsl: Store the struct fields as an array.
...
Signed-off-by: Francisco Casas <fcasas@codeweavers.com >
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-07-18 22:07:26 +02:00
0ddaa80616
vkd3d-shader/hlsl: Fold constant swizzles.
...
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-06-28 22:20:08 +02:00
8cd4995958
vkd3d-shader/hlsl: Allocate enough space for temporary matrices.
...
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Francisco Casas <fcasas@codeweavers.com >
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-06-08 18:51:28 +02:00
ea38ecc4ff
vkd3d-shader/hlsl: Split matrices into multiple variables in prepend_input_copy().
...
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-06-08 18:51:03 +02:00
d2d4bc24e9
vkd3d-shader/hlsl: Split matrices into multiple variables in append_output_copy().
...
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-06-08 18:50:52 +02:00
e6ce077ad4
vkd3d-shader/hlsl: Handle loops in copy propagation.
...
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-05-04 18:32:35 +02:00
6167b3a4e2
vkd3d-shader/hlsl: Handle branches in copy propagation.
...
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-05-02 11:30:21 +02:00
a58c0e7c9d
vkd3d-shader/hlsl: Detect missing loads on rhs when splitting copies of non-numeric types.
...
Otherwise we can get failed assertions:
assert(node->type == HLSL_IR_LOAD);
because broadcasts to these types are not implemented yet.
Signed-off-by: Francisco Casas <fcasas@codeweavers.com >
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-05-02 11:29:54 +02:00
246ff14511
vkd3d-shader/hlsl: Support all complex initalizers.
...
Signed-off-by: Francisco Casas <fcasas@codeweavers.com >
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-04-27 21:45:41 +02:00
c5c50a8b9b
vkd3d-shader/hlsl: Do not generate useless swizzles.
...
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-04-27 21:45:37 +02:00
74273ccadd
vkd3d-shader/hlsl: Do not handle vector types in major_size() and minor_size().
...
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-04-25 22:12:55 +02:00
d2ba10a696
vkd3d-shader/hlsl: Update split_copy()'s introductory comment.
...
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Francisco Casas <fcasas@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-04-25 22:12:39 +02:00
e38ee49e99
vkd3d-shader/hlsl: Split matrix copies.
...
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Francisco Casas <fcasas@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-04-20 23:02:14 +02:00
8c086b5c91
vkd3d-shader/hlsl: Lower casts to bool to comparisons.
...
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-04-07 18:31:52 +02:00
d9dc79de66
vkd3d-shader/hlsl: Store boolean constants as unsigned.
...
With this change it is possible to store booleans as 0xffffffff,
similarly as what happens at runtime.
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Francisco Casas <fcasas@codeweavers.com >
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-04-05 17:51:07 +02:00
39bd9b0943
vkd3d-shader/hlsl: Pass a pointer to the location to hlsl_new_*_constant().
...
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Francisco Casas <fcasas@codeweavers.com >
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-04-05 17:51:07 +02:00
6e966bcf23
vkd3d-shader/hlsl: Allow "nointerpolation" to be specified on struct fields.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Francisco Casas <fcasas@codeweavers.com >
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-04-05 17:50:19 +02:00
e6dabf22bf
vkd3d-shader/hlsl: Respect the 'nointerpolation' modifier.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Francisco Casas <fcasas@codeweavers.com >
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-04-04 21:12:47 +02:00
84059d61c3
vkd3d-shader/hlsl: Allow offsets for scalar and vector variables.
...
Signed-off-by: Francisco Casas <fcasas@codeweavers.com >
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com >
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-18 22:20:36 +01:00
ee764359d0
vkd3d-shader/hlsl: Correctly calculate offsets for array elements.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com >
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-18 22:20:32 +01:00
e1865cf98a
vkd3d-shader/hlsl: Remove trivial swizzles after each copy prop pass.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com >
Signed-off-by: Francisco Casas <fcasas@codeweavers.com >
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-03-02 18:41:15 +01:00
f5c4c06090
vkd3d-shader/hlsl: Respect the requested target type.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com >
Signed-off-by: Alexandre Julliard <julliard@winehq.org >
2022-02-28 22:23:13 +01:00