glsl: refactor code to avoid static analyzer noise
authorMarcin Ślusarz <marcin.slusarz@intel.com>
Tue, 17 Aug 2021 09:17:18 +0000 (11:17 +0200)
committerMarge Bot <eric+marge@anholt.net>
Thu, 19 Aug 2021 06:59:01 +0000 (06:59 +0000)
commite3b4c77ed3468a1b455d164f45f91d90247eabb2
tree42583b0042b171594cb81af44f584df06e43252c
parente6790d4a31ad16490e574d200b1ca4fd38debd28
glsl: refactor code to avoid static analyzer noise

Clang analyzer thinks struct_base_offset can be used uninitialized
because it doesn't know that glsl_type_is_struct_or_ifc returns
the same value for the same type.

Refactor the code to make it clear what is going on. As a side effect
this should be faster because glsl_get_length and
glsl_type_is_struct_or_ifc will be called only once (they are not
inline functions).

This is an alternative approach to
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12399.

Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12403>
src/compiler/glsl/gl_nir_link_uniform_blocks.c