From 65cc68f4305a675e27feb7aae0d8a66b2710f3e4 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Mon, 25 Mar 2013 14:40:53 -0700 Subject: [PATCH] glsl: Replace open-coded dot-product with dot Signed-off-by: Ian Romanick Reviewed-by: Matt Turner Reviewed-by: Kenneth Graunke Reviewed-by: Jordan Justen Cc: Eric Anholt Cc: Paul Berry --- src/glsl/builtins/glsl/determinant.glsl | 9 +++++---- 1 file 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); } -- 2.7.4