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
This commit is contained in:
parent
c58b126623
commit
b4773b4802
@ -210,7 +210,7 @@ void TiledPictureRenderer::init(SkPicture* pict) {
|
||||
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 @@ struct ThreadData {
|
||||
}
|
||||
|
||||
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;
|
||||
|
@ -102,6 +102,7 @@ static bool render_picture(const SkString& inputPath, const SkString& outputDir,
|
||||
inputPath.c_str());
|
||||
|
||||
renderer.init(&picture);
|
||||
renderer.setup();
|
||||
|
||||
SkString outputPath;
|
||||
make_output_filepath(&outputPath, outputDir, inputFilename);
|
||||
|
Loading…
Reference in New Issue
Block a user