diff --git a/src/Pipeline/PixelProgram.cpp b/src/Pipeline/PixelProgram.cpp
index d38e245..ba904c1 100644
--- a/src/Pipeline/PixelProgram.cpp
+++ b/src/Pipeline/PixelProgram.cpp
@@ -78,9 +78,9 @@
 		routine.setInputBuiltin(spirvShader, spv::BuiltInPointCoord, [&](const SpirvShader::BuiltinMapping& builtin, Array<SIMD::Float>& value)
 		{
 			assert(builtin.SizeInComponents == 2);
-			value[builtin.FirstComponent+0] = SIMD::Float(0.5f) +
+			value[builtin.FirstComponent+0] = SIMD::Float(0.5f, 1.5f, 0.5f, 1.5f) +
 				SIMD::Float(Float(x) - (*Pointer<Float>(primitive + OFFSET(Primitive, pointCoordX))));
-			value[builtin.FirstComponent+1] = SIMD::Float(0.5f) +
+			value[builtin.FirstComponent+1] = SIMD::Float(0.5f, 0.5f, 1.5f, 1.5f) +
 				SIMD::Float(Float(y) - (*Pointer<Float>(primitive + OFFSET(Primitive, pointCoordY))));
 		});
 
diff --git a/src/Pipeline/SetupRoutine.cpp b/src/Pipeline/SetupRoutine.cpp
index 3627220..2f7aab8 100644
--- a/src/Pipeline/SetupRoutine.cpp
+++ b/src/Pipeline/SetupRoutine.cpp
@@ -294,11 +294,6 @@
 				conditionalRotate2(wMax == w2, v0, v1, v2);
 			}
 
-			*Pointer<Float>(primitive + OFFSET(Primitive, pointCoordX)) =
-				*Pointer<Float>(v0 + OFFSET(Vertex, x));
-			*Pointer<Float>(primitive + OFFSET(Primitive, pointCoordY)) =
-				*Pointer<Float>(v0 + OFFSET(Vertex, y));
-
 			Float w0 = *Pointer<Float>(v0 + OFFSET(Vertex, w));
 			Float w1 = *Pointer<Float>(v1 + OFFSET(Vertex, w));
 			Float w2 = *Pointer<Float>(v2 + OFFSET(Vertex, w));
@@ -320,6 +315,12 @@
 			Int Y1 = *Pointer<Int>(v1 + OFFSET(Vertex,projected.y));
 			Int Y2 = *Pointer<Int>(v2 + OFFSET(Vertex,projected.y));
 
+			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);
+			}
+
 			if(line)
 			{
 				X2 = X1 + Y1 - Y0;
