Line data Source code
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 : #include "compiler/translator/OutputESSL.h"
8 :
9 : namespace sh
10 : {
11 :
12 0 : TOutputESSL::TOutputESSL(TInfoSinkBase &objSink,
13 : ShArrayIndexClampingStrategy clampingStrategy,
14 : ShHashFunction64 hashFunction,
15 : NameMap &nameMap,
16 : TSymbolTable &symbolTable,
17 : sh::GLenum shaderType,
18 : int shaderVersion,
19 : bool forceHighp,
20 0 : ShCompileOptions compileOptions)
21 : : TOutputGLSLBase(objSink,
22 : clampingStrategy,
23 : hashFunction,
24 : nameMap,
25 : symbolTable,
26 : shaderType,
27 : shaderVersion,
28 : SH_ESSL_OUTPUT,
29 : compileOptions),
30 0 : mForceHighp(forceHighp)
31 : {
32 0 : }
33 :
34 0 : bool TOutputESSL::writeVariablePrecision(TPrecision precision)
35 : {
36 0 : if (precision == EbpUndefined)
37 0 : return false;
38 :
39 0 : TInfoSinkBase& out = objSink();
40 0 : if (mForceHighp)
41 0 : out << getPrecisionString(EbpHigh);
42 : else
43 0 : out << getPrecisionString(precision);
44 0 : return true;
45 : }
46 :
47 : } // namespace sh
|