Michael Stefaniuc
4b85165cdc
d3dx9: Merge the d3dx9_effect_GetDesc() helper.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-28 21:37:30 +01:00
Michael Stefaniuc
715b932768
d3dx9: Merge the stub ID3DXBaseEffect methods.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-28 21:37:30 +01:00
Michael Stefaniuc
612196b64c
d3dx9: Rename the ID3DXEffect object and methods.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-28 21:37:30 +01:00
Matteo Bruni
4a9fe7a8a0
d3dx9: Simplify get_parameter_by_name().
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-20 19:14:45 +01:00
Michael Stefaniuc
be30aab1e2
d3dx9: Remove redundant "not NULL" checks (coccinellery).
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-20 18:42:45 +01:00
Paul Gofman
f72204abd6
d3dx9: Use parameter data for the first constant only in d3dx_set_shader_const_state().
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-15 15:07:52 +01:00
Paul Gofman
b3e91c3408
d3dx9: Handle short parameter in d3dx_set_shader_const_state().
...
The issue is spotted in https://bugs.winehq.org/show_bug.cgi?id=46553 ,
while fixing it alone is reported not to affect the bug.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-15 15:07:40 +01:00
Valentin Gabriel Mitrea
970009fed7
d3dx9: Fix D3DCompile() call.
...
When using D3DCompile() with an fx profile, the entry point
parameter is not used. So, it should be set to NULL.
Signed-off-by: Valentin Gabriel Mitrea <mitrea.valentin@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-24 18:15:09 +02:00
Matteo Bruni
f956200775
d3dx9: Allow passes argument to Begin() to be NULL.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-18 21:26:00 +02:00
Matteo Bruni
01e278a309
d3dx9: Fix FindNextValidTechnique() when no previous technique is specified.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-28 23:05:04 +02:00
Matteo Bruni
afef57f872
d3dx9: Disentangle ID3DXEffectCompiler implementation from struct d3dx9_base_effect.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-22 22:06:00 +01:00
Matteo Bruni
c3342644e4
d3dx9: Implement FindNextValidTechnique().
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-22 22:05:56 +01:00
Matteo Bruni
f5b888a708
d3dx9: Fix handling of includes in D3DXCreateEffectFromFileExW().
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-22 22:05:52 +01:00
Matteo Bruni
1bba7c5705
d3dx9: Implement ID3DXEffect::OnLostDevice().
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-21 10:14:11 +01:00
Matteo Bruni
f335932a81
d3dx9: Introduce a parameter rbtree to speed up get_parameter_by_name().
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-21 10:14:06 +01:00
Sebastian Lackner
1c8c9308e7
d3dx9: Adjust ID3DXEffect interface based on DLL version.
...
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-03-14 22:39:13 +01:00
Matteo Bruni
972dc565ed
d3dx9: Skip AddRef + Release if SetValue is called with the old texture.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-14 22:38:46 +01:00
Nikolay Sivov
c3f92419e8
d3dx9: Improve argument validation in CloneEffect().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-05 06:58:45 -06:00
Matteo Bruni
3a5688a795
d3dx9: Use the D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY flag when compiling ASCII effects.
...
Some manual testing shows that the behavior changed with d3dx9_37.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-08 10:16:57 +01:00
Paul Gofman
0778f1c294
d3dx9: Fix zero object_id handling in d3dx9_base_effect_get_pass_desc().
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-08 07:56:19 +02:00
Paul Gofman
07cc9acc9f
d3dx9: Return E_FAIL from ValidateTechnique() for techniques with unsupported shaders.
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-08 07:56:15 +02:00
Paul Gofman
6c7c511a27
d3dx9: Do not fail effect creation if a shader cannot be created.
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-01 07:34:15 +02:00
Paul Gofman
e06b7693d6
d3dx9: Use bitmask instead of BOOL array for light_updated.
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-31 20:15:32 +02:00
Paul Gofman
847f772fe1
d3dx9: Use distinct structure for top level parameters.
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-04 09:28:37 +02:00
Paul Gofman
3a10679b7a
d3dx9: Move referenced_param definition from d3dx_parameter to d3dx_state.
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-04 09:28:32 +02:00
Paul Gofman
f09bf52d5d
d3dx9: Return NULL for child parameter's annotation in get_parameter_by_name().
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-04 09:28:29 +02:00
Paul Gofman
ec199c9e0e
d3dx9: Remove case for annotation in get_parameter_element_by_name().
...
Elements or struct members can't have annotations.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-04 09:28:25 +02:00
Paul Gofman
4b11a99108
d3dx9: Support skip_constants parameter for effect.
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-18 20:43:34 +02:00
Paul Gofman
518b2f27cf
d3dx9: Fail effect creation when parameter evaluator creation fails.
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-18 20:43:34 +02:00
Paul Gofman
57de7e9919
d3dx9: Factor out is_parameter_used() function.
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-10 22:40:58 +02:00
Paul Gofman
8f9bbdf9ad
d3dx9: Support arrays of samplers.
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-05 20:26:27 +02:00
Paul Gofman
174ea70bf3
d3dx9: Use pass update version for detecting updated FXLC parameter.
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-22 13:45:48 +02:00
Paul Gofman
454a2c5c21
d3dx9: Match native out of bounds array selector index handling.
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-18 19:56:39 +02:00
Paul Gofman
a179584844
d3dx9: Use versioned parameter updates instead of 'dirty' flags.
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-18 19:47:26 +02:00
Józef Kucia
1bef693767
d3dx9: Fix compilation on systems that don't support nameless unions.
...
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>
2017-05-11 10:17:50 -05:00
Paul Gofman
d1ac3b8e72
d3dx9: Support setting strings in effect.
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-07 16:19:31 -05:00
Paul Gofman
a79da9689d
d3dx9: Do not set active pass if BeginPass() failed.
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-07 16:19:27 -05:00
Paul Gofman
b7198efd42
d3dx9: Return shader functions in d3dx9_base_effect_get_pass_desc().
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-05 00:19:45 +02:00
Paul Gofman
1817f63a51
d3dx9: Don't call get_parameter_by_name() from get_valid_parameter() if D3DXFX_LARGEADDRESSAWARE flag is set.
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-03 22:58:00 +02:00
Paul Gofman
a52a2d1aab
d3dx9: Store effect creation flags in struct d3dx_base_effect.
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-03 22:58:00 +02:00
Paul Gofman
0750e758cc
d3dx9: Downgrade unknown DWORD FIXMEs() to WARN() messages.
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-28 09:15:02 +02:00
Paul Gofman
f0e9dea59c
d3dx9: Remove unused parameter 'effect' from d3dx9_get_param_value_ptr().
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-28 09:15:00 +02:00
Paul Gofman
6f99cf01e1
d3dx9: Support parameters sharing in effect.
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-26 20:33:58 +02:00
Paul Gofman
9043ff030e
d3dx9: Reference effect pool implementation in d3dx9_base_effect structure.
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-26 20:33:51 +02:00
Paul Gofman
bb52c5983d
d3dx9: Factor out free_parameter_data() function.
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-25 20:53:07 +02:00
Paul Gofman
1bd3cc24af
d3dx9: Fix IsParameterUsed() for the case when state references child parameter.
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-25 20:53:06 +02:00
Paul Gofman
2be74048d6
d3dx9: Reference top level parameter instead of dirty flag.
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-25 20:53:06 +02:00
Paul Gofman
c30b91d382
d3dx9: Compare parameter definition instead of parameter handle in IsParameterUsed().
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-19 09:09:35 +02:00
Paul Gofman
5029c2c0fd
d3dx9: Use magic number instead of parameter tables for parameter handles.
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-19 09:09:33 +02:00
Paul Gofman
2b18cd4321
d3dx9: Preserve states regardless of state manager presence.
...
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-10 22:12:45 +02:00