glsl: Set default precision on record members
authorNeil Roberts <nroberts@igalia.com>
Mon, 22 Apr 2019 14:33:38 +0000 (16:33 +0200)
committerNeil Roberts <nroberts@igalia.com>
Fri, 14 Jun 2019 07:29:53 +0000 (09:29 +0200)
commit34d4b3e36765ff89db68c15464656167a2e9d79f
treee1eadf2c7700a9c6215f817380e022a53547479e
parent235425771c5671b97af5f6b7d918ff606e00ac31
glsl: Set default precision on record members

Record types have their own slot to store the precision for each
member in glsl_struct_field. Previously if the member didn’t have an
explicit precision qualifier this was being left as
GLSL_PRECISION_NONE. This patch makes it take into account the type’s
default precision qualifier like it does for regular variables in
apply_type_qualifier_to_variable.

This has the additional benefit of correctly reporting an error when a
float type is used in a struct without declaring the default type.

Reviewed-by: Eric Anholt <eric@anholt.net>
src/compiler/glsl/ast_to_hir.cpp