X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Foutput.cpp;h=43f337cabc3e6296e9afdc1f91130e3d8bd7b56f;hb=cfee1ea700d860db170fd1621f3716bc47b677f8;hp=52371d1bfdd79f9f7de91ff457d10001952f6c62;hpb=041ba4b1acd55337239c5ce24cc310118c621206;p=libs%2Fgl.git diff --git a/source/glsl/output.cpp b/source/glsl/output.cpp index 52371d1b..43f337ca 100644 --- a/source/glsl/output.cpp +++ b/source/glsl/output.cpp @@ -10,16 +10,14 @@ namespace SL { Formatter::Formatter(): stage(0), - mode(Compiler::PROGRAM), source_index(0), source_line(1), indent(0), parameter_list(false) { } -const string &Formatter::apply(Stage &s, Compiler::Mode m) +const string &Formatter::apply(Stage &s) { - mode = m; stage = &s; const Version &ver = s.required_features.glsl_version; @@ -73,7 +71,7 @@ void Formatter::set_source(unsigned index, unsigned line) else { unsigned l = line; - if(mode==Compiler::PROGRAM && stage && stage->required_features.glsl_versionrequired_features.glsl_version && stage->required_features.glsl_versionvisit(*this); + append(format(".%s", swizzle.component_group)); +} + void Formatter::visit(UnaryExpression &unary) { if(unary.oper->type==Operator::PREFIX) @@ -232,7 +236,7 @@ void Formatter::visit(VariableDeclaration &var) if(!var.interface.empty()) { string interface = var.interface; - if(mode==Compiler::PROGRAM && stage && stage->required_features.glsl_versionrequired_features.glsl_version && stage->required_features.glsl_versiontype==Stage::VERTEX && var.interface=="in") interface = "attribute";