diff options
author | Erik Faye-Lund <[email protected]> | 2019-09-24 16:57:03 +0200 |
---|---|---|
committer | Dylan Baker <[email protected]> | 2019-09-26 08:47:50 -0700 |
commit | 109137ee7bc2d6e197d03f03dfebdf9a7748a137 (patch) | |
tree | 1f3db74311692bbc91666c621549391fcbc48606 | |
parent | f4faf5cbd7da4f00d9293f29d1212be91bc88314 (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.cpp | 4 |
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)); |