1 | // |
2 | // Copyright (c) 2002-2011 The ANGLE Project Authors. All rights reserved. |
3 | // Use of this source code is governed by a BSD-style license that can be |
4 | // found in the LICENSE file. |
5 | // |
6 | |
7 | #ifndef COMPILER_TRANSLATOR_TRANSLATORESSL_H_ |
8 | #define COMPILER_TRANSLATOR_TRANSLATORESSL_H_ |
9 | |
10 | #include "compiler/translator/Compiler.h" |
11 | |
12 | namespace sh |
13 | { |
14 | |
15 | class TranslatorESSL : public TCompiler |
16 | { |
17 | public: |
18 | TranslatorESSL(sh::GLenum type, ShShaderSpec spec); |
19 | |
20 | protected: |
21 | void initBuiltInFunctionEmulator(BuiltInFunctionEmulator *emu, |
22 | ShCompileOptions compileOptions) override; |
23 | |
24 | void translate(TIntermBlock *root, |
25 | ShCompileOptions compileOptions, |
26 | PerformanceDiagnostics *perfDiagnostics) override; |
27 | bool shouldFlattenPragmaStdglInvariantAll() override; |
28 | |
29 | private: |
30 | void writeExtensionBehavior(ShCompileOptions compileOptions); |
31 | }; |
32 | |
33 | } // namespace sh |
34 | |
35 | #endif // COMPILER_TRANSLATOR_TRANSLATORESSL_H_ |
36 | |