glsl: Properly handle .length() of an unsized array
authorYevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com>
Wed, 14 Jul 2021 17:52:56 +0000 (20:52 +0300)
committerMarge Bot <eric+marge@anholt.net>
Tue, 27 Jul 2021 10:02:50 +0000 (10:02 +0000)
commitc3f47f6e300ef1ec18b2c55ec82bccf263292351
tree2caa1323dbfbeede6fe1107799c4d33ddc150cc3
parent441826aaaac54e84629269c4622be2f17a465209
glsl: Properly handle .length() of an unsized array

There are two distinct cases:
- The last member of a shader storage block (length determined at run-time)
- Implicitly-sized array (length determined at link-time)

Fixes: 273f61a0051a ("glsl: Add parser/compiler support for unsized array's length()")
Signed-off-by: Yevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11952>
src/compiler/glsl/ast_function.cpp