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 <herb@google.com>
Reviewed-on: https://skia-review.googlesource.com/70962
Commit-Queue: Ben Wagner <bungeman@google.com>
diff --git a/samplecode/SampleAll.cpp b/samplecode/SampleAll.cpp
index e1b8593..ea7d508 100644
--- a/samplecode/SampleAll.cpp
+++ b/samplecode/SampleAll.cpp
@@ -208,13 +208,10 @@
paint->setRasterizer(rastBuilder.detach());
}
-#ifdef SK_SUPPORT_LEGACY_EMBOSSMASKFILTER
- SkScalar dir[] = { SK_Scalar1, SK_Scalar1, SK_Scalar1 };
- paint->setMaskFilter(SkBlurMaskFilter::MakeEmboss(
- SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(3)), dir,
- SK_Scalar1/4, SkIntToScalar(4)));
+ paint->setMaskFilter(SkEmbossMaskFilter::Make(
+ SkBlurMask::ConvertRadiusToSigma(SkIntToScalar(3)),
+ { { SK_Scalar1, SK_Scalar1, SK_Scalar1 }, 0, 128, 16*2 }));
paint->setColor(SK_ColorBLUE);
-#endif
}
class DemoView : public SampleView {