diff options
author | 2017-11-10 16:24:50 -0500 | |
---|---|---|
committer | 2017-11-14 17:38:34 +0000 | |
commit | 339b84e78cc5d2ba17b36ba0efb2bdf5efa0c393 (patch) | |
tree | a93a474f0cb3f5e55b384c147bf4a8a83e23d454 /src/gpu | |
parent | 58822d6994d33a823a29a4c6fa251ad1ce7267d6 (diff) |
Alloc glyph image correctly for SkMask::k3D_Format.
Re-enable the code to test the emboss mask filter, updating it to use
the new emboss mask filter factory.
Add a test to ensure that embossed text is drawn correctly, as before
glyphs did not allocate the proper amount of memory for the k3D_Format
which the emboss mask filter produces.
Fixes SkEmbossMask::Emboss to write the whole of the mul and add planes
to avoid pixel differences and MemorySanitizer errors.
Update the GPU to understand the k3D_Format and use just the alpha
plane, ignoring the mul and add plane which it currently cannot support.
Change-Id: I90edf34a918c06b0c6b24bfc43ce7031419eca41
Reviewed-on: https://skia-review.googlesource.com/70260
Reviewed-on: https://skia-review.googlesource.com/70962
Reviewed-on: https://skia-review.googlesource.com/71282
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Diffstat (limited to 'src/gpu')
-rw-r--r-- | src/gpu/text/GrAtlasGlyphCache.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gpu/text/GrAtlasGlyphCache.cpp b/src/gpu/text/GrAtlasGlyphCache.cpp index 80f4314b91..421160f28f 100644 --- a/src/gpu/text/GrAtlasGlyphCache.cpp +++ b/src/gpu/text/GrAtlasGlyphCache.cpp @@ -213,6 +213,8 @@ static inline GrMaskFormat get_packed_glyph_mask_format(const SkGlyph& glyph) { // fall through to kA8 -- we store BW glyphs in our 8-bit cache case SkMask::kA8_Format: return kA8_GrMaskFormat; + case SkMask::k3D_Format: + return kA8_GrMaskFormat; // ignore the mul and add planes, just use the mask case SkMask::kLCD16_Format: return kA565_GrMaskFormat; case SkMask::kARGB32_Format: |