Index: src/core/Sk4px.h |
diff --git a/src/core/Sk4px.h b/src/core/Sk4px.h |
index 7d51fd099ebef818c58d15ebeb7acad265d82c6d..e1d4dc1244b0804b4146d491415d7a7d43e5ff92 100644 |
--- a/src/core/Sk4px.h |
+++ b/src/core/Sk4px.h |
@@ -10,7 +10,6 @@ |
#include "SkNx.h" |
#include "SkColor.h" |
-#include "SkColorPriv.h" |
// This file may be included multiple times by .cpp files with different flags, leading |
// to different definitions. Usually that doesn't matter because it's all inlined, but |
@@ -47,14 +46,6 @@ |
void store4(SkPMColor[4]) const; |
void store2(SkPMColor[2]) const; |
void store1(SkPMColor[1]) const; |
- |
- // Same as above for 565. |
- static Sk4px Load4(const SkPMColor16 src[4]); |
- static Sk4px Load2(const SkPMColor16 src[2]); |
- static Sk4px Load1(const SkPMColor16 src[1]); |
- void store4(SkPMColor16 dst[4]) const; |
- void store2(SkPMColor16 dst[2]) const; |
- void store1(SkPMColor16 dst[1]) const; |
// 1, 2, or 4 SkPMColors with 16-bit components. |
// This is most useful as the result of a multiply, e.g. from mulWiden(). |
@@ -108,8 +99,8 @@ |
// A generic driver that maps fn over a src array into a dst array. |
// fn should take an Sk4px (4 src pixels) and return an Sk4px (4 dst pixels). |
- template <typename Fn, typename Dst> |
- static void MapSrc(int n, Dst* dst, const SkPMColor* src, const Fn& fn) { |
+ template <typename Fn> |
+ static void MapSrc(int n, SkPMColor* dst, const SkPMColor* src, const Fn& fn) { |
// This looks a bit odd, but it helps loop-invariant hoisting across different calls to fn. |
// Basically, we need to make sure we keep things inside a single loop. |
while (n > 0) { |
@@ -138,8 +129,8 @@ |
} |
// As above, but with dst4' = fn(dst4, src4). |
- template <typename Fn, typename Dst> |
- static void MapDstSrc(int n, Dst* dst, const SkPMColor* src, const Fn& fn) { |
+ template <typename Fn> |
+ static void MapDstSrc(int n, SkPMColor* dst, const SkPMColor* src, const Fn& fn) { |
while (n > 0) { |
if (n >= 8) { |
Sk4px dst0 = fn(Load4(dst+0), Load4(src+0)), |
@@ -166,8 +157,8 @@ |
} |
// As above, but with dst4' = fn(dst4, src4, alpha4). |
- template <typename Fn, typename Dst> |
- static void MapDstSrcAlpha(int n, Dst* dst, const SkPMColor* src, const SkAlpha* a, |
+ template <typename Fn> |
+ static void MapDstSrcAlpha(int n, SkPMColor* dst, const SkPMColor* src, const SkAlpha* a, |
const Fn& fn) { |
while (n > 0) { |
if (n >= 8) { |
@@ -197,39 +188,6 @@ |
private: |
typedef Sk16b INHERITED; |
}; |
- |
-// TODO: specialize these per-backend |
- |
-inline Sk4px Sk4px::Load4(const SkPMColor16 src[4]) { |
- SkPMColor src32[4]; |
- for (int i = 0; i < 4; i++) { src32[i] = SkPixel16ToPixel32(src[i]); } |
- return Load4(src32); |
-} |
-inline Sk4px Sk4px::Load2(const SkPMColor16 src[2]) { |
- SkPMColor src32[2]; |
- for (int i = 0; i < 2; i++) { src32[i] = SkPixel16ToPixel32(src[i]); } |
- return Load2(src32); |
-} |
-inline Sk4px Sk4px::Load1(const SkPMColor16 src[1]) { |
- SkPMColor src32 = SkPixel16ToPixel32(src[0]); |
- return Load1(&src32); |
-} |
- |
-inline void Sk4px::store4(SkPMColor16 dst[4]) const { |
- SkPMColor dst32[4]; |
- this->store4(dst32); |
- for (int i = 0; i < 4; i++) { dst[i] = SkPixel32ToPixel16(dst32[i]); } |
-} |
-inline void Sk4px::store2(SkPMColor16 dst[2]) const { |
- SkPMColor dst32[2]; |
- this->store2(dst32); |
- for (int i = 0; i < 2; i++) { dst[i] = SkPixel32ToPixel16(dst32[i]); } |
-} |
-inline void Sk4px::store1(SkPMColor16 dst[1]) const { |
- SkPMColor dst32; |
- this->store1(&dst32); |
- dst[0] = SkPixel32ToPixel16(dst32); |
-} |
} // namespace |