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
12namespace sh
13{
14
15class 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