Loading core/jni/android/graphics/BitmapRegionDecoder.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -218,6 +218,7 @@ static jobject nativeDecodeRegion(JNIEnv* env, jobject, jlong brdHandle, jint in // If we may have reused a bitmap, we need to indicate that the pixels have changed. if (javaBitmap) { recycleAlloc.copyIfNecessary(); bitmap::reinitBitmap(env, javaBitmap, recycledBitmap->info(), !requireUnpremul); return javaBitmap; } Loading core/jni/android/graphics/Graphics.cpp +5 −1 Original line number Diff line number Diff line Loading @@ -658,7 +658,11 @@ bool RecyclingClippingPixelAllocator::allocPixelRef(SkBitmap* bitmap, SkColorTab // mRecycledBitmap->info() for the SkImageInfo. According to the // specification for BitmapRegionDecoder, we are not allowed to change // the SkImageInfo. mRecycledBitmap->reconfigure(mRecycledBitmap->info(), rowBytes, ctable); // We can (must) preserve the color space since it doesn't affect the // storage needs mRecycledBitmap->reconfigure( mRecycledBitmap->info().makeColorSpace(bitmap->refColorSpace()), rowBytes, ctable); // Give the bitmap the same pixelRef as mRecycledBitmap. // skbug.com/4538: We also need to make sure that the rowBytes on the pixel ref Loading graphics/java/android/graphics/ColorSpace.java +1 −1 Original line number Diff line number Diff line Loading @@ -1592,7 +1592,7 @@ public abstract class ColorSpace { Math.abs(a.a - b.a) < 1e-3 && Math.abs(a.b - b.b) < 1e-3 && Math.abs(a.c - b.c) < 1e-3 && Math.abs(a.d - b.d) < 1e-3 && Math.abs(a.d - b.d) < 2e-3 && // Special case for variations in sRGB OETF/EOTF Math.abs(a.e - b.e) < 1e-3 && Math.abs(a.f - b.f) < 1e-3 && Math.abs(a.g - b.g) < 1e-3; Loading libs/hwui/GlopBuilder.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -600,12 +600,12 @@ void verify(const ProgramDescription& description, const Glop& glop) { void GlopBuilder::build() { REQUIRE_STAGES(kAllStages); if (mOutGlop->mesh.vertices.attribFlags & VertexAttribFlags::TextureCoord) { if (mOutGlop->fill.texture.texture->target() == GL_TEXTURE_2D) { Texture* texture = mOutGlop->fill.texture.texture; if (texture->target() == GL_TEXTURE_2D) { mDescription.hasTexture = true; } else { mDescription.hasExternalTexture = true; } Texture* texture = mOutGlop->fill.texture.texture; mDescription.hasLinearTexture = texture->isLinear(); mDescription.hasColorSpaceConversion = texture->hasColorSpaceConversion(); mDescription.transferFunction = texture->getTransferFunctionType(); Loading Loading
core/jni/android/graphics/BitmapRegionDecoder.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -218,6 +218,7 @@ static jobject nativeDecodeRegion(JNIEnv* env, jobject, jlong brdHandle, jint in // If we may have reused a bitmap, we need to indicate that the pixels have changed. if (javaBitmap) { recycleAlloc.copyIfNecessary(); bitmap::reinitBitmap(env, javaBitmap, recycledBitmap->info(), !requireUnpremul); return javaBitmap; } Loading
core/jni/android/graphics/Graphics.cpp +5 −1 Original line number Diff line number Diff line Loading @@ -658,7 +658,11 @@ bool RecyclingClippingPixelAllocator::allocPixelRef(SkBitmap* bitmap, SkColorTab // mRecycledBitmap->info() for the SkImageInfo. According to the // specification for BitmapRegionDecoder, we are not allowed to change // the SkImageInfo. mRecycledBitmap->reconfigure(mRecycledBitmap->info(), rowBytes, ctable); // We can (must) preserve the color space since it doesn't affect the // storage needs mRecycledBitmap->reconfigure( mRecycledBitmap->info().makeColorSpace(bitmap->refColorSpace()), rowBytes, ctable); // Give the bitmap the same pixelRef as mRecycledBitmap. // skbug.com/4538: We also need to make sure that the rowBytes on the pixel ref Loading
graphics/java/android/graphics/ColorSpace.java +1 −1 Original line number Diff line number Diff line Loading @@ -1592,7 +1592,7 @@ public abstract class ColorSpace { Math.abs(a.a - b.a) < 1e-3 && Math.abs(a.b - b.b) < 1e-3 && Math.abs(a.c - b.c) < 1e-3 && Math.abs(a.d - b.d) < 1e-3 && Math.abs(a.d - b.d) < 2e-3 && // Special case for variations in sRGB OETF/EOTF Math.abs(a.e - b.e) < 1e-3 && Math.abs(a.f - b.f) < 1e-3 && Math.abs(a.g - b.g) < 1e-3; Loading
libs/hwui/GlopBuilder.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -600,12 +600,12 @@ void verify(const ProgramDescription& description, const Glop& glop) { void GlopBuilder::build() { REQUIRE_STAGES(kAllStages); if (mOutGlop->mesh.vertices.attribFlags & VertexAttribFlags::TextureCoord) { if (mOutGlop->fill.texture.texture->target() == GL_TEXTURE_2D) { Texture* texture = mOutGlop->fill.texture.texture; if (texture->target() == GL_TEXTURE_2D) { mDescription.hasTexture = true; } else { mDescription.hasExternalTexture = true; } Texture* texture = mOutGlop->fill.texture.texture; mDescription.hasLinearTexture = texture->isLinear(); mDescription.hasColorSpaceConversion = texture->hasColorSpaceConversion(); mDescription.transferFunction = texture->getTransferFunctionType(); Loading