[PATCH 6/7] d3dx9: Fix NAN handling in 'cmp' preshader opcode.

Paul Gofman gofmanp at gmail.com
Fri May 19 06:56:38 CDT 2017


Signed-off-by: Paul Gofman <gofmanp at gmail.com>
---
 dlls/d3dx9_36/preshader.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dlls/d3dx9_36/preshader.c b/dlls/d3dx9_36/preshader.c
index 50ab18f..af30c55 100644
--- a/dlls/d3dx9_36/preshader.c
+++ b/dlls/d3dx9_36/preshader.c
@@ -102,7 +102,7 @@ static double pres_ge(double *args, int n)  {return args[0] >= args[1] ? 1.0 : 0
 static double pres_frc(double *args, int n) {return args[0] - floor(args[0]);}
 static double pres_min(double *args, int n) {return fmin(args[0], args[1]);}
 static double pres_max(double *args, int n) {return fmax(args[0], args[1]);}
-static double pres_cmp(double *args, int n) {return args[0] < 0.0 ? args[2] : args[1];}
+static double pres_cmp(double *args, int n) {return isnan(args[0]) || args[0] < 0.0 ? args[2] : args[1];}
 static double pres_sin(double *args, int n) {return sin(args[0]);}
 static double pres_cos(double *args, int n) {return cos(args[0]);}
 static double pres_rsq(double *args, int n)
-- 
2.9.3




More information about the wine-patches mailing list