351 Commits

Author SHA1 Message Date
Józef Kucia
422bf938cd wined3d: Handle SM4 if instruction modifiers.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-25 22:05:06 +09:00
Henri Verbeet
569fcd33dc wined3d: Store shader signatures directly in struct wined3d_shader_desc.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-24 16:19:07 +09:00
Henri Verbeet
597c4d52cc wined3d: Get rid of the redundant "output_signature" parameter to shader_set_function().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-24 16:19:04 +09:00
Henri Verbeet
8ae3a9b624 wined3d: Introduce a helper function to allocate arrays.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-24 16:19:01 +09:00
Matteo Bruni
9a14d78de9 wined3d: Handle GS inputs and outputs.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 14:07:38 +09:00
Matteo Bruni
0f062f5108 wined3d: Get rid of the "reorder shaders" for SM4+.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 14:07:36 +09:00
Matteo Bruni
cf52d1635c wined3d: Simplify shader interface matching for SM4+ vertex shaders.
After some testing it looks like, with SM4+ on Windows:
1. Output registers have to match with input registers from the
following shader stage (register index and mask). There is no "smart"
matching of semantics like in SM3.
2. Using uninitialized varyings in SM4+ shaders doesn't give consistent
results.
That means we can simplify the relevant code quite a bit. Applications
shouldn't be able to depend on particular values for uninitialized
varyings so we can avoid explicitly initializing them.

Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 14:07:29 +09:00
Matteo Bruni
f5aee34d98 wined3d: Alpha test emulation for core profile contexts.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 14:07:23 +09:00
Józef Kucia
e36a7e5da4 wined3d: Match position output register by sysval semantic value.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-21 00:53:52 +09:00
Józef Kucia
2d97dbf87b wined3d: Add SV_VertexID sysval semantic.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 19:38:58 +09:00
Józef Kucia
b922dcc6f1 wined3d: Implement SM4 round_ne instruction.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-17 21:01:44 +09:00
Józef Kucia
d276a28585 wined3d: Add shader limits for SM 4.1.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-15 01:14:24 +09:00
Józef Kucia
e8e27b1a25 wined3d: Implement SM4 ult instruction.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-05 00:06:44 +09:00
Józef Kucia
992f3add3a wined3d: Recognize SM5 hs_join_phase opcode.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-05 00:06:43 +09:00
Józef Kucia
231f9188bf wined3d: Recognize SM5 hs_control_point_phase opcode.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-05 00:06:43 +09:00
Józef Kucia
90ce5e24f7 wined3d: Recognize SM5 vpc register.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-05 00:06:43 +09:00
Józef Kucia
63d0392491 wined3d: Recognize SM5 vOutputControlPointID register.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-05 00:06:43 +09:00
Józef Kucia
a6c0139e9d wined3d: Recognize SM5 vicp register.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-05 00:06:43 +09:00
Józef Kucia
ddc7ea39ad wined3d: Recognize SM5 vDomainLocation register.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-05 00:06:43 +09:00
Józef Kucia
ea92105d41 wined3d: Add domain shader type.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-01 20:51:33 +09:00
Józef Kucia
873912847e wined3d: Recognize SM5 dcl_tessellator_partitioning opcode.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-01 20:51:21 +09:00
Józef Kucia
90dcb4db72 wined3d: Recognize SM5 dcl_tessellator_output_primitive opcode.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-01 20:51:18 +09:00
Józef Kucia
e1a870c6ab wined3d: Recognize SM5 dcl_tessellator_domain opcode.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-01 20:51:15 +09:00
Józef Kucia
49cd3aef7b wined3d: Recognize SM5 vForkInstanceId register.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-31 19:50:31 +09:00
Józef Kucia
f21d1b19b5 wined3d: Recognize SM5 dcl_hs_max_tessfactor opcode.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-31 19:50:27 +09:00
Józef Kucia
a302a16aaa wined3d: Recognize SM5 dcl_hs_fork_phase_instance_count opcode.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-31 19:50:18 +09:00
Józef Kucia
e2f4aaa65a wined3d: Improve wined3d_sysval_semantic enum values naming.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-31 19:50:14 +09:00
Józef Kucia
17c07a9409 wined3d: Add system value names used by tessellation shaders.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-31 19:50:07 +09:00
Józef Kucia
5367c0d2b4 wined3d: Recognize SM5 dcl_output_control_point_count opcode.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-30 11:53:43 +09:00
Józef Kucia
cee0c36444 wined3d: Recognize SM5 dcl_input_control_point_count opcode.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-30 11:53:40 +09:00
Józef Kucia
87bef12eed wined3d: Recognize SM5 hs_fork_phase opcode.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-30 11:53:38 +09:00
Józef Kucia
ba0041a938 wined3d: Recognize SM5 hs_decls opcode.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-30 11:53:35 +09:00
Józef Kucia
afa74b5c0f wined3d: Introduce wined3d_shader_create_hs().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-30 11:53:31 +09:00
Józef Kucia
403459fd91 wined3d: Add hull shader type.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-30 11:53:26 +09:00
Józef Kucia
3c5ca08a2f wined3d: Recognize SM5 store_uav_typed opcode.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-28 16:26:52 +09:00
Józef Kucia
1bc6a15183 wined3d: Recognize SM5 dcl_uav_typed opcode.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-28 16:26:51 +09:00
Józef Kucia
f294f56a5a wined3d: Recognize SM5 dcl_resource_structured opcode.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-28 16:26:51 +09:00
Józef Kucia
463980431f wined3d: Recognize SM 4.1 ld2dms opcode.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-28 16:26:51 +09:00
Matteo Bruni
0ed39ad13d wined3d: Use ARB_texture_swizzle for color fixups when possible.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-24 22:09:37 +09:00
Józef Kucia
510c8e3983 wined3d: Use dcl_sampler to determine if shadow sampler is needed.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-23 23:35:52 +09:00
Józef Kucia
4b926f91b4 wined3d: Recognize SM5 deriv_rty_fine opcode.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-17 21:58:54 +09:00
Józef Kucia
7fccd3bd13 wined3d: Recognize SM5 deriv_rtx_fine opcode.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-17 21:58:50 +09:00
Józef Kucia
9108fe7233 wined3d: Recognize SM5 deriv_rty_coarse opcode.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-17 21:58:45 +09:00
Józef Kucia
07562768bb wined3d: Recognize SM5 deriv_rtx_coarse opcode.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-17 21:58:41 +09:00
Józef Kucia
f0de33ba14 wined3d: Recognize SM5 ld_structured opcode.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-17 21:58:36 +09:00
Józef Kucia
31713e39b5 wined3d: Recognize aoffimmi shader instruction modifier.
The aoffimmi stands for address offset by immediate integer.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-09 22:16:46 +09:00
Matteo Bruni
14d3dbbb7b wined3d: Add shader limits for SM5.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-18 01:17:26 +09:00
Henri Verbeet
e5719e9899 wined3d: Use a wined3d_string_buffer to dump the intermediate shader code.
Instead of abusing TRACE. There's probably still some room for improvement.
There may also be value in dumping things in a format that's compatible with
D3D shader assembly, but I don't think it's a priority.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-13 13:21:53 +09:00
Józef Kucia
1769ea38e6 wined3d: Add support for separate sRGB formats.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-09 00:37:25 +09:00
Józef Kucia
233dff7ca3 wined3d: Recognize SM4 sample_c opcode.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-03 21:57:00 +09:00