Module: Mesa Branch: main Commit: b1b7616418ad1f032e6c7acb158ae247ae90c7f7 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b1b7616418ad1f032e6c7acb158ae247ae90c7f7
Author: Alyssa Rosenzweig <[email protected]> Date: Tue Sep 5 17:19:50 2023 -0400 nir/opt_phi_precision: Work with libraries Signed-off-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Karol Herbst <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25625> --- src/compiler/nir/nir_opt_phi_precision.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/compiler/nir/nir_opt_phi_precision.c b/src/compiler/nir/nir_opt_phi_precision.c index 9d418606793..d1c74e09d9d 100644 --- a/src/compiler/nir/nir_opt_phi_precision.c +++ b/src/compiler/nir/nir_opt_phi_precision.c @@ -444,13 +444,10 @@ nir_opt_phi_precision(nir_shader *shader) unsigned bit_sizes_used = shader->info.bit_sizes_float | shader->info.bit_sizes_int; - if (!bit_sizes_used) { - nir_shader_gather_info(shader, nir_shader_get_entrypoint(shader)); - bit_sizes_used = shader->info.bit_sizes_float | - shader->info.bit_sizes_int; - } - - if (!(bit_sizes_used & (8 | 16))) + /* Note: if the info is zeroed, we conservatively run to avoid gathering + * info, which doesn't work for libraries. + */ + if (bit_sizes_used && !(bit_sizes_used & (8 | 16))) return false; nir_foreach_function_impl(impl, shader) {
