// Add several layers to the cache static void create_layers(skiatest::Reporter* reporter, GrLayerCache* cache, const SkPicture& picture, int numToAdd, int idOffset) { for (int i = 0; i < numToAdd; ++i) { GrCachedLayer* layer = cache->findLayerOrCreate(&picture, idOffset+i+1, idOffset+i+2, SkMatrix::I()); REPORTER_ASSERT(reporter, NULL != layer); GrCachedLayer* temp = cache->findLayer(&picture, idOffset+i+1, idOffset+i+2, SkMatrix::I()); REPORTER_ASSERT(reporter, temp == layer); REPORTER_ASSERT(reporter, TestingAccess::NumLayers(cache) == idOffset + i + 1); REPORTER_ASSERT(reporter, picture.uniqueID() == layer->pictureID()); REPORTER_ASSERT(reporter, layer->start() == idOffset + i + 1); REPORTER_ASSERT(reporter, layer->stop() == idOffset + i + 2); REPORTER_ASSERT(reporter, layer->ctm() == SkMatrix::I()); REPORTER_ASSERT(reporter, NULL == layer->texture()); REPORTER_ASSERT(reporter, !layer->isAtlased()); } cache->trackPicture(&picture); }