glsl2/builtins: Rework min/max to use scalar/vector combinations.
authorKenneth Graunke <kenneth@whitecape.org>
Fri, 9 Jul 2010 19:12:41 +0000 (12:12 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Wed, 14 Jul 2010 23:49:24 +0000 (16:49 -0700)
src/glsl/builtins/110/max
src/glsl/builtins/110/min
src/glsl/builtins/130/max
src/glsl/builtins/130/min

index c05545f3d93f1a6c7d08d9cb614f22a9a998ed11..f91ae417e4b02396305f102e64679700b3895e6a 100644 (file)
      (parameters
        (declare (in) vec2  arg0)
        (declare (in) float arg1))
-     ((declare () vec2 result)
-      (assign (constant bool (1))   (swiz x (var_ref result))
-              (expression float max (swiz x (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1))   (swiz y (var_ref result))
-              (expression float max (swiz y (var_ref arg0)) (var_ref arg1)))
-      (return (var_ref result))))
+     ((return (expression vec2 max (var_ref arg0) (var_ref arg1)))))
 
    (signature vec3
      (parameters
        (declare (in) vec3  arg0)
        (declare (in) float arg1))
-     ((declare () vec3 result)
-      (assign (constant bool (1))   (swiz x (var_ref result))
-              (expression float max (swiz x (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1))   (swiz y (var_ref result))
-              (expression float max (swiz y (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1))   (swiz z (var_ref result))
-              (expression float max (swiz z (var_ref arg0)) (var_ref arg1)))
-      (return (var_ref result))))
+     ((return (expression vec3 max (var_ref arg0) (var_ref arg1)))))
 
    (signature vec4
      (parameters
        (declare (in) vec4  arg0)
        (declare (in) float arg1))
-     ((declare () vec4 result)
-      (assign (constant bool (1))   (swiz x (var_ref result))
-              (expression float max (swiz x (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1))   (swiz y (var_ref result))
-              (expression float max (swiz y (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1))   (swiz z (var_ref result))
-              (expression float max (swiz z (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1))   (swiz w (var_ref result))
-              (expression float max (swiz w (var_ref arg0)) (var_ref arg1)))
-      (return (var_ref result))))
+     ((return (expression vec4 max (var_ref arg0) (var_ref arg1)))))
 ))
index 31e794894056272eb302a99b644cd7381b5bcbd3..78fc44120af6870e90fbfb006786a5e4f5792ce7 100644 (file)
      (parameters
        (declare (in) vec2  arg0)
        (declare (in) float arg1))
-     ((declare () vec2 result)
-      (assign (constant bool (1))   (swiz x (var_ref result))
-              (expression float min (swiz x (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1))   (swiz y (var_ref result))
-              (expression float min (swiz y (var_ref arg0)) (var_ref arg1)))
-      (return (var_ref result))))
+     ((return (expression vec2 min (var_ref arg0) (var_ref arg1)))))
 
    (signature vec3
      (parameters
        (declare (in) vec3  arg0)
        (declare (in) float arg1))
-     ((declare () vec3 result)
-      (assign (constant bool (1))   (swiz x (var_ref result))
-              (expression float min (swiz x (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1))   (swiz y (var_ref result))
-              (expression float min (swiz y (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1))   (swiz z (var_ref result))
-              (expression float min (swiz z (var_ref arg0)) (var_ref arg1)))
-      (return (var_ref result))))
+     ((return (expression vec3 min (var_ref arg0) (var_ref arg1)))))
 
    (signature vec4
      (parameters
        (declare (in) vec4  arg0)
        (declare (in) float arg1))
-     ((declare () vec4 result)
-      (assign (constant bool (1))   (swiz x (var_ref result))
-              (expression float min (swiz x (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1))   (swiz y (var_ref result))
-              (expression float min (swiz y (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1))   (swiz z (var_ref result))
-              (expression float min (swiz z (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1))   (swiz w (var_ref result))
-              (expression float min (swiz w (var_ref arg0)) (var_ref arg1)))
-      (return (var_ref result))))
+     ((return (expression vec4 min (var_ref arg0) (var_ref arg1)))))
 ))
index 45a6089c9f21aeacadea78d6df74489703579730..0863e411a32937813adb029164f7afec270e207e 100644 (file)
      (parameters
        (declare (in) ivec2  arg0)
        (declare (in) int arg1))
-     ((declare () ivec2 result)
-      (assign (constant bool (1)) (swiz x (var_ref result))
-              (expression int max (swiz x (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz y (var_ref result))
-              (expression int max (swiz y (var_ref arg0)) (var_ref arg1)))
-      (return (var_ref result))))
+     ((return (expression ivec2 max (var_ref arg0) (var_ref arg1)))))
 
    (signature ivec3
      (parameters
        (declare (in) ivec3  arg0)
        (declare (in) int arg1))
-     ((declare () ivec3 result)
-      (assign (constant bool (1)) (swiz x (var_ref result))
-              (expression int max (swiz x (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz y (var_ref result))
-              (expression int max (swiz y (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz z (var_ref result))
-              (expression int max (swiz z (var_ref arg0)) (var_ref arg1)))
-      (return (var_ref result))))
+     ((return (expression ivec3 max (var_ref arg0) (var_ref arg1)))))
 
    (signature ivec4
      (parameters
        (declare (in) ivec4  arg0)
        (declare (in) int arg1))
-     ((declare () ivec4 result)
-      (assign (constant bool (1)) (swiz x (var_ref result))
-              (expression int max (swiz x (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz y (var_ref result))
-              (expression int max (swiz y (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz z (var_ref result))
-              (expression int max (swiz z (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz w (var_ref result))
-              (expression int max (swiz w (var_ref arg0)) (var_ref arg1)))
-      (return (var_ref result))))
+     ((return (expression ivec4 max (var_ref arg0) (var_ref arg1)))))
 
    (signature uint
      (parameters
      (parameters
        (declare (in) uvec2  arg0)
        (declare (in) uint arg1))
-     ((declare () uvec2 result)
-      (assign (constant bool (1)) (swiz x (var_ref result))
-              (expression uint max (swiz x (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz y (var_ref result))
-              (expression uint max (swiz y (var_ref arg0)) (var_ref arg1)))
-      (return (var_ref result))))
+     ((return (expression uvec2 max (var_ref arg0) (var_ref arg1)))))
 
    (signature uvec3
      (parameters
        (declare (in) uvec3  arg0)
        (declare (in) uint arg1))
-     ((declare () uvec3 result)
-      (assign (constant bool (1)) (swiz x (var_ref result))
-              (expression uint max (swiz x (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz y (var_ref result))
-              (expression uint max (swiz y (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz z (var_ref result))
-              (expression uint max (swiz z (var_ref arg0)) (var_ref arg1)))
-      (return (var_ref result))))
+     ((return (expression uvec3 max (var_ref arg0) (var_ref arg1)))))
 
    (signature uvec4
      (parameters
        (declare (in) uvec4  arg0)
        (declare (in) uint arg1))
-     ((declare () uvec4 result)
-      (assign (constant bool (1)) (swiz x (var_ref result))
-              (expression uint max (swiz x (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz y (var_ref result))
-              (expression uint max (swiz y (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz z (var_ref result))
-              (expression uint max (swiz z (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz w (var_ref result))
-              (expression uint max (swiz w (var_ref arg0)) (var_ref arg1)))
-      (return (var_ref result))))
+     ((return (expression uvec4 max (var_ref arg0) (var_ref arg1)))))
 ))
index d98ec1e79dabc7efdbd4cc2962db13bdd72af509..576546f6f20781dfe4536cec741957245e915296 100644 (file)
      (parameters
        (declare (in) ivec2  arg0)
        (declare (in) int arg1))
-     ((declare () ivec2 result)
-      (assign (constant bool (1)) (swiz x (var_ref result))
-              (expression int min (swiz x (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz y (var_ref result))
-              (expression int min (swiz y (var_ref arg0)) (var_ref arg1)))
-      (return (var_ref result))))
+     ((return (expression ivec2 min (var_ref arg0) (var_ref arg1)))))
 
    (signature ivec3
      (parameters
        (declare (in) ivec3  arg0)
        (declare (in) int arg1))
-     ((declare () ivec3 result)
-      (assign (constant bool (1)) (swiz x (var_ref result))
-              (expression int min (swiz x (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz y (var_ref result))
-              (expression int min (swiz y (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz z (var_ref result))
-              (expression int min (swiz z (var_ref arg0)) (var_ref arg1)))
-      (return (var_ref result))))
+     ((return (expression ivec3 min (var_ref arg0) (var_ref arg1)))))
 
    (signature ivec4
      (parameters
        (declare (in) ivec4  arg0)
        (declare (in) int arg1))
-     ((declare () ivec4 result)
-      (assign (constant bool (1)) (swiz x (var_ref result))
-              (expression int min (swiz x (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz y (var_ref result))
-              (expression int min (swiz y (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz z (var_ref result))
-              (expression int min (swiz z (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz w (var_ref result))
-              (expression int min (swiz w (var_ref arg0)) (var_ref arg1)))
-      (return (var_ref result))))
+     ((return (expression ivec4 min (var_ref arg0) (var_ref arg1)))))
 
    (signature uint
      (parameters
      (parameters
        (declare (in) uvec2  arg0)
        (declare (in) uint arg1))
-     ((declare () uvec2 result)
-      (assign (constant bool (1)) (swiz x (var_ref result))
-              (expression uint min (swiz x (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz y (var_ref result))
-              (expression uint min (swiz y (var_ref arg0)) (var_ref arg1)))
-      (return (var_ref result))))
+     ((return (expression uvec2 min (var_ref arg0) (var_ref arg1)))))
 
    (signature uvec3
      (parameters
        (declare (in) uvec3  arg0)
        (declare (in) uint arg1))
-     ((declare () uvec3 result)
-      (assign (constant bool (1)) (swiz x (var_ref result))
-              (expression uint min (swiz x (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz y (var_ref result))
-              (expression uint min (swiz y (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz z (var_ref result))
-              (expression uint min (swiz z (var_ref arg0)) (var_ref arg1)))
-      (return (var_ref result))))
+     ((return (expression uvec3 min (var_ref arg0) (var_ref arg1)))))
 
    (signature uvec4
      (parameters
        (declare (in) uvec4  arg0)
        (declare (in) uint arg1))
-     ((declare () uvec4 result)
-      (assign (constant bool (1)) (swiz x (var_ref result))
-              (expression uint min (swiz x (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz y (var_ref result))
-              (expression uint min (swiz y (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz z (var_ref result))
-              (expression uint min (swiz z (var_ref arg0)) (var_ref arg1)))
-      (assign (constant bool (1)) (swiz w (var_ref result))
-              (expression uint min (swiz w (var_ref arg0)) (var_ref arg1)))
-      (return (var_ref result))))
+     ((return (expression uvec4 min (var_ref arg0) (var_ref arg1)))))
 ))