Signed-off-by: Samuel Iglesias Gonsálvez <sigles...@igalia.com> --- src/compiler/nir/nir_lower_double_ops.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/compiler/nir/nir_lower_double_ops.c b/src/compiler/nir/nir_lower_double_ops.c index b3543bc6963..c27e2d384a5 100644 --- a/src/compiler/nir/nir_lower_double_ops.c +++ b/src/compiler/nir/nir_lower_double_ops.c @@ -289,9 +289,14 @@ lower_sqrt_rsq(nir_builder *b, nir_ssa_def *src, bool sqrt) * 0 -> 0 and * +inf -> +inf */ - res = nir_bcsel(b, nir_ior(b, nir_feq(b, src, nir_imm_double(b, 0.0)), + nir_ssa_def *src_flushed = nir_bcsel(b, + nir_flt(b, nir_fabs(b, src), + nir_imm_double(b, 2.22507385850720138309023271733e-308)), + nir_imm_double(b, 0.0), + src); + res = nir_bcsel(b, nir_ior(b, nir_feq(b, src_flushed, nir_imm_double(b, 0.0)), nir_feq(b, src, nir_imm_double(b, INFINITY))), - src, res); + src_flushed, res); } else { res = fix_inv_result(b, res, src, new_exp); } -- 2.19.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev