nir: add glsl_type_is_32bit() helper
authorTimothy Arceri <tarceri@itsqueeze.com>
Wed, 6 Feb 2019 01:27:39 +0000 (12:27 +1100)
committerTimothy Arceri <tarceri@itsqueeze.com>
Fri, 8 Feb 2019 02:54:56 +0000 (02:54 +0000)
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/compiler/glsl_types.h
src/compiler/nir_types.cpp
src/compiler/nir_types.h

index bdaeee7ddd778705e5ee64522c9ec6f88781a7d3..bf9be0f48fb5d050e74e8cf143e07632a5300f4b 100644 (file)
@@ -584,6 +584,16 @@ public:
       return glsl_base_type_is_16bit(base_type);
    }
 
+   /**
+    * Query whether or not a type is 32-bit
+    */
+   bool is_32bit() const
+   {
+      return base_type == GLSL_TYPE_UINT ||
+             base_type == GLSL_TYPE_INT ||
+             base_type == GLSL_TYPE_FLOAT;
+   }
+
    /**
     * Query whether or not a type is a non-array boolean type
     */
index b4bde5470c005cbc7b9b1b18b548abe432abf64b..b12aa297da363244f749ca2b87f2e68fb4de36f9 100644 (file)
@@ -204,6 +204,12 @@ glsl_type_is_16bit(const glsl_type *type)
    return type->is_16bit();
 }
 
+bool
+glsl_type_is_32bit(const glsl_type *type)
+{
+   return type->is_32bit();
+}
+
 bool
 glsl_type_is_64bit(const glsl_type *type)
 {
index 40cddf76374e2aebada6f8e01173a0727d9f0970..34f4252a9e2b5237f3379f3fb96532866f418c0e 100644 (file)
@@ -131,6 +131,7 @@ glsl_get_bit_size(const struct glsl_type *type)
 }
 
 bool glsl_type_is_16bit(const struct glsl_type *type);
+bool glsl_type_is_32bit(const struct glsl_type *type);
 bool glsl_type_is_64bit(const struct glsl_type *type);
 bool glsl_type_is_void(const struct glsl_type *type);
 bool glsl_type_is_error(const struct glsl_type *type);