diff options
author | 2016-09-12 08:50:19 -0700 | |
---|---|---|
committer | 2016-09-12 08:50:19 -0700 | |
commit | 5192475bd8cb98e8e0c1192ab5ece7b8595701d6 (patch) | |
tree | 29461e55053726c93c8c612e6fe65dc89fc1a431 /src/gpu/SkGpuDevice.cpp | |
parent | 9b0fe3d125f237d9884732a48414fa85fc71b4e3 (diff) |
Two changes:
1. Remove special premul handling from gamut xform code
Alpha is a constant, so the gamut transformation results remain unchanged
(it distributes across the linear matrix multiply).
2. Use SkMatrix44 rather than array of floats
Preserves semantic intention, and makes upcoming code (where we transform
colors on the CPU by that matrix) simpler.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2329553002
Review-Url: https://codereview.chromium.org/2329553002
Diffstat (limited to 'src/gpu/SkGpuDevice.cpp')
-rw-r--r-- | src/gpu/SkGpuDevice.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp index 4b77431239..1970711ac4 100644 --- a/src/gpu/SkGpuDevice.cpp +++ b/src/gpu/SkGpuDevice.cpp @@ -1009,8 +1009,7 @@ void SkGpuDevice::drawBitmapTile(const SkBitmap& bitmap, return; } sk_sp<GrColorSpaceXform> colorSpaceXform = - GrColorSpaceXform::Make(bitmap.colorSpace(), fDrawContext->getColorSpace(), - bitmap.alphaType()); + GrColorSpaceXform::Make(bitmap.colorSpace(), fDrawContext->getColorSpace()); SkScalar iw = 1.f / texture->width(); SkScalar ih = 1.f / texture->height(); @@ -1135,8 +1134,7 @@ void SkGpuDevice::drawSpecial(const SkDraw& draw, tmpUnfiltered.setImageFilter(nullptr); sk_sp<GrColorSpaceXform> colorSpaceXform = - GrColorSpaceXform::Make(result->getColorSpace(), fDrawContext->getColorSpace(), - result->alphaType()); + GrColorSpaceXform::Make(result->getColorSpace(), fDrawContext->getColorSpace()); GrPaint grPaint; sk_sp<GrFragmentProcessor> fp(GrSimpleTextureEffect::Make(texture.get(), std::move(colorSpaceXform), |