summaryrefslogtreecommitdiffstats
path: root/src/compiler/glsl/float64.glsl
diff options
context:
space:
mode:
authorElie Tournier <[email protected]>2017-08-08 13:39:18 +0100
committerMatt Turner <[email protected]>2019-01-09 16:42:40 -0800
commit0428951b9d554faae13807e033d40c2e0698dc7b (patch)
tree1af44b3e009160d0e5a0f5ac4d5ff17e23e87a46 /src/compiler/glsl/float64.glsl
parentb63a1f8e40b6705d6a1d806fbd38dcd197d4229b (diff)
glsl: Add "built-in" function to do abs(fp64)
Signed-off-by: Elie Tournier <[email protected]>
Diffstat (limited to 'src/compiler/glsl/float64.glsl')
-rw-r--r--src/compiler/glsl/float64.glsl11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/compiler/glsl/float64.glsl b/src/compiler/glsl/float64.glsl
index a299269677a..28e3258e0fb 100644
--- a/src/compiler/glsl/float64.glsl
+++ b/src/compiler/glsl/float64.glsl
@@ -56,3 +56,14 @@
#define FLOAT_ROUND_DOWN 2
#define FLOAT_ROUND_UP 3
#define FLOAT_ROUNDING_MODE FLOAT_ROUND_NEAREST_EVEN
+
+/* Absolute value of a Float64 :
+ * Clear the sign bit
+ */
+uint64_t
+__fabs64(uint64_t __a)
+{
+ uvec2 a = unpackUint2x32(__a);
+ a.y &= 0x7FFFFFFFu;
+ return packUint2x32(a);
+}