Commit Graph

1020 Commits

Author SHA1 Message Date
Józef Kucia 36dcae193d wined3d: Recognize SM5 ld_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-06-17 22:53:02 +09:00
Józef Kucia 7d5be69365 wined3d: Recognize SM5 imm_atomic_alloc 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-06-17 22:52:59 +09:00
Józef Kucia 688fc5f6d8 wined3d: Recognize SM5 bufinfo 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-06-15 20:43:30 +09:00
Józef Kucia 17b599a442 wined3d: Recognize SM5 store_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-06-15 20:43:28 +09:00
Józef Kucia 8d14307f00 wined3d: Recognize SM5 bfi 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-06-15 20:43:26 +09:00
Józef Kucia 62af9f6f1f wined3d: Recognize SM5 imm_atomic_consume 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-06-15 20:43:23 +09:00
Józef Kucia c08dfc6836 wined3d: Recognize SM5 ld_raw 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-06-15 20:43:21 +09:00
Józef Kucia 41b296eea7 wined3d: Recognize SM5 store_raw 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-06-15 20:43:19 +09:00
Francois Gouget 0652bf7eca wined3d: Make glsl_vertex_pipe_clip_plane() static.
Signed-off-by: Francois Gouget <fgouget@free.fr>
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-06-15 20:43:03 +09:00
Józef Kucia 5c39053791 wined3d: Recognize SM 5 gather4_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-06-10 20:34:05 +09:00
Józef Kucia e0c4b23e94 wined3d: Recognize SM 4.1 gather4 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-06-10 20:34:05 +09:00
Józef Kucia 7cc36e71b2 wined3d: Implement SM4 endswitch 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-06-03 22:24:52 +09:00
Józef Kucia 9aa587af9e wined3d: Implement SM4 default 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-06-03 22:24:50 +09:00
Józef Kucia 7929895029 wined3d: Implement SM4 case 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-06-03 22:24:47 +09:00
Józef Kucia ba60b0f59a wined3d: Implement SM4 switch 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-06-03 22:24:45 +09:00
Józef Kucia 25dfbbafb3 wined3d: Implement SM4 umax 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-06-03 22:24:42 +09:00
Guillaume Charifi 5840ea47e6 wined3d: Add support for the ishr opcode.
Signed-off-by: Guillaume Charifi <guillaume.charifi@sfr.fr>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-03 00:10:52 +09:00
Matteo Bruni d9f8c853ac wined3d: User clip planes 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-06-03 00:10:48 +09:00
Matteo Bruni 785baaa94b wined3d: Fix FFP vertex shaders with ARB_explicit_attrib_location.
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-06-03 00:10:47 +09:00
Józef Kucia 519d459b72 wined3d: Use ARB_explicit_attrib_location to pre-assign vertex attribute locations.
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-06-01 22:12:47 +09:00
Józef Kucia 4dfd79d336 wined3d: Use pure integer vertex attributes for SM4+ 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-06-01 22:12:27 +09:00
Józef Kucia 56b22347d2 wined3d: Handle SM4 breakc 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:09 +09:00
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 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 54d8f57cc5 wined3d: Reselect the current GLSL geometry shader when possible even if the VS changed.
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:46 +09:00
Matteo Bruni 91537b9f1f wined3d: Add support for core OpenGL geometry shaders.
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:44 +09:00
Matteo Bruni f5dc7a43b0 wined3d: Fixup vertex position in geometry shaders.
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:41 +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 2c90b9aee0 wined3d: Clean up VS-PS interface matching in GLSL.
It makes easier to add similar handling for GS inputs and outputs.
Functionally this should be a NOP.

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:26 +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
Henri Verbeet aa666adfed wined3d: Send shader constant updates through the command stream.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-23 14:06:41 +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 b997719485 wined3d: Add support for 2D array texture samplers.
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-19 20:26:29 +09:00
Józef Kucia 05f6f111bf wined3d: Implement SV_VertexID in GLSL backend.
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:39:00 +09:00
Henri Verbeet 076697e31a wined3d: Rename MAX_CONST_B to WINED3D_MAX_CONSTS_B.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 10:35:34 +09:00
Henri Verbeet e71a360fcd wined3d: Store pixel shader integer constants as wined3d_ivec4 structures.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 01:06:13 +09:00
Henri Verbeet 43c31e68be wined3d: Store vertex shader integer constants as wined3d_ivec4 structures.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 01:06:13 +09:00
Henri Verbeet 4f1acfebf5 wined3d: Rename MAX_CONST_I to WINED3D_MAX_CONSTS_I.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 01:06:12 +09:00
Henri Verbeet 25b907697a wined3d: Only allow 224 pixel shader vec4's.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 01:06:12 +09:00
Henri Verbeet aa5ccba868 wined3d: Only allow 256 vertex shader vec4's.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 01:06:11 +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
Henri Verbeet e6b647d121 wined3d: Store pixel shader floating point constants as wined3d_vec4 structures.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-27 12:40:29 +09:00
Henri Verbeet b073e5c7b6 wined3d: Store vertex shader floating point constants as wined3d_vec4 structures.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-27 12:40:26 +09:00
Henri Verbeet f33c79d387 wined3d: Pass a wined3d_vec4 structure to shader_glsl_load_constants_f().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-26 14:48:13 +09:00
Henri Verbeet d7596b08ea wined3d: Pass a wined3d_vec4 structure to walk_constant_heap().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-26 14:48:11 +09:00
Henri Verbeet cf3d5a2046 wined3d: Pass a wined3d_vec4 structure to walk_constant_heap_clamped().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-26 14:48:07 +09:00
Henri Verbeet 468b1d9d9b wined3d: Pass a wined3d_vec4 structure to apply_clamped_constant().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-26 14:48:05 +09:00
Józef Kucia cb66c6390d wined3d: Print correct resource type in FIXME() message.
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-22 21:19:38 +09:00