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_OUTPUTGLSL_H_
8 #define COMPILER_TRANSLATOR_OUTPUTGLSL_H_
9 
10 #include "compiler/translator/OutputGLSLBase.h"
11 
12 namespace sh
13 {
14 
15 class TOutputGLSL : public TOutputGLSLBase
16 {
17   public:
18     TOutputGLSL(TInfoSinkBase &objSink,
19                 ShHashFunction64 hashFunction,
20                 NameMap &nameMap,
21                 TSymbolTable *symbolTable,
22                 sh::GLenum shaderType,
23                 int shaderVersion,
24                 ShShaderOutput output,
25                 ShCompileOptions compileOptions);
26 
27   protected:
28     bool writeVariablePrecision(TPrecision) override;
29     void visitSymbol(TIntermSymbol *node) override;
30     ImmutableString translateTextureFunction(const ImmutableString &name,
31                                              const ShCompileOptions &option) override;
32 };
33 
34 }  // namespace sh
35 
36 #endif  // COMPILER_TRANSLATOR_OUTPUTGLSL_H_
37