#include <vector>
#include <msp/core/refptr.h>
#include "extension.h"
+#include "uniform.h"
+
+#pragma push_macro("interface")
+#undef interface
namespace Msp {
namespace GL {
virtual void visit(NodeVisitor &);
};
+struct Precision: Node
+{
+ std::string precision;
+ std::string type;
+
+ virtual Precision *clone() const { return new Precision(*this); }
+ virtual void visit(NodeVisitor &);
+};
+
struct Layout: Node
{
struct Qualifier
{
+ // TODO the standard calls this name, not identifier
std::string identifier;
std::string value;
};
{
bool constant;
std::string sampling;
+ std::string interpolation;
std::string interface;
+ std::string precision;
std::string type;
StructDeclaration *type_declaration;
std::string name;
virtual void visit(FunctionCall &) { }
virtual void visit(ExpressionStatement &) { }
virtual void visit(Import &) { }
+ virtual void visit(Precision &) { }
virtual void visit(Layout &) { }
virtual void visit(InterfaceLayout &) { }
virtual void visit(StructDeclaration &) { }
} // namespace GL
} // namespace Msp
+#pragma pop_macro("interface")
+
#endif