glsl: Add "built-in" functions to do fmin/fmax(fp64)
[mesa.git] / src / compiler / glsl / float64.glsl
index 1a434b1fd596262d8bf19ef7476246b149ee2ba1..88ce0a749579148a504a2cc43695d95f182928e9 100644 (file)
@@ -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;
+}