};
inline unsigned get_type_size(DataType t) { return t&0xFF; }
-inline bool is_matrix(DataType t) { return (t>>14)&3; }
-inline bool is_vector(DataType t) { return !is_matrix(t) && ((t>>12)&3); }
+inline bool is_float(DataType t) { return t&0x200; }
+inline bool is_matrix(DataType t) { return t&0xC000; }
+inline bool is_vector(DataType t) { return !is_matrix(t) && (t&0x3000); }
+inline bool is_image(DataType t) { return t&0x70000; }
GLenum get_gl_type(DataType);
DataType from_gl_type(GLenum);