aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/picture_utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/picture_utils.cpp')
-rw-r--r--tools/picture_utils.cpp11
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));
}