Make Function arguments type-safe.

Change-Id: I3d4262ea4be0c7b1128b2ca410e985cc6f58c9c9
Reviewed-on: https://swiftshader-review.googlesource.com/1970
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/Renderer/QuadRasterizer.cpp b/src/Renderer/QuadRasterizer.cpp
index dfee2f6..5ca2622 100644
--- a/src/Renderer/QuadRasterizer.cpp
+++ b/src/Renderer/QuadRasterizer.cpp
@@ -53,16 +53,16 @@
 				Long pixelTime = Ticks();
 			#endif
 
-			Pointer<Byte> primitive(function.arg(0));
-			Int count(function.arg(1));
-			Int cluster(function.arg(2));
-			Pointer<Byte> data(function.arg(3));
+			Pointer<Byte> primitive(function.Arg<0>());
+			Int count(function.Arg<1>());
+			Int cluster(function.Arg<2>());
+			Pointer<Byte> data(function.Arg<3>());
 
 			Registers& r = *createRegisters(shader);
 			r.constants = *Pointer<Pointer<Byte> >(data + OFFSET(DrawData,constants));
 			r.cluster = cluster;
 			r.data = data;
-			
+
 			Do
 			{
 				r.primitive = primitive;
@@ -134,20 +134,20 @@
 		}
 
 		Int y = yMin;
-		
+
 		Do
 		{
 			Int x0a = Int(*Pointer<Short>(r.primitive + OFFSET(Primitive,outline->left) + (y + 0) * sizeof(Primitive::Span)));
 			Int x0b = Int(*Pointer<Short>(r.primitive + OFFSET(Primitive,outline->left) + (y + 1) * sizeof(Primitive::Span)));
 			Int x0 = Min(x0a, x0b);
-			
+
 			for(unsigned int q = 1; q < state.multiSample; q++)
 			{
 				x0a = Int(*Pointer<Short>(r.primitive + q * sizeof(Primitive) + OFFSET(Primitive,outline->left) + (y + 0) * sizeof(Primitive::Span)));
 				x0b = Int(*Pointer<Short>(r.primitive + q * sizeof(Primitive) + OFFSET(Primitive,outline->left) + (y + 1) * sizeof(Primitive::Span)));
 				x0 = Min(x0, Min(x0a, x0b));
 			}
-			
+
 			x0 &= 0xFFFFFFFE;
 
 			Int x1a = Int(*Pointer<Short>(r.primitive + OFFSET(Primitive,outline->right) + (y + 0) * sizeof(Primitive::Span)));
@@ -193,7 +193,7 @@
 						pitch = *Pointer<Int>(r.data + OFFSET(DrawData,depthPitchB));
 					}
 					else
-					{	
+					{
 						buffer = zBuffer + 8 * x0;
 					}
 
@@ -202,7 +202,7 @@
 						Float4 z = interpolate(xxxx, r.Dz[0], z, r.primitive + OFFSET(Primitive,z), false, false);
 
 						Float4 zValue;
-						
+
 						if(!state.quadLayoutDepthBuffer)
 						{
 							// FIXME: Properly optimizes?