1//
2// Copyright (c) 2002-2013 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
12namespace sh
13{
14
15class 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) override;
32};
33
34} // namespace sh
35
36#endif // COMPILER_TRANSLATOR_OUTPUTGLSL_H_
37