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>
10 jobs for !736 with default-precision-structs in 32 minutes and 22 seconds (queued for 4 minutes and 6 seconds)
detached
Status Job ID Name Coverage
  Containers Build
passed #359360
debian

00:00:26

 
  Build+Test
passed #359362
meson-clang

00:09:08

passed #359366
meson-clover

00:10:00

passed #359365
meson-main

00:07:21

passed #359361
meson-swr-glvnd

00:07:58

passed #359367
meson-vulkan

00:02:07

passed #359369
scons-llvm

00:04:21

passed #359368
scons-nollvm

00:06:10

passed #359363
scons-swr

00:07:30

passed #359364
scons-win64

00:06:41