Index: tests/ClipStackTest.cpp |
diff --git a/tests/ClipStackTest.cpp b/tests/ClipStackTest.cpp |
index a6b636271ab3da50909edc79945bceea9fd9240b..5265ac2c670a97c06f9044339020b90ec1196d7c 100644 |
--- a/tests/ClipStackTest.cpp |
+++ b/tests/ClipStackTest.cpp |
@@ -916,7 +916,8 @@ static void test_reduced_clip_stack(skiatest::Reporter* reporter) { |
// they are equal. |
// All the clip elements will be contained within these bounds. |
- static const SkRect kBounds = SkRect::MakeWH(100, 100); |
+ static const SkIRect kIBounds = SkIRect::MakeWH(100, 100); |
+ static const SkRect kBounds = SkRect::Make(kIBounds); |
enum { |
kNumTests = 250, |
@@ -1015,13 +1016,14 @@ static void test_reduced_clip_stack(skiatest::Reporter* reporter) { |
testCase.c_str()); |
if (!reduced.elements().isEmpty()) { |
+ REPORTER_ASSERT_MESSAGE(reporter, reduced.hasIBounds(), testCase.c_str()); |
SkRect stackBounds; |
SkClipStack::BoundsType stackBoundsType; |
stack.getBounds(&stackBounds, &stackBoundsType); |
if (SkClipStack::kNormal_BoundsType == stackBoundsType) { |
// Unless GrReducedClip starts doing some heroic tightening of the clip bounds, this |
// will be true since the stack bounds are completely contained inside the query. |
- REPORTER_ASSERT_MESSAGE(reporter, GrClip::IsInsideClip(reduced.iBounds(), stackBounds), |
+ REPORTER_ASSERT_MESSAGE(reporter, GrClip::IsInsideClip(reduced.ibounds(), stackBounds), |
testCase.c_str()); |
} |
REPORTER_ASSERT_MESSAGE(reporter, reduced.requiresAA() == doAA, testCase.c_str()); |
@@ -1037,16 +1039,18 @@ static void test_reduced_clip_stack(skiatest::Reporter* reporter) { |
add_elem_to_stack(*iter.get(), &reducedStack); |
} |
+ SkIRect ibounds = reduced.hasIBounds() ? reduced.ibounds() : kIBounds; |
+ |
// GrReducedClipStack assumes that the final result is clipped to the returned bounds |
- reducedStack.clipDevRect(reduced.iBounds(), SkRegion::kIntersect_Op); |
- stack.clipDevRect(reduced.iBounds(), SkRegion::kIntersect_Op); |
+ reducedStack.clipDevRect(ibounds, SkRegion::kIntersect_Op); |
+ stack.clipDevRect(ibounds, SkRegion::kIntersect_Op); |
// convert both the original stack and reduced stack to SkRegions and see if they're equal |
SkRegion region; |
- set_region_to_stack(stack, reduced.iBounds(), ®ion); |
+ set_region_to_stack(stack, ibounds, ®ion); |
SkRegion reducedRegion; |
- set_region_to_stack(reducedStack, reduced.iBounds(), &reducedRegion); |
+ set_region_to_stack(reducedStack, ibounds, &reducedRegion); |
REPORTER_ASSERT_MESSAGE(reporter, region == reducedRegion, testCase.c_str()); |
} |
@@ -1151,8 +1155,10 @@ static void test_reduced_clip_stack_genid(skiatest::Reporter* reporter) { |
SkASSERT(reduced.genID() == testCases[i].reducedGenID); |
REPORTER_ASSERT(reporter, reduced.initialState() == testCases[i].initialState); |
SkASSERT(reduced.initialState() == testCases[i].initialState); |
- REPORTER_ASSERT(reporter, reduced.iBounds() == testCases[i].clipIRect); |
- SkASSERT(reduced.iBounds() == testCases[i].clipIRect); |
+ REPORTER_ASSERT(reporter, reduced.hasIBounds()); |
+ SkASSERT(reduced.hasIBounds()); |
+ REPORTER_ASSERT(reporter, reduced.ibounds() == testCases[i].clipIRect); |
+ SkASSERT(reduced.ibounds() == testCases[i].clipIRect); |
} |
} |
} |
@@ -1197,7 +1203,9 @@ static void test_aa_query(skiatest::Reporter* reporter, const SkString& testName |
return; |
case ClipMethod::kIgnoreClip: |
SkASSERT(0 == numExpectedElems); |
- REPORTER_ASSERT_MESSAGE(reporter, GrClip::IsInsideClip(reduced.iBounds(), queryBounds), |
+ REPORTER_ASSERT_MESSAGE(reporter, |
+ !reduced.hasIBounds() || |
+ GrClip::IsInsideClip(reduced.ibounds(), queryBounds), |
testName.c_str()); |
REPORTER_ASSERT_MESSAGE(reporter, reduced.elements().isEmpty(), testName.c_str()); |
REPORTER_ASSERT_MESSAGE(reporter, |
@@ -1210,7 +1218,8 @@ static void test_aa_query(skiatest::Reporter* reporter, const SkString& testName |
SkIRect expectedScissor; |
stackBounds.round(&expectedScissor); |
REPORTER_ASSERT_MESSAGE(reporter, reduced.elements().isEmpty(), testName.c_str()); |
- REPORTER_ASSERT_MESSAGE(reporter, expectedScissor == reduced.iBounds(), |
+ REPORTER_ASSERT_MESSAGE(reporter, reduced.hasIBounds(), testName.c_str()); |
+ REPORTER_ASSERT_MESSAGE(reporter, expectedScissor == reduced.ibounds(), |
testName.c_str()); |
REPORTER_ASSERT_MESSAGE(reporter, |
GrReducedClip::InitialState::kAllIn == reduced.initialState(), |
@@ -1224,7 +1233,8 @@ static void test_aa_query(skiatest::Reporter* reporter, const SkString& testName |
} |
REPORTER_ASSERT_MESSAGE(reporter, numExpectedElems == reduced.elements().count(), |
testName.c_str()); |
- REPORTER_ASSERT_MESSAGE(reporter, expectedClipIBounds == reduced.iBounds(), |
+ REPORTER_ASSERT_MESSAGE(reporter, reduced.hasIBounds(), testName.c_str()); |
+ REPORTER_ASSERT_MESSAGE(reporter, expectedClipIBounds == reduced.ibounds(), |
testName.c_str()); |
REPORTER_ASSERT_MESSAGE(reporter, reduced.requiresAA() == !reduced.elements().isEmpty(), |
testName.c_str()); |