diff options
author | Mike Reed <reed@google.com> | 2017-06-08 20:26:41 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-06-09 00:48:50 +0000 |
commit | 43e498e7e7ca6f93bb57f76e8346244ed807255e (patch) | |
tree | 4ac538afa966b3d6f4ad39d6d703c5f3f6dd7fe7 /src/shaders/SkBitmapProcShader.cpp | |
parent | fee2b4ed0ff3776064c327c73f4f66b20727a1c1 (diff) |
specialize D32 proc for legacy src
lots of dead-code removal
Bug: skia:
Change-Id: I23ea25eb38855b4776e97fa8ff777d9744baab1d
Reviewed-on: https://skia-review.googlesource.com/19147
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'src/shaders/SkBitmapProcShader.cpp')
-rw-r--r-- | src/shaders/SkBitmapProcShader.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/shaders/SkBitmapProcShader.cpp b/src/shaders/SkBitmapProcShader.cpp index 5410447d6d..91697e2f1b 100644 --- a/src/shaders/SkBitmapProcShader.cpp +++ b/src/shaders/SkBitmapProcShader.cpp @@ -10,6 +10,7 @@ #include "SkArenaAlloc.h" #include "SkBitmapProcState.h" #include "SkBitmapProvider.h" +#include "SkPM4fPriv.h" #include "SkXfermodePriv.h" static bool only_scale_and_translate(const SkMatrix& matrix) { @@ -120,11 +121,6 @@ public: info->fPaintColor, info->fPixmap, fAllocator); - - // To implement the old shadeSpan entry-point, we need to efficiently convert our native - // floats into SkPMColor. The SkXfermode::D32Procs do exactly that. - // - fSrcModeProc = SkXfermode::GetD32Proc(SkBlendMode::kSrc, 0); } void shadeSpan4f(int x, int y, SkPM4f dstC[], int count) override { @@ -138,7 +134,10 @@ public: while (count > 0) { const int n = SkTMin(count, N); fShaderPipeline->shadeSpan4f(x, y, tmp, n); - fSrcModeProc(SkBlendMode::kSrc, dstC, tmp, n, nullptr); + // now convert to SkPMColor + for (int i = 0; i < n; ++i) { + dstC[i] = Sk4f_toL32(tmp[i].to4f_pmorder()); + } dstC += n; x += n; count -= n; @@ -149,7 +148,6 @@ private: // Store the allocator from the context creation incase we are asked to build a blitter. SkArenaAlloc* fAllocator; SkLinearBitmapPipeline* fShaderPipeline; - SkXfermode::D32Proc fSrcModeProc; SkPixmap fSrcPixmap; float fAlpha; SkMatrix::TypeMask fMatrixTypeMask; |