Module: wine Branch: master Commit: 174ea70bf3301fd837518e376a2f5b097fac5503 URL: http://source.winehq.org/git/wine.git/?a=commit;h=174ea70bf3301fd837518e376a...
Author: Paul Gofman gofmanp@gmail.com Date: Mon May 22 13:24:12 2017 +0200
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
---
dlls/d3dx9_36/effect.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c index 511ed32..e9b139e 100644 --- a/dlls/d3dx9_36/effect.c +++ b/dlls/d3dx9_36/effect.c @@ -1092,7 +1092,10 @@ static HRESULT d3dx9_get_param_value_ptr(struct d3dx_pass *pass, struct d3dx_sta { *out_param = param; *param_value = param->data; - if (update_all || is_param_eval_input_dirty(param->param_eval, ULONG64_MAX)) + /* We check with the update_version of the pass because the + * same preshader might be used by both the vertex and the + * pixel shader (that can happen e.g. for sampler states). */ + if (update_all || is_param_eval_input_dirty(param->param_eval, pass->update_version)) { *param_dirty = TRUE; return d3dx_evaluate_parameter(param->param_eval, param, *param_value);