Mesa (master): gallivm/nir: lower frexp/ldexp

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Aug 31 03:35:23 UTC 2020


Module: Mesa
Branch: master
Commit: 21324c40366eeeeacc29ac496e646491ebe3412f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=21324c40366eeeeacc29ac496e646491ebe3412f

Author: Dave Airlie <airlied at redhat.com>
Date:   Thu Aug 20 16:06:56 2020 +1000

gallivm/nir: lower frexp/ldexp

Fixes:
dEQP-VK.glsl.builtin.precision.frexp*
dEQP-VK.glsl.builtin.precision.ldexp*

Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6381>

---

 src/gallium/auxiliary/gallivm/lp_bld_nir.c | 1 +
 src/gallium/drivers/llvmpipe/lp_screen.c   | 1 +
 2 files changed, 2 insertions(+)

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_nir.c b/src/gallium/auxiliary/gallivm/lp_bld_nir.c
index b9fb3393a7c..d4d35a11594 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_nir.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_nir.c
@@ -2036,6 +2036,7 @@ void lp_build_opt_nir(struct nir_shader *nir)
       .lower_tg4_offsets = true,
    };
    NIR_PASS_V(nir, nir_lower_tex, &lower_tex_options);
+   NIR_PASS_V(nir, nir_lower_frexp);
 
    do {
       progress = false;
diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c
index b12bcbd1af1..fb4d9835af7 100644
--- a/src/gallium/drivers/llvmpipe/lp_screen.c
+++ b/src/gallium/drivers/llvmpipe/lp_screen.c
@@ -553,6 +553,7 @@ static const struct nir_shader_compiler_options gallivm_nir_options = {
    .lower_fmod = true,
    .lower_hadd = true,
    .lower_add_sat = true,
+   .lower_ldexp = true,
    .lower_pack_snorm_2x16 = true,
    .lower_pack_snorm_4x8 = true,
    .lower_pack_unorm_2x16 = true,



More information about the mesa-commit mailing list