aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkPaint.cpp
diff options
context:
space:
mode:
authorGravatar Ben Wagner <bungeman@google.com>2018-05-11 20:37:12 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-05-14 15:14:29 +0000
commitd81097e45deea17161b6bfccbdeda8755d1bbe23 (patch)
tree2ba54531e547bed30557718195a4c0ace4e2d5c7 /src/core/SkPaint.cpp
parent4c3cb3767f5af3860998b932702dc18619ab3e1e (diff)
Don't set luminance color if not used in MakeRecAndEffects.
Luminanace values should only be set if the luminance value will be used. This also moves the rest of SkScalerContext into SkScalerContext.cpp. Change-Id: I339ac5e6437cc7ee0d3aba81a1c1a77f5cb0b20b Reviewed-on: https://skia-review.googlesource.com/127742 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
Diffstat (limited to 'src/core/SkPaint.cpp')
-rw-r--r--src/core/SkPaint.cpp78
1 files changed, 0 insertions, 78 deletions
diff --git a/src/core/SkPaint.cpp b/src/core/SkPaint.cpp
index 3ace475714..82dec0ea8c 100644
--- a/src/core/SkPaint.cpp
+++ b/src/core/SkPaint.cpp
@@ -1142,84 +1142,6 @@ SkColor SkPaint::computeLuminanceColor() const {
return c;
}
-/**
- * In order to call cachedDeviceLuminance, cachedPaintLuminance, or
- * cachedMaskGamma the caller must hold the gMaskGammaCacheMutex and continue
- * to hold it until the returned pointer is refed or forgotten.
- */
-SK_DECLARE_STATIC_MUTEX(gMaskGammaCacheMutex);
-
-static SkMaskGamma* gLinearMaskGamma = nullptr;
-static SkMaskGamma* gMaskGamma = nullptr;
-static SkScalar gContrast = SK_ScalarMin;
-static SkScalar gPaintGamma = SK_ScalarMin;
-static SkScalar gDeviceGamma = SK_ScalarMin;
-
-/**
- * The caller must hold the gMaskGammaCacheMutex and continue to hold it until
- * the returned SkMaskGamma pointer is refed or forgotten.
- */
-static const SkMaskGamma& cached_mask_gamma(SkScalar contrast, SkScalar paintGamma,
- SkScalar deviceGamma) {
- gMaskGammaCacheMutex.assertHeld();
- if (0 == contrast && SK_Scalar1 == paintGamma && SK_Scalar1 == deviceGamma) {
- if (nullptr == gLinearMaskGamma) {
- gLinearMaskGamma = new SkMaskGamma;
- }
- return *gLinearMaskGamma;
- }
- if (gContrast != contrast || gPaintGamma != paintGamma || gDeviceGamma != deviceGamma) {
- SkSafeUnref(gMaskGamma);
- gMaskGamma = new SkMaskGamma(contrast, paintGamma, deviceGamma);
- gContrast = contrast;
- gPaintGamma = paintGamma;
- gDeviceGamma = deviceGamma;
- }
- return *gMaskGamma;
-}
-
-/**
- * Expands fDeviceGamma, fPaintGamma, fContrast, and fLumBits into a mask pre-blend.
- */
-SkMaskGamma::PreBlend SkScalerContext::GetMaskPreBlend(const SkScalerContextRec& rec) {
- SkAutoMutexAcquire ama(gMaskGammaCacheMutex);
- const SkMaskGamma& maskGamma = cached_mask_gamma(rec.getContrast(),
- rec.getPaintGamma(),
- rec.getDeviceGamma());
- return maskGamma.preBlend(rec.getLuminanceColor());
-}
-
-size_t SkScalerContext::GetGammaLUTSize(SkScalar contrast, SkScalar paintGamma,
- SkScalar deviceGamma, int* width, int* height) {
- SkAutoMutexAcquire ama(gMaskGammaCacheMutex);
- const SkMaskGamma& maskGamma = cached_mask_gamma(contrast,
- paintGamma,
- deviceGamma);
-
- maskGamma.getGammaTableDimensions(width, height);
- size_t size = (*width)*(*height)*sizeof(uint8_t);
-
- return size;
-}
-
-bool SkScalerContext::GetGammaLUTData(SkScalar contrast, SkScalar paintGamma, SkScalar deviceGamma,
- uint8_t* data) {
- SkAutoMutexAcquire ama(gMaskGammaCacheMutex);
- const SkMaskGamma& maskGamma = cached_mask_gamma(contrast,
- paintGamma,
- deviceGamma);
- const uint8_t* gammaTables = maskGamma.getGammaTables();
- if (!gammaTables) {
- return false;
- }
-
- int width, height;
- maskGamma.getGammaTableDimensions(&width, &height);
- size_t size = width*height * sizeof(uint8_t);
- memcpy(data, gammaTables, size);
- return true;
-}
-
///////////////////////////////////////////////////////////////////////////////
#include "SkStream.h"