Mesa (master): glsl: Replace open-coded dot-product with dot

Ian Romanick idr at kemper.freedesktop.org
Fri Mar 29 19:02:52 UTC 2013


Module: Mesa
Branch: master
Commit: 65cc68f4305a675e27feb7aae0d8a66b2710f3e4
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=65cc68f4305a675e27feb7aae0d8a66b2710f3e4

Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Mon Mar 25 14:40:53 2013 -0700

glsl: Replace open-coded dot-product with dot

Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
Cc: Eric Anholt <eric at anholt.net>
Cc: Paul Berry <stereotype441 at gmail.com>

---

 src/glsl/builtins/glsl/determinant.glsl |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/glsl/builtins/glsl/determinant.glsl b/src/glsl/builtins/glsl/determinant.glsl
index 78751a6..0800d40 100644
--- a/src/glsl/builtins/glsl/determinant.glsl
+++ b/src/glsl/builtins/glsl/determinant.glsl
@@ -22,6 +22,10 @@
  */
 
 #version 120
+
+// Forward declaration because builtins don't know about other builtins.
+float dot(vec4, vec4);
+
 float determinant(mat2 m)
 {
    return m[0].x * m[1].y - m[1].x * m[0].y;
@@ -63,8 +67,5 @@ float determinant(mat4 m)
    adj_0.z = + (m[1].x * SubFactor01 - m[1].y * SubFactor03 + m[1].w * SubFactor05);
    adj_0.w = - (m[1].x * SubFactor02 - m[1].y * SubFactor04 + m[1].z * SubFactor05);
 
-   return (+ m[0].x * adj_0.x
-           + m[0].y * adj_0.y
-           + m[0].z * adj_0.z
-           + m[0].w * adj_0.w);
+   return dot(m[0], adj_0);
 }




More information about the mesa-commit mailing list