| // | |
| // Copyright 2002 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 |