allow non-preferred line interpolation for gles
[platform/upstream/VK-GL-CTS.git] / framework / common / tcuRasterizationVerifier.cpp
index 869e262..3ee4414 100644 (file)
@@ -1997,6 +1997,11 @@ bool verifySinglesampleNarrowLineGroupInterpolation (const tcu::Surface& surface
        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);
@@ -3004,6 +3009,10 @@ LineInterpolationMethod verifyLineGroupInterpolation (const tcu::Surface& surfac
                {
                        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