Several of the passes change varyings. This is necessary for inputs_read and outputs_written to be accurate. --- src/mesa/state_tracker/st_glsl_to_nir.cpp | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/src/mesa/state_tracker/st_glsl_to_nir.cpp b/src/mesa/state_tracker/st_glsl_to_nir.cpp index ae2c49960c9..7d4c20730c3 100644 --- a/src/mesa/state_tracker/st_glsl_to_nir.cpp +++ b/src/mesa/state_tracker/st_glsl_to_nir.cpp @@ -857,6 +857,8 @@ st_finalize_nir(struct st_context *st, struct gl_program *prog, NIR_PASS_V(nir, gl_nir_lower_samplers_as_deref, shader_program); else NIR_PASS_V(nir, gl_nir_lower_samplers, shader_program); + + nir_shader_gather_info(nir, nir_shader_get_entrypoint(nir)); } } /* extern "C" */ -- 2.18.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev