Mesa (glsl2): glsl2/builtins: Rework clamp to use scalar/ vector combinations.

Ian Romanick idr at kemper.freedesktop.org
Thu Jul 15 00:18:23 UTC 2010


Module: Mesa
Branch: glsl2
Commit: d5316aeb38865b3315a8a2b46f2c5bfd0d985d65
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d5316aeb38865b3315a8a2b46f2c5bfd0d985d65

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Sat Jul 10 12:54:41 2010 -0700

glsl2/builtins: Rework clamp to use scalar/vector combinations.

---

 src/glsl/builtins/110/clamp |   18 +++---------------
 src/glsl/builtins/130/clamp |   36 ++++++------------------------------
 2 files changed, 9 insertions(+), 45 deletions(-)

diff --git a/src/glsl/builtins/110/clamp b/src/glsl/builtins/110/clamp
index 94c8e5e..d05cc76 100644
--- a/src/glsl/builtins/110/clamp
+++ b/src/glsl/builtins/110/clamp
@@ -32,31 +32,19 @@
        (declare (in) vec2  arg0)
        (declare (in) float arg1)
        (declare (in) float arg2))
-     ((declare () vec2 result)
-      (assign (constant bool (1)) (swiz x (var_ref result)) (expression vec4 max (expression vec4 min (swiz x (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz y (var_ref result)) (expression vec4 max (expression vec4 min (swiz y (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
-      (return (var_ref result))))
+     ((return (expression vec2 max (expression vec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
 
    (signature vec3
      (parameters
        (declare (in) vec3  arg0)
        (declare (in) float arg1)
        (declare (in) float arg2))
-     ((declare () vec3 result)
-      (assign (constant bool (1)) (swiz x (var_ref result)) (expression vec4 max (expression vec4 min (swiz x (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz y (var_ref result)) (expression vec4 max (expression vec4 min (swiz y (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz z (var_ref result)) (expression vec4 max (expression vec4 min (swiz z (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
-      (return (var_ref result))))
+     ((return (expression vec3 max (expression vec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
 
    (signature vec4
      (parameters
        (declare (in) vec4  arg0)
        (declare (in) float arg1)
        (declare (in) float arg2))
-     ((declare () vec4 result)
-      (assign (constant bool (1)) (swiz x (var_ref result)) (expression vec4 max (expression vec4 min (swiz x (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz y (var_ref result)) (expression vec4 max (expression vec4 min (swiz y (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz z (var_ref result)) (expression vec4 max (expression vec4 min (swiz z (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz w (var_ref result)) (expression vec4 max (expression vec4 min (swiz w (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
-      (return (var_ref result))))
+     ((return (expression vec4 max (expression vec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
 ))
diff --git a/src/glsl/builtins/130/clamp b/src/glsl/builtins/130/clamp
index 3aed22c..e1aad5c 100644
--- a/src/glsl/builtins/130/clamp
+++ b/src/glsl/builtins/130/clamp
@@ -32,33 +32,21 @@
        (declare (in) ivec2 arg0)
        (declare (in) int arg1)
        (declare (in) int arg2))
-     ((declare () ivec2 result)
-      (assign (constant bool (1)) (swiz x (var_ref result)) (expression ivec4 max (expression ivec4 min (swiz x (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz y (var_ref result)) (expression ivec4 max (expression ivec4 min (swiz y (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
-      (return (var_ref result))))
+     ((return (expression ivec2 max (expression ivec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
 
    (signature ivec3
      (parameters
        (declare (in) ivec3 arg0)
        (declare (in) int arg1)
        (declare (in) int arg2))
-     ((declare () ivec3 result)
-      (assign (constant bool (1)) (swiz x (var_ref result)) (expression ivec4 max (expression ivec4 min (swiz x (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz y (var_ref result)) (expression ivec4 max (expression ivec4 min (swiz y (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz z (var_ref result)) (expression ivec4 max (expression ivec4 min (swiz z (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
-      (return (var_ref result))))
+     ((return (expression ivec3 max (expression ivec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
 
    (signature ivec4
      (parameters
        (declare (in) ivec4 arg0)
        (declare (in) int arg1)
        (declare (in) int arg2))
-     ((declare () ivec4 result)
-      (assign (constant bool (1)) (swiz x (var_ref result)) (expression ivec4 max (expression ivec4 min (swiz x (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz y (var_ref result)) (expression ivec4 max (expression ivec4 min (swiz y (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz z (var_ref result)) (expression ivec4 max (expression ivec4 min (swiz z (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz w (var_ref result)) (expression ivec4 max (expression ivec4 min (swiz w (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
-      (return (var_ref result))))
+     ((return (expression ivec4 max (expression ivec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
 
    (signature uint
      (parameters
@@ -93,31 +81,19 @@
        (declare (in) uvec2 arg0)
        (declare (in) uint arg1)
        (declare (in) uint arg2))
-     ((declare () uvec2 result)
-      (assign (constant bool (1)) (swiz x (var_ref result)) (expression uvec4 max (expression uvec4 min (swiz x (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz y (var_ref result)) (expression uvec4 max (expression uvec4 min (swiz y (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
-      (return (var_ref result))))
+     ((return (expression uvec2 max (expression uvec2 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
 
    (signature uvec3
      (parameters
        (declare (in) uvec3 arg0)
        (declare (in) uint arg1)
        (declare (in) uint arg2))
-     ((declare () uvec3 result)
-      (assign (constant bool (1)) (swiz x (var_ref result)) (expression uvec4 max (expression uvec4 min (swiz x (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz y (var_ref result)) (expression uvec4 max (expression uvec4 min (swiz y (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz z (var_ref result)) (expression uvec4 max (expression uvec4 min (swiz z (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
-      (return (var_ref result))))
+     ((return (expression uvec3 max (expression uvec3 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
 
    (signature uvec4
      (parameters
        (declare (in) uvec4 arg0)
        (declare (in) uint arg1)
        (declare (in) uint arg2))
-     ((declare () uvec4 result)
-      (assign (constant bool (1)) (swiz x (var_ref result)) (expression uvec4 max (expression uvec4 min (swiz x (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz y (var_ref result)) (expression uvec4 max (expression uvec4 min (swiz y (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz z (var_ref result)) (expression uvec4 max (expression uvec4 min (swiz z (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz w (var_ref result)) (expression uvec4 max (expression uvec4 min (swiz w (var_ref arg0)) (var_ref arg2)) (var_ref arg1)))
-      (return (var_ref result))))
+     ((return (expression uvec4 max (expression uvec4 min (var_ref arg0) (var_ref arg2)) (var_ref arg1)))))
 ))




More information about the mesa-commit mailing list