summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErik Faye-Lund <[email protected]>2019-09-24 16:57:03 +0200
committerDylan Baker <[email protected]>2019-09-26 08:47:50 -0700
commit109137ee7bc2d6e197d03f03dfebdf9a7748a137 (patch)
tree1f3db74311692bbc91666c621549391fcbc48606
parentf4faf5cbd7da4f00d9293f29d1212be91bc88314 (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]> (cherry picked from commit 88f909eb37dc3867f9d2fcd44ccee6dceaac071c)
-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));