Stefan Dösinger : wined3d: Get rid of the conditionals in shader_glsl_compare.

Alexandre Julliard julliard at winehq.org
Thu Nov 8 07:07:35 CST 2007


Module: wine
Branch: master
Commit: 98b291192f2b2579502f17d4c161fe1a18aa4966
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=98b291192f2b2579502f17d4c161fe1a18aa4966

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Mon Nov  5 23:13:00 2007 +0100

wined3d: Get rid of the conditionals in shader_glsl_compare.

---

 dlls/wined3d/glsl_shader.c |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 46f87aa..0dfcccd 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -1563,17 +1563,17 @@ void shader_glsl_compare(SHADER_OPCODE_ARG* arg) {
         shader_addline(arg->buffer, "vec%d(%s(%s, %s)));\n", mask_size, compare,
                 src0_param.param_str, src1_param.param_str);
     } else {
-        const char *compare;
-
         switch(arg->opcode->opcode) {
-            case WINED3DSIO_SLT: compare = "<"; break;
-            case WINED3DSIO_SGE: compare = ">="; break;
-            default: compare = "";
+            case WINED3DSIO_SLT:
+                shader_addline(arg->buffer, "step(%s, %s));\n", src0_param.param_str, src1_param.param_str);
+                break;
+            case WINED3DSIO_SGE:
+                shader_addline(arg->buffer, "step(%s, %s));\n", src1_param.param_str, src0_param.param_str);
+                break;
+            default:
                 FIXME("Can't handle opcode %s\n", arg->opcode->name);
         }
 
-        shader_addline(arg->buffer, "(%s %s %s) ? 1.0 : 0.0);\n",
-                src0_param.param_str, compare, src1_param.param_str);
     }
 }
 




More information about the wine-cvs mailing list