equal
deleted
inserted
replaced
|
1 # HG changeset patch |
|
2 # User Lee Salzman <lsalzman@mozilla.com> |
|
3 # Date 1474489725 14400 |
|
4 # Wed Sep 21 16:28:45 2016 -0400 |
|
5 # Node ID 38a427a913b57080374b9966466b8f436ec39eb8 |
|
6 # Parent 4dfd3f00543d1d7adc3f0f852e6f32fbca6f3420 |
|
7 fix invalid Sk4f store to SkColor in SkPixmap::erase |
|
8 |
|
9 MozReview-Commit-ID: 840x1nXgYns |
|
10 |
|
11 diff --git a/gfx/skia/skia/src/core/SkPixmap.cpp b/gfx/skia/skia/src/core/SkPixmap.cpp |
|
12 --- a/gfx/skia/skia/src/core/SkPixmap.cpp |
|
13 +++ b/gfx/skia/skia/src/core/SkPixmap.cpp |
|
14 @@ -221,17 +221,17 @@ bool SkPixmap::erase(const SkColor4f& or |
|
15 pm = *this; |
|
16 } |
|
17 |
|
18 const SkColor4f color = origColor.pin(); |
|
19 |
|
20 if (kRGBA_F16_SkColorType != pm.colorType()) { |
|
21 Sk4f c4 = Sk4f::Load(color.vec()); |
|
22 SkColor c; |
|
23 - (c4 * Sk4f(255) + Sk4f(0.5f)).store(&c); |
|
24 + SkNx_cast<uint8_t>(c4 * Sk4f(255) + Sk4f(0.5f)).store(&c); |
|
25 return pm.erase(c); |
|
26 } |
|
27 |
|
28 const uint64_t half4 = color.premul().toF16(); |
|
29 for (int y = 0; y < pm.height(); ++y) { |
|
30 sk_memset64(pm.writable_addr64(0, y), half4, pm.width()); |
|
31 } |
|
32 return true; |