glsl: Add method ast_type_qualifier::interpolation_string()
If an interpolation qualifier is present, then the method returns that qualifier's string representation. For example, if the noperspective bit is set, then it returns "noperspective".
This commit is contained in:
@@ -364,6 +364,18 @@ struct ast_type_qualifier {
|
|||||||
* This field is only valid if \c explicit_location is set.
|
* This field is only valid if \c explicit_location is set.
|
||||||
*/
|
*/
|
||||||
unsigned location;
|
unsigned location;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Return string representation of interpolation qualifier.
|
||||||
|
*
|
||||||
|
* If an interpolation qualifier is present, then return that qualifier's
|
||||||
|
* string representation. Otherwise, return null. For example, if the
|
||||||
|
* noperspective bit is set, then this returns "noperspective".
|
||||||
|
*
|
||||||
|
* If multiple interpolation qualifiers are somehow present, then the
|
||||||
|
* returned string is undefined but not null.
|
||||||
|
*/
|
||||||
|
const char *interpolation_string() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ast_struct_specifier : public ast_node {
|
class ast_struct_specifier : public ast_node {
|
||||||
|
@@ -116,3 +116,16 @@ ast_fully_specified_type::has_qualifiers() const
|
|||||||
{
|
{
|
||||||
return this->qualifier.flags.i != 0;
|
return this->qualifier.flags.i != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char*
|
||||||
|
ast_type_qualifier::interpolation_string() const
|
||||||
|
{
|
||||||
|
if (this->flags.q.smooth)
|
||||||
|
return "smooth";
|
||||||
|
else if (this->flags.q.flat)
|
||||||
|
return "flat";
|
||||||
|
else if (this->flags.q.noperspective)
|
||||||
|
return "noperspective";
|
||||||
|
else
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user