Compute the primitive's origin coordinates only once

Bug: b/237494823
Change-Id: I62874a18d396653852ad3a8fae8ae987a8d559b9
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/67528
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Sean Risser <srisser@google.com>
diff --git a/src/Pipeline/SetupRoutine.cpp b/src/Pipeline/SetupRoutine.cpp
index ceb6e9e..b04ba31 100644
--- a/src/Pipeline/SetupRoutine.cpp
+++ b/src/Pipeline/SetupRoutine.cpp
@@ -314,10 +314,13 @@
 		Int Y1 = *Pointer<Int>(v1 + OFFSET(Vertex, projected.y));
 		Int Y2 = *Pointer<Int>(v2 + OFFSET(Vertex, projected.y));
 
+		Float x0 = Float(X0) * (1.0f / subPixF);
+		Float y0 = Float(Y0) * (1.0f / subPixF);
+
 		if(point)
 		{
-			*Pointer<Float>(primitive + OFFSET(Primitive, pointCoordX)) = Float(1.0f / subPixF) * Float(X0);
-			*Pointer<Float>(primitive + OFFSET(Primitive, pointCoordY)) = Float(1.0f / subPixF) * Float(Y0);
+			*Pointer<Float>(primitive + OFFSET(Primitive, pointCoordX)) = x0;
+			*Pointer<Float>(primitive + OFFSET(Primitive, pointCoordY)) = y0;
 		}
 
 		if(line)
@@ -326,9 +329,6 @@
 			Y2 = Y1 + X0 - X1;
 		}
 
-		Float dx = Float(X0) * (1.0f / subPixF);
-		Float dy = Float(Y0) * (1.0f / subPixF);
-
 		X1 -= X0;
 		Y1 -= Y0;
 
@@ -343,8 +343,8 @@
 
 		Float a = x1 * y2 - x2 * y1;
 
-		Float4 xQuad = Float4(0, 1, 0, 1) - Float4(dx);
-		Float4 yQuad = Float4(0, 0, 1, 1) - Float4(dy);
+		Float4 xQuad = Float4(0, 1, 0, 1) - Float4(x0);
+		Float4 yQuad = Float4(0, 0, 1, 1) - Float4(y0);
 
 		*Pointer<Float4>(primitive + OFFSET(Primitive, xQuad), 16) = xQuad;
 		*Pointer<Float4>(primitive + OFFSET(Primitive, yQuad), 16) = yQuad;