Implement hyperbolic function support for ESSL 3.00
Emulating arc hyperbolic functions is required on HLSL, where they do
not exist natively. For this, BuiltInFunctionEmulator is split into GLSL
and HLSL subclasses. The GLSL subclass handles the pre-existing built-in
emulation implemented for working around OSX bugs, and the HLSL subclass
handles emulating asinh, acosh and atanh on HLSL.
BUG=angle:855
Change-Id: I0dfeffb862ac27ba7f9ecf5492ec31d9d952b273
Reviewed-on: https://chromium-review.googlesource.com/236861
Reviewed-by: Nicolas Capens <capn@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
diff --git a/src/compiler/translator/intermOut.cpp b/src/compiler/translator/intermOut.cpp
index 9677dc8..19d0a75 100644
--- a/src/compiler/translator/intermOut.cpp
+++ b/src/compiler/translator/intermOut.cpp
@@ -277,6 +277,13 @@
case EOpAcos: out << "arc cosine"; break;
case EOpAtan: out << "arc tangent"; break;
+ case EOpSinh: out << "hyperbolic sine"; break;
+ case EOpCosh: out << "hyperbolic cosine"; break;
+ case EOpTanh: out << "hyperbolic tangent"; break;
+ case EOpAsinh: out << "arc hyperbolic sine"; break;
+ case EOpAcosh: out << "arc hyperbolic cosine"; break;
+ case EOpAtanh: out << "arc hyperbolic tangent"; break;
+
case EOpExp: out << "exp"; break;
case EOpLog: out << "log"; break;
case EOpExp2: out << "exp2"; break;