diff options
Diffstat (limited to 'tools/picture_utils.cpp')
-rw-r--r-- | tools/picture_utils.cpp | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/tools/picture_utils.cpp b/tools/picture_utils.cpp index 93d598ddbd..f476c0dbc0 100644 --- a/tools/picture_utils.cpp +++ b/tools/picture_utils.cpp @@ -83,8 +83,8 @@ namespace sk_tools { SkAutoTMalloc<uint32_t> rgba(w*h); - const void* src = bitmap.getPixels(); - uint32_t* dst = rgba.get(); + SkJumper_MemoryCtx src = { bitmap.getPixels(), bitmap.rowBytesAsPixels() }, + dst = { rgba.get(), w }; SkRasterPipeline_<256> p; switch (bitmap.colorType()) { @@ -106,12 +106,7 @@ namespace sk_tools { } p.append(SkRasterPipeline::store_8888, &dst); - auto run = p.compile(); - for (int y = 0; y < h; y++) { - run(0,y, w); - src = SkTAddOffset<const void>(src, bitmap.rowBytes()); - dst += w; - } + p.run(0,0, w,h); return SkData::MakeFromMalloc(rgba.release(), w*h*sizeof(uint32_t)); } |