From d01b5916d8b512ee4df8d749022c10419b58b4b2 Mon Sep 17 00:00:00 2001 From: Derek Sollenberger Date: Fri, 19 Oct 2018 15:55:33 -0400 Subject: Set the color space to sRGB on the Surface and remove colorFilter. Also for a canvas wrapping a bitmap the colorspace of the bitmap will be used to correctly blend content. Test: CtsUiRenderingTestCases Bug: 111436479 Change-Id: I63ad7a30605a7f725cc0ef4716d42ea978fb03e3 --- libs/hwui/Layer.cpp | 31 ------------------------------- 1 file changed, 31 deletions(-) (limited to 'libs/hwui/Layer.cpp') diff --git a/libs/hwui/Layer.cpp b/libs/hwui/Layer.cpp index 32aaa54e696c..d0df200d2fa6 100644 --- a/libs/hwui/Layer.cpp +++ b/libs/hwui/Layer.cpp @@ -33,7 +33,6 @@ Layer::Layer(RenderState& renderState, sk_sp colorFilter, int alp // TODO: This is a violation of Android's typical ref counting, but it // preserves the old inc/dec ref locations. This should be changed... incStrong(nullptr); - buildColorSpaceWithFilter(); renderState.registerLayer(this); texTransform.setIdentity(); transform.setIdentity(); @@ -43,36 +42,6 @@ Layer::~Layer() { mRenderState.unregisterLayer(this); } -void Layer::setColorFilter(sk_sp filter) { - if (filter != mColorFilter) { - mColorFilter = filter; - buildColorSpaceWithFilter(); - } -} - -void Layer::setDataSpace(android_dataspace dataspace) { - if (dataspace != mCurrentDataspace) { - mCurrentDataspace = dataspace; - buildColorSpaceWithFilter(); - } -} - -void Layer::buildColorSpaceWithFilter() { - sk_sp colorSpaceFilter; - sk_sp colorSpace = DataSpaceToColorSpace(mCurrentDataspace); - if (colorSpace && !colorSpace->isSRGB()) { - colorSpaceFilter = SkToSRGBColorFilter::Make(colorSpace); - } - - if (mColorFilter && colorSpaceFilter) { - mColorSpaceWithFilter = mColorFilter->makeComposed(colorSpaceFilter); - } else if (colorSpaceFilter) { - mColorSpaceWithFilter = colorSpaceFilter; - } else { - mColorSpaceWithFilter = mColorFilter; - } -} - void Layer::postDecStrong() { mRenderState.postDecStrong(this); } -- cgit v1.2.3-59-g8ed1b