Evaluate interpolants at pixel center when multisampling disabled

Bug: b/142965928
Change-Id: I0c2e7054d51a1dd3d1e0915384b5cfbdaffda178
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/40349
Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
diff --git a/src/Device/PixelProcessor.cpp b/src/Device/PixelProcessor.cpp
index cba29ae..d8d407d 100644
--- a/src/Device/PixelProcessor.cpp
+++ b/src/Device/PixelProcessor.cpp
@@ -138,7 +138,7 @@
 	state.enableMultiSampling = (state.multiSampleCount > 1) &&
 	                            !(context->isDrawLine(true) && (context->lineRasterizationMode == VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT));
 
-	if(state.multiSampleCount > 1 && context->pixelShader)
+	if(state.enableMultiSampling && context->pixelShader)
 	{
 		state.centroid = context->pixelShader->getModes().NeedsCentroid;
 	}
diff --git a/src/Device/QuadRasterizer.cpp b/src/Device/QuadRasterizer.cpp
index b652b59..edda271 100644
--- a/src/Device/QuadRasterizer.cpp
+++ b/src/Device/QuadRasterizer.cpp
@@ -129,7 +129,7 @@
 			{
 				Float4 y = yyyy;
 
-				if(state.multiSampleCount > 1)
+				if(state.enableMultiSampling)
 				{
 					y -= *Pointer<Float4>(constants + OFFSET(Constants, Y) + q * sizeof(float4));
 				}
diff --git a/src/Pipeline/PixelRoutine.cpp b/src/Pipeline/PixelRoutine.cpp
index 1f382e6..ffb81b8 100644
--- a/src/Pipeline/PixelRoutine.cpp
+++ b/src/Pipeline/PixelRoutine.cpp
@@ -80,7 +80,7 @@
 		{
 			Float4 x = xxxx;
 
-			if(state.multiSampleCount > 1)
+			if(state.enableMultiSampling)
 			{
 				x -= *Pointer<Float4>(constants + OFFSET(Constants, X) + q * sizeof(float4));
 			}
@@ -144,7 +144,7 @@
 				auto const &input = spirvShader->inputs[interpolant];
 				if(input.Type != SpirvShader::ATTRIBTYPE_UNUSED)
 				{
-					if(input.Centroid && state.multiSampleCount > 1)
+					if(input.Centroid && state.enableMultiSampling)
 					{
 						routine.inputs[interpolant] =
 						    interpolateCentroid(XXXX, YYYY, rhwCentroid,
@@ -172,10 +172,9 @@
 				auto clipMask = SignMask(CmpGE(distance, SIMD::Float(0)));
 				for(auto ms = 0u; ms < state.multiSampleCount; ms++)
 				{
-					// TODO: Fragments discarded by clipping do not exist at
-					// all -- they should not be counted in queries or have
-					// their Z/S effects performed when early fragment tests
-					// are enabled.
+					// FIXME(b/148105887): Fragments discarded by clipping do not exist at
+					// all -- they should not be counted in queries or have their Z/S effects
+					// performed when early fragment tests are enabled.
 					cMask[ms] &= clipMask;
 				}