Replace is_integer_base_type macro with glsl_type::is_integer method
authorIan Romanick <ian.d.romanick@intel.com>
Fri, 26 Mar 2010 21:38:37 +0000 (14:38 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Fri, 26 Mar 2010 21:38:37 +0000 (14:38 -0700)
ast_to_hir.cpp
glsl_types.h

index 40a980f68268ef9232f920014e0156d200052a2f..890dc8e465c8ed1272cf4bbe4e66acec4d37900e 100644 (file)
@@ -255,8 +255,7 @@ modulus_result_type(const struct glsl_type *type_a,
     *    integer vectors. The operand types must both be signed or both be
     *    unsigned."
     */
-   if (! is_integer_base_type(type_a->base_type)
-       || ! is_integer_base_type(type_b->base_type)
+   if (!type_a->is_integer() || !type_b->is_integer()
        || (type_a->base_type != type_b->base_type)) {
       return glsl_type::error_type;
    }
index e05130102a52678c41421ea36724f1f52629ee20..9af8e9d3f8a7452b90f44a2f5d9e73e1fd907bfa 100644 (file)
@@ -42,9 +42,6 @@
 #define is_numeric_base_type(b) \
    (((b) >= GLSL_TYPE_UINT) && ((b) <= GLSL_TYPE_FLOAT))
 
-#define is_integer_base_type(b) \
-   (((b) == GLSL_TYPE_UINT) || ((b) == GLSL_TYPE_INT))
-
 #define is_error_type(t) ((t)->base_type == GLSL_TYPE_ERROR)
 
 enum glsl_sampler_dim {
@@ -203,6 +200,14 @@ struct glsl_type {
       return (base_type >= GLSL_TYPE_UINT) && (base_type <= GLSL_TYPE_FLOAT);
    }
 
+   /**
+    * Query whether or not a type is an integral type
+    */
+   bool is_integer() const
+   {
+      return (base_type == GLSL_TYPE_UINT) || (base_type == GLSL_TYPE_INT);
+   }
+
    /**
     * Query whether or not a type is a non-array boolean type
     */