nir_types: add glsl_type_is_leaf helper
authorAlejandro Piñeiro <apinheiro@igalia.com>
Thu, 17 Jan 2019 12:20:54 +0000 (13:20 +0100)
committerArcady Goldmints-Orlov <agoldmints@igalia.com>
Sun, 30 Jun 2019 21:58:26 +0000 (16:58 -0500)
commit39f4ef57d69dd6dad74565db82c519e900998153
tree255b920a1c0e130c0118b2c9af6b23b4a53961d7
parent0019d6152749fab000c12daf4d3c7b0d4fba2caf
nir_types: add glsl_type_is_leaf helper

Helper used to know when a glsl_type is a leaf when iteraring through
a complex type. Note that GLSL IR linking also uses the concept of
leaf while doing the same iteration, although in that case it uses a
visitor. See link_uniform_blocks, process_array_leaf and others as
reference.

Signed-off-by: Alejandro Piñeiro <apinheiro@igalia.com>
Signed-off-by: Antia Puentes <apuentes@igalia.com>
v2:
   * Moved from gl_nir_linker to nir_types, so it could be used on nir
     xfb gathering (Timothy Arceri)
   * Minor update after Timothy's series about record to struct
     renaming landed master.

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
src/compiler/nir_types.cpp
src/compiler/nir_types.h