| Index: src/sksl/SkSLGLSLCodeGenerator.h
|
| diff --git a/src/sksl/SkSLGLSLCodeGenerator.h b/src/sksl/SkSLGLSLCodeGenerator.h
|
| index 3534affccca2baa5f00aec7c38fdfa9d7a60eecb..61fa31e1fc493685e9eee7ef3007f3a8918c838b 100644
|
| --- a/src/sksl/SkSLGLSLCodeGenerator.h
|
| +++ b/src/sksl/SkSLGLSLCodeGenerator.h
|
| @@ -50,6 +50,11 @@ struct GLCaps {
|
| kGL_Standard,
|
| kGLES_Standard
|
| } fStandard;
|
| + bool fIsCoreProfile;
|
| + bool fUsesPrecisionModifiers;
|
| + bool fMustDeclareFragmentShaderOutput;
|
| + // The Tegra3 compiler will sometimes never return if we have min(abs(x), y)
|
| + bool fCanUseMinAndAbsTogether;
|
| };
|
|
|
| /**
|
| @@ -111,11 +116,11 @@ private:
|
|
|
| void writeLayout(const Layout& layout);
|
|
|
| - void writeModifiers(const Modifiers& modifiers);
|
| + void writeModifiers(const Modifiers& modifiers, bool globalContext);
|
|
|
| void writeGlobalVars(const VarDeclaration& vs);
|
|
|
| - void writeVarDeclarations(const VarDeclarations& decl);
|
| + void writeVarDeclarations(const VarDeclarations& decl, bool global);
|
|
|
| void writeVariableReference(const VariableReference& ref);
|
|
|
| @@ -123,6 +128,8 @@ private:
|
|
|
| void writeIntrinsicCall(const FunctionCall& c);
|
|
|
| + void writeMinAbsHack(Expression& absExpr, Expression& otherExpr);
|
| +
|
| void writeFunctionCall(const FunctionCall& c);
|
|
|
| void writeConstructor(const Constructor& c);
|
| @@ -164,6 +171,7 @@ private:
|
| const Context& fContext;
|
| const GLCaps fCaps;
|
| std::ostream* fOut;
|
| + Program::Kind fProgramKind;
|
| int fIndentation;
|
| bool fAtLineStart;
|
| // Keeps track of which struct types we have written. Given that we are unlikely to ever write
|
|
|