| // |
| // Copyright (c) 2002-2013 The ANGLE Project Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| // |
| |
| #include "compiler/translator/OutputESSL.h" |
| |
| namespace sh |
| { |
| |
| TOutputESSL::TOutputESSL(TInfoSinkBase &objSink, |
| ShArrayIndexClampingStrategy clampingStrategy, |
| ShHashFunction64 hashFunction, |
| NameMap &nameMap, |
| TSymbolTable &symbolTable, |
| sh::GLenum shaderType, |
| int shaderVersion, |
| bool forceHighp, |
| ShCompileOptions compileOptions) |
| : TOutputGLSLBase(objSink, |
| clampingStrategy, |
| hashFunction, |
| nameMap, |
| symbolTable, |
| shaderType, |
| shaderVersion, |
| SH_ESSL_OUTPUT, |
| compileOptions), |
| mForceHighp(forceHighp) |
| { |
| } |
| |
| bool TOutputESSL::writeVariablePrecision(TPrecision precision) |
| { |
| if (precision == EbpUndefined) |
| return false; |
| |
| TInfoSinkBase &out = objSink(); |
| if (mForceHighp) |
| out << getPrecisionString(EbpHigh); |
| else |
| out << getPrecisionString(precision); |
| return true; |
| } |
| |
| } // namespace sh |