diff options
author | commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2014-03-07 03:25:16 +0000 |
---|---|---|
committer | commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2014-03-07 03:25:16 +0000 |
commit | 4cd9e2169e35cd67ee7358acea6541245e1d1744 (patch) | |
tree | 6e78d84ef91181b41f5c45a73bab003c63780f10 /bench/PremulAndUnpremulAlphaOpsBench.cpp | |
parent | a5572e5bb2a2bbeeb59de0741c2527869d365a0c (diff) |
Add SkCanvas::writePixels that takes info+pixels directly
add corresponding methods to device (w/ diff name to avoid colliding with exising virtuals)
BUG=skia:
R=bsalomon@google.com, robertphillips@google.com, junov@google.com, junov@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/180113010
git-svn-id: http://skia.googlecode.com/svn/trunk@13697 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'bench/PremulAndUnpremulAlphaOpsBench.cpp')
-rw-r--r-- | bench/PremulAndUnpremulAlphaOpsBench.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/bench/PremulAndUnpremulAlphaOpsBench.cpp b/bench/PremulAndUnpremulAlphaOpsBench.cpp index 93c84c9095..4afa43fe6e 100644 --- a/bench/PremulAndUnpremulAlphaOpsBench.cpp +++ b/bench/PremulAndUnpremulAlphaOpsBench.cpp @@ -1,4 +1,3 @@ - /* * Copyright 2013 Google Inc. * @@ -10,6 +9,7 @@ #include "SkCanvas.h" #include "SkConfig8888.h" #include "SkString.h" +#include "sk_tool_utils.h" class PremulAndUnpremulAlphaOpsBench : public SkBenchmark { public: @@ -45,9 +45,16 @@ protected: bmp2.setConfig(SkBitmap::kARGB_8888_Config, size.width(), size.height()); + SkColorType ct; + SkAlphaType at; + sk_tool_utils::config8888_to_imagetypes(fUnPremulConfig, &ct, &at); + if (bmp1.isOpaque()) { + at = kOpaque_SkAlphaType; + } + for (int loop = 0; loop < loops; ++loop) { // Unpremul -> Premul - canvas->writePixels(bmp1, 0, 0, fUnPremulConfig); + sk_tool_utils::write_pixels(canvas, bmp1, 0, 0, ct, at); // Premul -> Unpremul canvas->readPixels(&bmp2, 0, 0, fUnPremulConfig); } |