aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/GrPorterDuffTest.cpp
diff options
context:
space:
mode:
authorGravatar Brian Salomon <bsalomon@google.com>2017-02-10 14:29:38 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-02-10 20:02:32 +0000
commiteec6f7be5461e588210f383b8af18f324a2bdb46 (patch)
tree1d72e2d8636f65b32e0edaa4a47fe3fa6d6c3b05 /tests/GrPorterDuffTest.cpp
parent2aeae78a2ce3b036f0401fd0381d6fd6e2a7a1fc (diff)
Use new fragment processor optimization queries.
This doesn't yet delete the old virtuals. It still uses the color and component flags model for the pipeline input and blended output but I'm planning to change those as well. Change-Id: I64e2ec0fe9ed9fae3aabf1ca8c9bc0582fc7565a Reviewed-on: https://skia-review.googlesource.com/7760 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
Diffstat (limited to 'tests/GrPorterDuffTest.cpp')
-rw-r--r--tests/GrPorterDuffTest.cpp33
1 files changed, 16 insertions, 17 deletions
diff --git a/tests/GrPorterDuffTest.cpp b/tests/GrPorterDuffTest.cpp
index 6ef05d95ed..f4bf85160f 100644
--- a/tests/GrPorterDuffTest.cpp
+++ b/tests/GrPorterDuffTest.cpp
@@ -473,8 +473,7 @@ static void test_color_unknown_with_coverage(skiatest::Reporter* reporter, const
static void test_color_unknown_no_coverage(skiatest::Reporter* reporter, const GrCaps& caps) {
GrPipelineAnalysis analysis;
- analysis.fColorPOI.reset(GrColorPackRGBA(229, 0, 154, 0),
- kR_GrColorComponentFlag | kB_GrColorComponentFlag);
+ analysis.fColorPOI.reset(GrColorPackRGBA(229, 0, 154, 240), kRGBA_GrColorComponentFlags);
analysis.fCoveragePOI.reset(GrColorPackA4(255), kRGBA_GrColorComponentFlags);
SkASSERT(!analysis.fColorPOI.isOpaque());
@@ -502,9 +501,10 @@ static void test_color_unknown_no_coverage(skiatest::Reporter* reporter, const G
case SkBlendMode::kSrc:
TEST_ASSERT(!xpi.fBlendedColor.fWillBlendWithDst);
TEST_ASSERT(229 == GrColorUnpackR(xpi.fBlendedColor.fKnownColor));
+ TEST_ASSERT(0 == GrColorUnpackG(xpi.fBlendedColor.fKnownColor));
TEST_ASSERT(154 == GrColorUnpackB(xpi.fBlendedColor.fKnownColor));
- TEST_ASSERT((kR_GrColorComponentFlag |
- kB_GrColorComponentFlag) == xpi.fBlendedColor.fKnownColorFlags);
+ TEST_ASSERT(240 == GrColorUnpackA(xpi.fBlendedColor.fKnownColor));
+ TEST_ASSERT(kRGBA_GrColorComponentFlags == xpi.fBlendedColor.fKnownColorFlags);
TEST_ASSERT(kNone_OptFlags == xpi.fOptFlags);
TEST_ASSERT(kModulate_OutputType == xpi.fPrimaryOutputType);
TEST_ASSERT(kNone_OutputType == xpi.fSecondaryOutputType);
@@ -694,8 +694,8 @@ static void test_color_opaque_with_coverage(skiatest::Reporter* reporter, const
break;
case SkBlendMode::kSrc:
TEST_ASSERT(!xpi.fBlendedColor.fWillBlendWithDst);
- TEST_ASSERT(255 == GrColorUnpackA(xpi.fBlendedColor.fKnownColor));
- TEST_ASSERT(kA_GrColorComponentFlag == xpi.fBlendedColor.fKnownColorFlags);
+ // We don't really track per-component blended output anymore.
+ TEST_ASSERT(0 == xpi.fBlendedColor.fKnownColorFlags);
TEST_ASSERT((kCanTweakAlphaForCoverage_OptFlag) == xpi.fOptFlags);
TEST_ASSERT(kModulate_OutputType == xpi.fPrimaryOutputType);
TEST_ASSERT(kNone_OutputType == xpi.fSecondaryOutputType);
@@ -719,8 +719,8 @@ static void test_color_opaque_with_coverage(skiatest::Reporter* reporter, const
break;
case SkBlendMode::kSrcOver:
TEST_ASSERT(!xpi.fBlendedColor.fWillBlendWithDst);
- TEST_ASSERT(255 == GrColorUnpackA(xpi.fBlendedColor.fKnownColor));
- TEST_ASSERT(kA_GrColorComponentFlag == xpi.fBlendedColor.fKnownColorFlags);
+ // We don't really track per-component blended output anymore.
+ TEST_ASSERT(kNone_GrColorComponentFlags == xpi.fBlendedColor.fKnownColorFlags);
TEST_ASSERT((kCanTweakAlphaForCoverage_OptFlag) == xpi.fOptFlags);
TEST_ASSERT(kModulate_OutputType == xpi.fPrimaryOutputType);
TEST_ASSERT(kNone_OutputType == xpi.fSecondaryOutputType);
@@ -890,10 +890,8 @@ static void test_color_opaque_no_coverage(skiatest::Reporter* reporter, const Gr
break;
case SkBlendMode::kSrc:
TEST_ASSERT(!xpi.fBlendedColor.fWillBlendWithDst);
- TEST_ASSERT(82 == GrColorUnpackG(xpi.fBlendedColor.fKnownColor));
- TEST_ASSERT(255 == GrColorUnpackA(xpi.fBlendedColor.fKnownColor));
- TEST_ASSERT((kG_GrColorComponentFlag |
- kA_GrColorComponentFlag) == xpi.fBlendedColor.fKnownColorFlags);
+ // We don't really track per-component blended output anymore.
+ TEST_ASSERT(kNone_GrColorComponentFlags == xpi.fBlendedColor.fKnownColorFlags);
TEST_ASSERT(kNone_OptFlags == xpi.fOptFlags);
TEST_ASSERT(kModulate_OutputType == xpi.fPrimaryOutputType);
TEST_ASSERT(kNone_OutputType == xpi.fSecondaryOutputType);
@@ -917,10 +915,8 @@ static void test_color_opaque_no_coverage(skiatest::Reporter* reporter, const Gr
break;
case SkBlendMode::kSrcOver:
TEST_ASSERT(!xpi.fBlendedColor.fWillBlendWithDst);
- TEST_ASSERT(82 == GrColorUnpackG(xpi.fBlendedColor.fKnownColor));
- TEST_ASSERT(255 == GrColorUnpackA(xpi.fBlendedColor.fKnownColor));
- TEST_ASSERT((kG_GrColorComponentFlag |
- kA_GrColorComponentFlag) == xpi.fBlendedColor.fKnownColorFlags);
+ // We don't really track per-component blended output anymore.
+ TEST_ASSERT(kNone_GrColorComponentFlags == xpi.fBlendedColor.fKnownColorFlags);
TEST_ASSERT(kNone_OptFlags == xpi.fOptFlags);
TEST_ASSERT(kModulate_OutputType == xpi.fPrimaryOutputType);
TEST_ASSERT(kNone_OutputType == xpi.fSecondaryOutputType);
@@ -1087,8 +1083,11 @@ static void test_lcd_coverage_fallback_case(skiatest::Reporter* reporter, const
testLCDCoverageOp.initPipelineAnalysis(&analysis);
GrProcOptInfo colorPOI = analysis.fColorPOI;
GrProcOptInfo covPOI = analysis.fCoveragePOI;
+ // Prevent unused var warnings in release.
+ (void)colorPOI;
+ (void)covPOI;
- SkASSERT(kRGBA_GrColorComponentFlags == colorPOI.validFlags());
+ SkASSERT(colorPOI.hasKnownOutputColor());
SkASSERT(covPOI.isLCDCoverage());
const GrXPFactory* xpf = GrPorterDuffXPFactory::Get(SkBlendMode::kSrcOver);