[v2 1/2] d3dx9: Use pass update version for detecting updated FXLC parameter.

Paul Gofman gofmanp at gmail.com
Fri May 19 12:30:07 CDT 2017


This fixes a regression introduced by commit a1795848442022885ce1be127644d5eb1b95b914.
If the sampler has FXLC parameter, and this sampler is used by both vertex and
pixel shader, is_param_eval_input_dirty(..., UNLONG64_MAX) was returning false on the second
shader update, while it should be updated too (sampler has different indices).

Signed-off-by: Paul Gofman <gofmanp at gmail.com>
---
v2: Updated test in a second patch.
---
 dlls/d3dx9_36/effect.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c
index 511ed32..3c6381d 100644
--- a/dlls/d3dx9_36/effect.c
+++ b/dlls/d3dx9_36/effect.c
@@ -1092,7 +1092,7 @@ 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))
+                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);
-- 
2.9.3




More information about the wine-patches mailing list