glsl: Wrap ast_type_qualifier contents in a struct in a union

This will ease adding non-bit fields in the near future.
This commit is contained in:
Ian Romanick
2010-10-05 16:38:47 -07:00
parent 5ff4cfb788
commit e24d35a5b5
5 changed files with 108 additions and 99 deletions

View File

@@ -324,23 +324,28 @@ enum {
};
struct ast_type_qualifier {
unsigned invariant:1;
unsigned constant:1;
unsigned attribute:1;
unsigned varying:1;
unsigned in:1;
unsigned out:1;
unsigned centroid:1;
unsigned uniform:1;
unsigned smooth:1;
unsigned flat:1;
unsigned noperspective:1;
union {
struct {
unsigned invariant:1;
unsigned constant:1;
unsigned attribute:1;
unsigned varying:1;
unsigned in:1;
unsigned out:1;
unsigned centroid:1;
unsigned uniform:1;
unsigned smooth:1;
unsigned flat:1;
unsigned noperspective:1;
/** \name Layout qualifiers for GL_ARB_fragment_coord_conventions */
/*@{*/
unsigned origin_upper_left:1;
unsigned pixel_center_integer:1;
/*@}*/
/** \name Layout qualifiers for GL_ARB_fragment_coord_conventions */
/*@{*/
unsigned origin_upper_left:1;
unsigned pixel_center_integer:1;
/*@}*/
} q;
unsigned i;
} flags;
};
class ast_struct_specifier : public ast_node {