diff options
author | marha <marha@users.sourceforge.net> | 2011-08-01 09:05:15 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2011-08-01 09:05:15 +0200 |
commit | f87ad0cdc41af88f134475ab50b0d604004d9cdc (patch) | |
tree | 72e8cd139cf22d66d77c6a52f72b3d5c11c330f3 /mesalib/src/glsl/glsl_types.cpp | |
parent | 28257038c4f13ac26127d536c14c922aa036efed (diff) | |
download | vcxsrv-f87ad0cdc41af88f134475ab50b0d604004d9cdc.tar.gz vcxsrv-f87ad0cdc41af88f134475ab50b0d604004d9cdc.tar.bz2 vcxsrv-f87ad0cdc41af88f134475ab50b0d604004d9cdc.zip |
mesa xserver pixman xkeyboard-config git update 1 aug 2011
Diffstat (limited to 'mesalib/src/glsl/glsl_types.cpp')
-rw-r--r-- | mesalib/src/glsl/glsl_types.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/mesalib/src/glsl/glsl_types.cpp b/mesalib/src/glsl/glsl_types.cpp index a5e21bbb9..c94aec0d2 100644 --- a/mesalib/src/glsl/glsl_types.cpp +++ b/mesalib/src/glsl/glsl_types.cpp @@ -523,3 +523,19 @@ glsl_type::component_slots() const return 0; } } + +bool +glsl_type::can_implicitly_convert_to(const glsl_type *desired) const +{ + if (this == desired) + return true; + + /* There is no conversion among matrix types. */ + if (this->matrix_columns > 1 || desired->matrix_columns > 1) + return false; + + /* int and uint can be converted to float. */ + return desired->is_float() + && this->is_integer() + && this->vector_elements == desired->vector_elements; +} |