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