return verifyLineGroupPixelIndependentInterpolation(surface, scene, args, log, LINEINTERPOLATION_STRICTLY_CORRECT);
}
+bool verifyLineGroupInterpolationWithNonProjectedWeights (const tcu::Surface& surface, const LineSceneSpec& scene, const RasterizationArguments& args, tcu::TestLog& log)
+{
+ return verifyLineGroupPixelIndependentInterpolation(surface, scene, args, log, LINEINTERPOLATION_STRICTLY_CORRECT);
+}
+
bool verifyLineGroupInterpolationWithProjectedWeights (const tcu::Surface& surface, const LineSceneSpec& scene, const RasterizationArguments& args, tcu::TestLog& log)
{
return verifyLineGroupPixelIndependentInterpolation(surface, scene, args, log, LINEINTERPOLATION_PROJECTED);
{
if (verifySinglesampleWideLineGroupInterpolation(surface, scene, args, log))
return LINEINTERPOLATION_STRICTLY_CORRECT;
+
+ if (scene.allowNonProjectedInterpolation &&
+ verifyLineGroupInterpolationWithNonProjectedWeights(surface, scene, args, log))
+ return LINEINTERPOLATION_STRICTLY_CORRECT;
}
// check with projected (inaccurate) interpolation