From 1662257bdaaaf26b016bf2a3e329c34f7f5ed581 Mon Sep 17 00:00:00 2001 From: Ben Wagner Date: Fri, 10 Nov 2017 16:24:50 -0500 Subject: Alloc glyph image correctly for SkMask::k3D_Format. Remove the no longer used outside Skia SK_SUPPORT_LEGACY_EMBOSSMASKFILTER define, and either delete the code it guards or update it to use the new emboss mask filter factory. Re-enable the code to test the emboss mask filter. 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: Icac1a3f37d6e8c6be3151df570f5e14111e18585 Reviewed-on: https://skia-review.googlesource.com/70260 Reviewed-by: Herb Derby Reviewed-on: https://skia-review.googlesource.com/70962 Commit-Queue: Ben Wagner --- src/gpu/text/GrAtlasGlyphCache.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/gpu') 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: -- cgit v1.2.3