// // 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(TCompiler *compiler, TInfoSinkBase &objSink, const ShCompileOptions &compileOptions) : TOutputGLSLBase(compiler, objSink, compileOptions) {} bool TOutputESSL::writeVariablePrecision(TPrecision precision) { if (precision == EbpUndefined) return false; if (precision == EbpHigh && !isHighPrecisionSupported()) { precision = EbpMedium; } TInfoSinkBase &out = objSink(); out << getPrecisionString(precision); return true; } ImmutableString TOutputESSL::translateTextureFunction(const ImmutableString &name, const ShCompileOptions &option) { // Check WEBGL_video_texture invocation first. if (name == "textureVideoWEBGL") { if (option.takeVideoTextureAsExternalOES) { // TODO(http://anglebug.com/3889): Implement external image situation. UNIMPLEMENTED(); return ImmutableString(""); } else { // Default translating textureVideoWEBGL to texture2D. return ImmutableString("texture2D"); } } return name; } } // namespace sh