Break out long condition into a helper function

No functional difference expected.

Bug: b/358602678
Test: build
Change-Id: Ie18ea0ad6555e867afdc5e16c16405cb1198a4be
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/73948
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Presubmit-Ready: Jason Macnak <natsu@google.com>
Tested-by: Jason Macnak <natsu@google.com>
Commit-Queue: Jason Macnak <natsu@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
diff --git a/src/Pipeline/PixelRoutine.cpp b/src/Pipeline/PixelRoutine.cpp
index 92fb6b3..d2e69dc 100644
--- a/src/Pipeline/PixelRoutine.cpp
+++ b/src/Pipeline/PixelRoutine.cpp
@@ -25,6 +25,32 @@
 #include "Vulkan/VkStringify.hpp"
 
 namespace sw {
+namespace {
+
+bool shouldUsePerSampleShading(const PixelProcessor::State &state, const SpirvShader *spirvShader)
+{
+	if(state.sampleShadingEnabled && (state.minSampleShading * state.multiSampleCount > 1.0f))
+	{
+		return true;
+	}
+
+	if(spirvShader)
+	{
+		if(spirvShader->getUsedCapabilities().InterpolationFunction) // TODO(b/194714095)
+		{
+			return true;
+		}
+
+		if(spirvShader->getAnalysis().ContainsSampleQualifier)
+		{
+			return true;
+		}
+	}
+
+	return false;
+}
+
+}  // namespace
 
 PixelRoutine::PixelRoutine(
     const PixelProcessor::State &state,
@@ -37,9 +63,7 @@
     , attachments(attachments)
     , descriptorSets(descriptorSets)
     , shaderContainsInterpolation(spirvShader && spirvShader->getUsedCapabilities().InterpolationFunction)
-    , shaderContainsSampleQualifier(spirvShader && spirvShader->getAnalysis().ContainsSampleQualifier)
-    , perSampleShading((state.sampleShadingEnabled && (state.minSampleShading * state.multiSampleCount > 1.0f)) ||
-                       shaderContainsSampleQualifier || shaderContainsInterpolation)  // TODO(b/194714095)
+    , perSampleShading(shouldUsePerSampleShading(state, spirvShader))
     , invocationCount(perSampleShading ? state.multiSampleCount : 1)
 {
 	if(spirvShader)
diff --git a/src/Pipeline/PixelRoutine.hpp b/src/Pipeline/PixelRoutine.hpp
index 8b372d7..ba97cb6 100644
--- a/src/Pipeline/PixelRoutine.hpp
+++ b/src/Pipeline/PixelRoutine.hpp
@@ -112,7 +112,6 @@
 
 	// Derived state parameters
 	const bool shaderContainsInterpolation;  // TODO(b/194714095)
-	const bool shaderContainsSampleQualifier;
 	const bool perSampleShading;
 	const int invocationCount;