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