glsl: Fix conversions in array constructors
glsl: Fix conversions in array constructors

Array constructors obey narrower conversion rules than other constructors
[1] --- they use the implicit conversion rules [2] instead of the scalar
constructor conversions [3].  But process_array_constructor() was
incorrectly applying the broader rules.

[1] GLSL 1.50 spec, Section 5.4.4 Array Constructors, page 52 (58 of pdf)
[2] GLSL 1.50 spec, Section 4.1.10 Implicit Conversions, page 25 (31 of pdf)
[3] GLSL 1.50 spec, Section 5.4.1 Conversion, page 48 (54 of pdf)

To fix this, first check (with glsl_type::can_be_implicitly_converted_to)
if an implicit conversion is legal before performing the conversion.

Fixes:
piglit:spec/glsl-1.20/compiler/structure-and-array-operations/array-ctor-implicit-conversion-bool-float.vert
piglit:spec/glsl-1.20/compiler/structure-and-array-operations/array-ctor-implicit-conversion-bvec*-vec*.vert

Note: This is a candidate for the 7.10 and 7.11 branches.
Reviewed-by: Kenneth Graunke <bd2562f754ec92342f93f61c25d731e290a2ffa8@whitecape.org>
Signed-off-by: Chad Versace <c34c009102e60d77975598e1f414f8a701c22d0b@chad-versace.us>

zeux/glsl-optimizer,tokyovigilante/glsl-optimizer,mapbox/glsl-optimizer,djreep81/glsl-optimizer,mcanthony/glsl-optimizer,KTXSoftware/glsl2agal,bkaradzic/glsl-optimizer,mcanthony/glsl-optimizer,benaadams/glsl-optimizer,bkaradzic/glsl-optimizer,mcanthony/glsl-optimizer,adobe/glsl2agal,zz85/glsl-optimizer,dellis1972/glsl-optimizer,KTXSoftware/glsl2agal,jbarczak/glsl-optimizer,KTXSoftware/glsl2agal,metora/MesaGLSLCompiler,djreep81/glsl-optimizer,wolf96/glsl-optimizer,dellis1972/glsl-optimizer,benaadams/glsl-optimizer,adobe/glsl2agal,zeux/glsl-optimizer,jbarczak/glsl-optimizer,zz85/glsl-optimizer,dellis1972/glsl-optimizer,wolf96/glsl-optimizer,KTXSoftware/glsl2agal,mcanthony/glsl-optimizer,zz85/glsl-optimizer,benaadams/glsl-optimizer,zeux/glsl-optimizer,benaadams/glsl-optimizer,adobe/glsl2agal,dellis1972/glsl-optimizer,tokyovigilante/glsl-optimizer,mapbox/glsl-optimizer,mapbox/glsl-optimizer,jbarczak/glsl-optimizer,bkaradzic/glsl-optimizer,mapbox/glsl-optimizer,metora/MesaGLSLCompiler,zz85/glsl-optimizer,tokyovigilante/glsl-optimizer,adobe/glsl2agal,mcanthony/glsl-optimizer,djreep81/glsl-optimizer,bkaradzic/glsl-optimizer,dellis1972/glsl-optimizer,KTXSoftware/glsl2agal,bkaradzic/glsl-optimizer,zeux/glsl-optimizer,wolf96/glsl-optimizer,djreep81/glsl-optimizer,benaadams/glsl-optimizer,adobe/glsl2agal,metora/MesaGLSLCompiler,tokyovigilante/glsl-optimizer,tokyovigilante/glsl-optimizer,zz85/glsl-optimizer,jbarczak/glsl-optimizer,wolf96/glsl-optimizer,djreep81/glsl-optimizer,wolf96/glsl-optimizer,zz85/glsl-optimizer,jbarczak/glsl-optimizer,benaadams/glsl-optimizer,zeux/glsl-optimizer,mapbox/glsl-optimizer