X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Fgenerate.h;h=aba2c353f827239f7f4aaf3b2d2d73560d680db2;hb=08d3b5a55fad7439b47fc93d8ba604cbeb7e19ca;hp=a4ab75719e29b2416ad36e3be6918ace0beeddd1;hpb=89f26eba675defb38542faacacde6b9d4a2248c5;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.