From 0d41c4b3d916febd79429f0d9384da587d833775 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Fri, 7 May 2021 10:14:15 +1000 Subject: [PATCH] lavapipe: scan shader for info before lowering images. Otherwise the values will be wrong. Reviewed-by: Mike Blumenkrantz Part-of: --- src/gallium/frontends/lavapipe/lvp_pipeline.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/frontends/lavapipe/lvp_pipeline.c b/src/gallium/frontends/lavapipe/lvp_pipeline.c index 62a3191c27c..7886623d960 100644 --- a/src/gallium/frontends/lavapipe/lvp_pipeline.c +++ b/src/gallium/frontends/lavapipe/lvp_pipeline.c @@ -470,6 +470,8 @@ lvp_shader_compile_to_ir(struct lvp_pipeline *pipeline, scan_pipeline_info(pipeline, nir); optimize(nir); + nir_shader_gather_info(nir, nir_shader_get_entrypoint(nir)); + lvp_lower_pipeline_layout(pipeline->device, pipeline->layout, nir); NIR_PASS_V(nir, nir_lower_io_to_temporaries, nir_shader_get_entrypoint(nir), true, true); @@ -511,8 +513,6 @@ lvp_shader_compile_to_ir(struct lvp_pipeline *pipeline, lvp_shader_optimize(nir); - nir_shader_gather_info(nir, nir_shader_get_entrypoint(nir)); - if (nir->info.stage != MESA_SHADER_VERTEX) nir_assign_io_var_locations(nir, nir_var_shader_in, &nir->num_inputs, nir->info.stage); else {