glsl: Add method glsl_type::can_implicitly_convert_to()
authorChad Versace <chad@chad-versace.us>
Wed, 27 Jul 2011 19:21:27 +0000 (12:21 -0700)
committerChad Versace <chad@chad-versace.us>
Sat, 30 Jul 2011 14:26:59 +0000 (07:26 -0700)
commit200e4972c1579e8dfaa6f11eee2a7e54baad4852
treeaafa7abd84f3c6c41f3d26aca3b5eeb7613f20da
parent120d71a45cfda1edfa8cd6b1732e209eb98b53d8
glsl: Add method glsl_type::can_implicitly_convert_to()

This method checks if a source type is identical to or can be implicitly
converted to a target type according to the GLSL 1.20 spec, Section 4.1.10
Implicit Conversions.

The following commits use the method for a bugfix:
    glsl: Fix implicit conversions in non-constructor function calls
    glsl: Fix implicit conversions in array constructors

Note: This is a candidate for the 7.10 and 7.11 branches.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Chad Versace <chad@chad-versace.us>
src/glsl/glsl_types.cpp
src/glsl/glsl_types.h