summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Turner <mattst88@gmail.com>2018-11-08 21:34:05 -0800
committerMatt Turner <mattst88@gmail.com>2019-01-08 21:29:34 -0800
commit1ab259d04f5664a94f35e59f37240d2b528eb7ba (patch)
treeb644e11b5ab0efeea6a24c5f5c6598e57d6b6306
parent8d096fc07b6c8aa5b3989e7bd996249ae6320d7c (diff)
glsl: Add "built-in" functions to do fmin/fmax(fp64)
Reviewed-by: Elie Tournier <tournier.elie@gmail.com>
-rw-r--r--src/compiler/glsl/float64.glsl20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/compiler/glsl/float64.glsl b/src/compiler/glsl/float64.glsl
index 1a434b1fd59..88ce0a74957 100644
--- a/src/compiler/glsl/float64.glsl
+++ b/src/compiler/glsl/float64.glsl
@@ -1425,3 +1425,23 @@ __fround64(uint64_t __a)
a.y = aHi;
return packUint2x32(a);
}
+
+uint64_t
+__fmin64(uint64_t a, uint64_t b)
+{
+ if (__is_nan(a)) return b;
+ if (__is_nan(b)) return a;
+
+ if (__flt64_nonnan(a, b)) return a;
+ return b;
+}
+
+uint64_t
+__fmax64(uint64_t a, uint64_t b)
+{
+ if (__is_nan(a)) return b;
+ if (__is_nan(b)) return a;
+
+ if (__flt64_nonnan(a, b)) return b;
+ return a;
+}