aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Joe Gregorio <jcgregorio@google.com>2017-01-20 14:21:27 +0000
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-01-20 14:21:42 +0000
commitc485907f0420e5f9cf8223e9ba53812cd8dd5368 (patch)
treeccb8bf27442eabffd30127e5f0ae635e6fc63f73 /src
parent1e18aecd0b5bdb6dea0b0bcebf985a8bb221e6a6 (diff)
Revert "explictly fail to draw unpremul, as this is buggy, incomplete, tricky, and unused"
This reverts commit 1baaacac74d24604e3dfca9857fbd647df375997. Reason for revert: Failing the roll: https://storage.googleapis.com/chromium-layout-test-archives/linux_trusty_blink_rel/3868/layout-test-results/results.html Original change's description: > explictly fail to draw unpremul, as this is buggy, incomplete, tricky, and unused > > BUG=skia: > > Change-Id: Ie9da6015cc4955c0f27f6db53fc6ae532e0132f4 > Reviewed-on: https://skia-review.googlesource.com/7304 > Commit-Queue: Mike Reed <reed@google.com> > Reviewed-by: Matt Sarett <msarett@google.com> > TBR=bsalomon@google.com,msarett@google.com,brianosman@google.com,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Change-Id: Ifc808a430b8afe4fef6df3775c2bfdcede1a2dd7 Reviewed-on: https://skia-review.googlesource.com/7329 Commit-Queue: Joe Gregorio <jcgregorio@google.com> Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Diffstat (limited to 'src')
-rw-r--r--src/core/SkCanvas.cpp18
-rw-r--r--src/image/SkImageShader.cpp4
2 files changed, 1 insertions, 21 deletions
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
index 367a348f51..0375ab738d 100644
--- a/src/core/SkCanvas.cpp
+++ b/src/core/SkCanvas.cpp
@@ -53,12 +53,6 @@
#define RETURN_ON_NULL(ptr) do { if (nullptr == (ptr)) return; } while (0)
-#define RETURN_ON_UNPREMUL_IMAGE(image) \
- do { if (as_IB(image)->onAlphaType() == kUnpremul_SkAlphaType) return; } while (0)
-
-#define RETURN_ON_UNPREMUL_BITMAP(bitmap) \
- do { if (bitmap.alphaType() == kUnpremul_SkAlphaType) return; } while (0)
-
/*
* Return true if the drawing this rect would hit every pixels in the canvas.
*
@@ -1915,14 +1909,12 @@ void SkCanvas::drawPath(const SkPath& path, const SkPaint& paint) {
void SkCanvas::drawImage(const SkImage* image, SkScalar x, SkScalar y, const SkPaint* paint) {
RETURN_ON_NULL(image);
- RETURN_ON_UNPREMUL_IMAGE(image);
this->onDrawImage(image, x, y, paint);
}
void SkCanvas::drawImageRect(const SkImage* image, const SkRect& src, const SkRect& dst,
const SkPaint* paint, SrcRectConstraint constraint) {
RETURN_ON_NULL(image);
- RETURN_ON_UNPREMUL_IMAGE(image);
if (dst.isEmpty() || src.isEmpty()) {
return;
}
@@ -1932,14 +1924,12 @@ void SkCanvas::drawImageRect(const SkImage* image, const SkRect& src, const SkRe
void SkCanvas::drawImageRect(const SkImage* image, const SkIRect& isrc, const SkRect& dst,
const SkPaint* paint, SrcRectConstraint constraint) {
RETURN_ON_NULL(image);
- RETURN_ON_UNPREMUL_IMAGE(image);
this->drawImageRect(image, SkRect::Make(isrc), dst, paint, constraint);
}
void SkCanvas::drawImageRect(const SkImage* image, const SkRect& dst, const SkPaint* paint,
SrcRectConstraint constraint) {
RETURN_ON_NULL(image);
- RETURN_ON_UNPREMUL_IMAGE(image);
this->drawImageRect(image, SkRect::MakeIWH(image->width(), image->height()), dst, paint,
constraint);
}
@@ -1947,7 +1937,6 @@ void SkCanvas::drawImageRect(const SkImage* image, const SkRect& dst, const SkPa
void SkCanvas::drawImageNine(const SkImage* image, const SkIRect& center, const SkRect& dst,
const SkPaint* paint) {
RETURN_ON_NULL(image);
- RETURN_ON_UNPREMUL_IMAGE(image);
if (dst.isEmpty()) {
return;
}
@@ -1961,7 +1950,6 @@ void SkCanvas::drawImageNine(const SkImage* image, const SkIRect& center, const
void SkCanvas::drawImageLattice(const SkImage* image, const Lattice& lattice, const SkRect& dst,
const SkPaint* paint) {
RETURN_ON_NULL(image);
- RETURN_ON_UNPREMUL_IMAGE(image);
if (dst.isEmpty()) {
return;
}
@@ -1984,7 +1972,6 @@ void SkCanvas::drawBitmap(const SkBitmap& bitmap, SkScalar dx, SkScalar dy, cons
if (bitmap.drawsNothing()) {
return;
}
- RETURN_ON_UNPREMUL_BITMAP(bitmap);
this->onDrawBitmap(bitmap, dx, dy, paint);
}
@@ -1993,7 +1980,6 @@ void SkCanvas::drawBitmapRect(const SkBitmap& bitmap, const SkRect& src, const S
if (bitmap.drawsNothing() || dst.isEmpty() || src.isEmpty()) {
return;
}
- RETURN_ON_UNPREMUL_BITMAP(bitmap);
this->onDrawBitmapRect(bitmap, &src, dst, paint, constraint);
}
@@ -2013,7 +1999,6 @@ void SkCanvas::drawBitmapNine(const SkBitmap& bitmap, const SkIRect& center, con
if (bitmap.drawsNothing() || dst.isEmpty()) {
return;
}
- RETURN_ON_UNPREMUL_BITMAP(bitmap);
if (SkLatticeIter::Valid(bitmap.width(), bitmap.height(), center)) {
this->onDrawBitmapNine(bitmap, center, dst, paint);
} else {
@@ -2026,7 +2011,6 @@ void SkCanvas::drawBitmapLattice(const SkBitmap& bitmap, const Lattice& lattice,
if (bitmap.drawsNothing() || dst.isEmpty()) {
return;
}
- RETURN_ON_UNPREMUL_BITMAP(bitmap);
SkIRect bounds;
Lattice latticePlusBounds = lattice;
@@ -2046,10 +2030,10 @@ void SkCanvas::drawAtlas(const SkImage* atlas, const SkRSXform xform[], const Sk
const SkColor colors[], int count, SkBlendMode mode,
const SkRect* cull, const SkPaint* paint) {
RETURN_ON_NULL(atlas);
- RETURN_ON_UNPREMUL_IMAGE(atlas);
if (count <= 0) {
return;
}
+ SkASSERT(atlas);
SkASSERT(tex);
this->onDrawAtlas(atlas, xform, tex, colors, count, mode, cull, paint);
}
diff --git a/src/image/SkImageShader.cpp b/src/image/SkImageShader.cpp
index 5cb1c24c5a..5b79fb1d9e 100644
--- a/src/image/SkImageShader.cpp
+++ b/src/image/SkImageShader.cpp
@@ -103,10 +103,6 @@ static bool bitmap_is_too_big(int w, int h) {
sk_sp<SkShader> SkImageShader::Make(sk_sp<SkImage> image, TileMode tx, TileMode ty,
const SkMatrix* localMatrix,
SkTBlitterAllocator* allocator) {
- if (image && as_IB(image)->onAlphaType() == kUnpremul_SkAlphaType) {
- return nullptr;
- }
-
SkShader* shader;
if (!image || bitmap_is_too_big(image->width(), image->height())) {
if (nullptr == allocator) {