Index: tests/RecordReplaceDrawTest.cpp |
diff --git a/tests/RecordReplaceDrawTest.cpp b/tests/RecordReplaceDrawTest.cpp |
index 3074cfdc13b3e029f76591c70434eb3750743473..225185ddd32ee69389b9ce8ddc7f0f6aff7c2334 100644 |
--- a/tests/RecordReplaceDrawTest.cpp |
+++ b/tests/RecordReplaceDrawTest.cpp |
@@ -90,15 +90,12 @@ DEF_TEST(RecordReplaceDraw_Unbalanced, r) { |
} |
// Test out the layer replacement functionality with and w/o a BBH |
-void test_replacements(skiatest::Reporter* r, GrContext* context, bool useBBH) { |
+void test_replacements(skiatest::Reporter* r, GrContext* context, bool doReplace) { |
SkAutoTUnref<const SkPicture> pic; |
{ |
- SkRTreeFactory bbhFactory; |
SkPictureRecorder recorder; |
- SkCanvas* canvas = recorder.beginRecording(SkIntToScalar(kWidth), SkIntToScalar(kHeight), |
- useBBH ? &bbhFactory : nullptr); |
- |
+ SkCanvas* canvas = recorder.beginRecording(SkIntToScalar(kWidth), SkIntToScalar(kHeight)); |
SkPaint paint; |
canvas->saveLayer(nullptr, &paint); |
canvas->clear(SK_ColorRED); |
@@ -108,44 +105,38 @@ void test_replacements(skiatest::Reporter* r, GrContext* context, bool useBBH) { |
pic.reset(recorder.endRecording()); |
} |
- int key[1] = { 0 }; |
- |
+ SkAutoTUnref<GrTexture> texture; |
SkPaint paint; |
GrLayerCache* layerCache = context->getLayerCache(); |
- GrCachedLayer* layer = layerCache->findLayerOrCreate(pic->uniqueID(), 0, 2, |
- SkIRect::MakeWH(kWidth, kHeight), |
- SkIRect::MakeWH(kWidth, kHeight), |
- SkMatrix::I(), key, 1, &paint); |
- GrSurfaceDesc desc; |
- desc.fConfig = kSkia8888_GrPixelConfig; |
- desc.fFlags = kRenderTarget_GrSurfaceFlag; |
- desc.fWidth = kWidth; |
- desc.fHeight = kHeight; |
- desc.fSampleCnt = 0; |
+ if (doReplace) { |
+ int key[1] = { 0 }; |
- SkAutoTUnref<GrTexture> texture(context->textureProvider()->createTexture(desc, |
- false, nullptr, 0)); |
- layer->setTexture(texture, SkIRect::MakeWH(kWidth, kHeight)); |
+ GrCachedLayer* layer = layerCache->findLayerOrCreate(pic->uniqueID(), 0, 2, |
+ SkIRect::MakeWH(kWidth, kHeight), |
+ SkIRect::MakeWH(kWidth, kHeight), |
+ SkMatrix::I(), key, 1, &paint); |
- SkAutoTUnref<SkBBoxHierarchy> bbh; |
+ GrSurfaceDesc desc; |
+ desc.fConfig = kSkia8888_GrPixelConfig; |
+ desc.fFlags = kRenderTarget_GrSurfaceFlag; |
+ desc.fWidth = kWidth; |
+ desc.fHeight = kHeight; |
+ desc.fSampleCnt = 0; |
+ |
+ texture.reset(context->textureProvider()->createTexture(desc, false, nullptr, 0)); |
+ layer->setTexture(texture, SkIRect::MakeWH(kWidth, kHeight)); |
+ } |
SkRecord rerecord; |
SkRecorder canvas(&rerecord, kWidth, kHeight); |
GrRecordReplaceDraw(pic, &canvas, layerCache, SkMatrix::I(), nullptr/*callback*/); |
- int recount = rerecord.count(); |
- REPORTER_ASSERT(r, 2 == recount || 4 == recount); |
- |
- int index = 0; |
- if (4 == recount) { |
- assert_type<SkRecords::Save>(r, rerecord, 0); |
- index += 1; |
- } |
- assert_type<SkRecords::DrawSprite>(r, rerecord, index + 0); |
- assert_type<SkRecords::DrawRect>(r, rerecord, index + 1); |
- if (4 == recount) { |
- assert_type<SkRecords::Restore>(r, rerecord, 3); |
+ int numLayers = count_instances_of_type<SkRecords::SaveLayer>(rerecord); |
+ if (doReplace) { |
+ REPORTER_ASSERT(r, 0 == numLayers); |
+ } else { |
+ REPORTER_ASSERT(r, 1 == numLayers); |
} |
} |
@@ -160,8 +151,8 @@ DEF_GPUTEST(RecordReplaceDraw, r, factory) { |
continue; |
} |
- test_replacements(r, context, true); |
test_replacements(r, context, false); |
+ test_replacements(r, context, true); |
} |
} |