1 //
2 // Copyright 2002 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_OUTPUTESSL_H_
8 #define COMPILER_TRANSLATOR_OUTPUTESSL_H_
9 
10 #include "compiler/translator/OutputGLSLBase.h"
11 
12 namespace sh
13 {
14 
15 class TOutputESSL : public TOutputGLSLBase
16 {
17   public:
18     TOutputESSL(TInfoSinkBase &objSink,
19                 ShHashFunction64 hashFunction,
20                 NameMap &nameMap,
21                 TSymbolTable *symbolTable,
22                 sh::GLenum shaderType,
23                 int shaderVersion,
24                 bool forceHighp,
25                 ShCompileOptions compileOptions);
26 
27   protected:
28     bool writeVariablePrecision(TPrecision precision) override;
29     ImmutableString translateTextureFunction(const ImmutableString &name,
30                                              const ShCompileOptions &option) override;
31 
32   private:
33     bool mForceHighp;
34 };
35 
36 }  // namespace sh
37 
38 #endif  // COMPILER_TRANSLATOR_OUTPUTESSL_H_
39