summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErik Faye-Lund <[email protected]>2019-09-24 16:57:03 +0200
committerErik Faye-Lund <[email protected]>2019-09-25 04:52:54 +0000
commit88f909eb37dc3867f9d2fcd44ccee6dceaac071c (patch)
treef11ba84263e7020fcb988db98660d179946087a2
parent678ebda8b7df114f278f619f88ab2a0a5cf0eb48 (diff)
glsl: correct bitcast-helpers
Without this, we'll incorrectly round off huge values to the nearest representable double instead of keeping it at the exact value as we're supposed to. Found by inspecting compiler-warnings. Signed-off-by: Erik Faye-Lund <[email protected]> Fixes: 85faf5082f ("glsl: Add 64-bit integer support for constant expressions") Reviewed-by: Eric Engestrom <[email protected]>
-rw-r--r--src/compiler/glsl/ir_constant_expression.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/compiler/glsl/ir_constant_expression.cpp b/src/compiler/glsl/ir_constant_expression.cpp
index e5893103ed2..1605e571758 100644
--- a/src/compiler/glsl/ir_constant_expression.cpp
+++ b/src/compiler/glsl/ir_constant_expression.cpp
@@ -106,7 +106,7 @@ bitcast_i642d(int64_t i)
return d;
}
-static double
+static uint64_t
bitcast_d2u64(double d)
{
assert(sizeof(double) == sizeof(uint64_t));
@@ -115,7 +115,7 @@ bitcast_d2u64(double d)
return u;
}
-static double
+static int64_t
bitcast_d2i64(double d)
{
assert(sizeof(double) == sizeof(int64_t));