Mesa (main): lavapipe: run nir_fold_16bit_sampler_conversions

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Apr 20 13:04:34 UTC 2022


Module: Mesa
Branch: main
Commit: b043d4c4c64a092c4cb352ce93fa9cef57814226
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b043d4c4c64a092c4cb352ce93fa9cef57814226

Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Thu Mar 10 09:02:04 2022 -0500

lavapipe: run nir_fold_16bit_sampler_conversions

big cleanup for all shaders coming from zink

Reviewed-by: Dave Airlie <airlied at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15852>

---

 src/gallium/frontends/lavapipe/lvp_pipeline.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/gallium/frontends/lavapipe/lvp_pipeline.c b/src/gallium/frontends/lavapipe/lvp_pipeline.c
index 247a898714a..1d556ce1026 100644
--- a/src/gallium/frontends/lavapipe/lvp_pipeline.c
+++ b/src/gallium/frontends/lavapipe/lvp_pipeline.c
@@ -949,6 +949,11 @@ lvp_shader_compile_to_ir(struct lvp_pipeline *pipeline,
       NIR_PASS_V(nir, nir_lower_io_arrays_to_elements_no_indirects, true);
    }
 
+   // TODO: also optimize the tex srcs. see radeonSI for reference */
+   /* Skip if there are potentially conflicting rounding modes */
+   if (!nir_has_any_rounding_mode_enabled(nir->info.float_controls_execution_mode))
+      NIR_PASS_V(nir, nir_fold_16bit_sampler_conversions, 0, UINT32_MAX);
+
    optimize(nir);
 
    NIR_PASS_V(nir, nir_lower_var_copies);



More information about the mesa-commit mailing list