glsl/builtins: Simplify degenerate scalar float cases.
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 8 Sep 2010 06:16:26 +0000 (23:16 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Wed, 8 Sep 2010 19:09:41 +0000 (12:09 -0700)
The code being generated was just stupid, considering that:
- normalize(x) = 1.0
- length(x) = x
- distance(x, y) = x - y

src/glsl/builtins/ir/distance
src/glsl/builtins/ir/length
src/glsl/builtins/ir/normalize

index 1595bf669bb07995e3660f5aa0205f83e332db40..f73f755b32b8ee801f61833de71bec903c9a2a30 100644 (file)
@@ -3,9 +3,7 @@
      (parameters
        (declare (in) float p0)
        (declare (in) float p1))
-     ((declare () float p)
-      (assign (constant bool (1)) (x) (var_ref p) (expression float - (var_ref p0) (var_ref p1)))
-      (return (expression float sqrt (expression float dot (var_ref p) (var_ref p))))))
+     ((return (expression float - (var_ref p0) (var_ref p1)))))
 
    (signature float
      (parameters
index 89ff7f3ef12a27d728591fc87e407ddcd08e3348..3fc3103da16fde224aa71ba0b6a305746e2ea97b 100644 (file)
@@ -2,7 +2,7 @@
    (signature float
      (parameters
        (declare (in) float arg0))
-     ((return (expression float sqrt (expression float dot (var_ref arg0) (var_ref arg0))))))
+     ((return (var_ref arg0))))
 
    (signature float
      (parameters
index be88a9830d1409e5ba644e78ffda05da0d593e08..02b249a57f81d2d89e5344d3927c433e688465a9 100644 (file)
@@ -2,7 +2,7 @@
    (signature float
      (parameters
        (declare (in) float arg0))
-     ((return (expression float * (var_ref arg0) (expression float rsq (expression float dot (var_ref arg0) (var_ref arg0)))))))
+     ((return (constant float (1.0)))))
 
    (signature vec2
      (parameters