X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Fglsl%2Fsyntax.h;h=c3eeb6a14c7c244cea696bab9508f0d0bdc50012;hb=f526938b407e061c7424adedc34af4d1ff687f90;hp=30acca42b957bd42b547b642173032160fcdd0df;hpb=a60a60fe29850ef8a5dc291ed70741eeb95d9e0b;p=libs%2Fgl.git diff --git a/source/glsl/syntax.h b/source/glsl/syntax.h index 30acca42..c3eeb6a1 100644 --- a/source/glsl/syntax.h +++ b/source/glsl/syntax.h @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include "features.h" @@ -197,6 +198,19 @@ struct MemberAccess: Expression virtual void visit(NodeVisitor &); }; +struct Swizzle: Expression +{ + NodePtr left; + std::string component_group; + unsigned count; + UInt8 components[4]; + + Swizzle(); + + virtual Swizzle *clone() const { return new Swizzle(*this); } + virtual void visit(NodeVisitor &); +}; + struct UnaryExpression: Expression { NodePtr expression;