aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/glsl/glsl_types.cpp
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2011-08-01 09:05:15 +0200
committermarha <marha@users.sourceforge.net>2011-08-01 09:05:15 +0200
commitf87ad0cdc41af88f134475ab50b0d604004d9cdc (patch)
tree72e8cd139cf22d66d77c6a52f72b3d5c11c330f3 /mesalib/src/glsl/glsl_types.cpp
parent28257038c4f13ac26127d536c14c922aa036efed (diff)
downloadvcxsrv-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.cpp16
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;
+}