High precision implementation for sin/cos/tan

This implementation allows all dEQP precision test to pass
for sin, cos and tan function tests.

Change-Id: I33a24497dea68ab2de2e65931f50f2dd4298523c
Reviewed-on: https://swiftshader-review.googlesource.com/13555
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
diff --git a/src/OpenGL/compiler/OutputASM.cpp b/src/OpenGL/compiler/OutputASM.cpp
index 889f44e..f9a4dbb 100644
--- a/src/OpenGL/compiler/OutputASM.cpp
+++ b/src/OpenGL/compiler/OutputASM.cpp
@@ -1894,6 +1894,12 @@
 			instruction->dst.integer = (dst->getBasicType() == EbtInt);
 		}
 
+		if(src0)
+		{
+			TIntermTyped* src = src0->getAsTyped();
+			instruction->dst.partialPrecision = src && (src->getPrecision() <= EbpLow);
+		}
+
 		argument(instruction->src[0], src0, index0);
 		argument(instruction->src[1], src1, index1);
 		argument(instruction->src[2], src2, index2);