Revert "Revert "support for 'half' types in sksl, plus general numeric type improvements""

This reverts commit 0e9605542444a7653359f4fc610f7620df9f6313.

Bug: skia:
Change-Id: Id45d091c1950887316c901ed9c9281181f346bcf
Reviewed-on: https://skia-review.googlesource.com/29602
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
diff --git a/src/sksl/SkSLCompiler.cpp b/src/sksl/SkSLCompiler.cpp
index d96515c..4ea956c 100644
--- a/src/sksl/SkSLCompiler.cpp
+++ b/src/sksl/SkSLCompiler.cpp
@@ -68,6 +68,10 @@
     ADD_TYPE(Float2);
     ADD_TYPE(Float3);
     ADD_TYPE(Float4);
+    ADD_TYPE(Half);
+    ADD_TYPE(Half2);
+    ADD_TYPE(Half3);
+    ADD_TYPE(Half4);
     ADD_TYPE(Double);
     ADD_TYPE(Double2);
     ADD_TYPE(Double3);
@@ -80,6 +84,14 @@
     ADD_TYPE(UInt2);
     ADD_TYPE(UInt3);
     ADD_TYPE(UInt4);
+    ADD_TYPE(Short);
+    ADD_TYPE(Short2);
+    ADD_TYPE(Short3);
+    ADD_TYPE(Short4);
+    ADD_TYPE(UShort);
+    ADD_TYPE(UShort2);
+    ADD_TYPE(UShort3);
+    ADD_TYPE(UShort4);
     ADD_TYPE(Bool);
     ADD_TYPE(Bool2);
     ADD_TYPE(Bool3);
@@ -93,7 +105,26 @@
     ADD_TYPE(Float4x2);
     ADD_TYPE(Float4x3);
     ADD_TYPE(Float4x4);
+    ADD_TYPE(Half2x2);
+    ADD_TYPE(Half2x3);
+    ADD_TYPE(Half2x4);
+    ADD_TYPE(Half3x2);
+    ADD_TYPE(Half3x3);
+    ADD_TYPE(Half3x4);
+    ADD_TYPE(Half4x2);
+    ADD_TYPE(Half4x3);
+    ADD_TYPE(Half4x4);
+    ADD_TYPE(Double2x2);
+    ADD_TYPE(Double2x3);
+    ADD_TYPE(Double2x4);
+    ADD_TYPE(Double3x2);
+    ADD_TYPE(Double3x3);
+    ADD_TYPE(Double3x4);
+    ADD_TYPE(Double4x2);
+    ADD_TYPE(Double4x3);
+    ADD_TYPE(Double4x4);
     ADD_TYPE(GenType);
+    ADD_TYPE(GenHType);
     ADD_TYPE(GenDType);
     ADD_TYPE(GenIType);
     ADD_TYPE(GenUType);
@@ -104,9 +135,12 @@
     ADD_TYPE(GVec2);
     ADD_TYPE(GVec3);
     ADD_TYPE(GVec4);
+    ADD_TYPE(HVec);
     ADD_TYPE(DVec);
     ADD_TYPE(IVec);
     ADD_TYPE(UVec);
+    ADD_TYPE(SVec);
+    ADD_TYPE(USVec);
     ADD_TYPE(BVec);
 
     ADD_TYPE(Sampler1D);