Fix some bugs in our picture tools.
When doing tiled rendering in multiple threads, clone fPicture,
rather than the blank fPictureClones. Also fix a precedence
problem so we get the correct rectangle.
In render_pictures_main, call PictureRenderer::setup().
Review URL: https://codereview.appspot.com/6585055
git-svn-id: http://skia.googlecode.com/svn/trunk@5758 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/tools/PictureRenderer.cpp b/tools/PictureRenderer.cpp
index 85bd194..2eb89b2 100644
--- a/tools/PictureRenderer.cpp
+++ b/tools/PictureRenderer.cpp
@@ -210,7 +210,7 @@
int numberOfClones = fNumThreads - 1;
// This will be deleted in end().
fPictureClones = SkNEW_ARRAY(SkPicture, numberOfClones);
- fPictureClones->clone(fPictureClones, numberOfClones);
+ fPicture->clone(fPictureClones, numberOfClones);
}
}
}
@@ -315,7 +315,8 @@
}
const SkRect* nextTile() {
- if (int32_t i = sk_atomic_inc(fTileCounter) < fTileRects->count()) {
+ int32_t i = sk_atomic_inc(fTileCounter);
+ if (i < fTileRects->count()) {
return &fTileRects->operator[](i);
}
return NULL;
diff --git a/tools/render_pictures_main.cpp b/tools/render_pictures_main.cpp
index 6066334..764bea0 100644
--- a/tools/render_pictures_main.cpp
+++ b/tools/render_pictures_main.cpp
@@ -102,6 +102,7 @@
inputPath.c_str());
renderer.init(&picture);
+ renderer.setup();
SkString outputPath;
make_output_filepath(&outputPath, outputDir, inputFilename);