Implement float-integer conversions for ESSL 3.00
The implementation uses asint, asuint and asfloat in the HLSL output.
BUG=angle:865
Change-Id: I6b48298e18c7b3b0bdeac522b375ebc4eab7cf4e
Reviewed-on: https://chromium-review.googlesource.com/239520
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
diff --git a/src/compiler/translator/OutputGLSLBase.cpp b/src/compiler/translator/OutputGLSLBase.cpp
index 6b01e49..256f3e4 100644
--- a/src/compiler/translator/OutputGLSLBase.cpp
+++ b/src/compiler/translator/OutputGLSLBase.cpp
@@ -467,6 +467,19 @@
preString = "fract(";
break;
+ case EOpFloatBitsToInt:
+ preString = "floatBitsToInt(";
+ break;
+ case EOpFloatBitsToUint:
+ preString = "floatBitsToUint(";
+ break;
+ case EOpIntBitsToFloat:
+ preString = "intBitsToFloat(";
+ break;
+ case EOpUintBitsToFloat:
+ preString = "uintBitsToFloat(";
+ break;
+
case EOpLength:
preString = "length(";
break;