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;