*/
bool contains_double() const;
+ /**
+ * Query whether or not type is a 64-bit type, or for struct, interface and
+ * array types, contains a double type.
+ */
+ bool contains_64bit() const;
+
/**
* Query whether or not a type is a float type
*/
unsigned implicit_sized_array:1;
#ifdef __cplusplus
glsl_struct_field(const struct glsl_type *_type, const char *_name)
- : type(_type), name(_name), location(-1), offset(0), xfb_buffer(0),
+ : type(_type), name(_name), location(-1), offset(-1), xfb_buffer(0),
xfb_stride(0), interpolation(0), centroid(0),
sample(0), matrix_layout(GLSL_MATRIX_LAYOUT_INHERITED), patch(0),
precision(GLSL_PRECISION_NONE), memory_read_only(0),
}
glsl_struct_field()
- : type(NULL), name(NULL), location(0), offset(0), xfb_buffer(0),
+ : type(NULL), name(NULL), location(-1), offset(-1), xfb_buffer(0),
xfb_stride(0), interpolation(0), centroid(0),
sample(0), matrix_layout(0), patch(0),
precision(0), memory_read_only(0),