From b043d4c4c64a092c4cb352ce93fa9cef57814226 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 10 Mar 2022 09:02:04 -0500 Subject: [PATCH] lavapipe: run nir_fold_16bit_sampler_conversions big cleanup for all shaders coming from zink Reviewed-by: Dave Airlie Part-of: --- 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);