X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Fglsl%2Fgenerate.h;h=aba2c353f827239f7f4aaf3b2d2d73560d680db2;hb=79db78e77054cd93e69123b3b6495a561f5cbd10;hp=a4ab75719e29b2416ad36e3be6918ace0beeddd1;hpb=7272d97c23eedb3850661deec964c4a9c96337fe;p=libs%2Fgl.git diff --git a/source/glsl/generate.h b/source/glsl/generate.h index a4ab7571..aba2c353 100644 --- a/source/glsl/generate.h +++ b/source/glsl/generate.h @@ -63,6 +63,20 @@ private: virtual void visit(Passthrough &); }; +class LayoutDefaulter: private TraversingVisitor +{ +private: + InterfaceLayout *in_iface = 0; + bool need_winding = true; + bool need_spacing = true; + +public: + void apply(Stage &); + +private: + virtual void visit(InterfaceLayout &); +}; + /** Assigns sizes to arrays which don't have a size. Geometry shader inputs are sized by topology. Other arrays are sized by their use with literal indices.