diff options
author | Matt Turner <mattst88@gmail.com> | 2018-11-08 21:34:05 -0800 |
---|---|---|
committer | Matt Turner <mattst88@gmail.com> | 2019-01-08 21:29:34 -0800 |
commit | 1ab259d04f5664a94f35e59f37240d2b528eb7ba (patch) | |
tree | b644e11b5ab0efeea6a24c5f5c6598e57d6b6306 | |
parent | 8d096fc07b6c8aa5b3989e7bd996249ae6320d7c (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.glsl | 20 |
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; +} |