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                 ShArrayIndexClampingStrategy clampingStrategy,
20                 ShHashFunction64 hashFunction,
21                 NameMap &nameMap,
22                 TSymbolTable *symbolTable,
23                 sh::GLenum shaderType,
24                 int shaderVersion,
25                 ShShaderOutput output,
26                 ShCompileOptions compileOptions);
27 
28   protected:
29     bool writeVariablePrecision(TPrecision) override;
30     void visitSymbol(TIntermSymbol *node) override;
31     ImmutableString translateTextureFunction(const ImmutableString &name,
32                                              const ShCompileOptions &option) override;
33 };
34 
35 }  // namespace sh
36 
37 #endif  // COMPILER_TRANSLATOR_OUTPUTGLSL_H_
38