only report hasspan16 if we're opaque, otherwise we get a different blend
via 565 than the 8888 case
git-svn-id: http://skia.googlecode.com/svn/trunk@527 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/core/SkShader.cpp b/src/core/SkShader.cpp
index f33036d..34dc32e 100644
--- a/src/core/SkShader.cpp
+++ b/src/core/SkShader.cpp
@@ -263,11 +263,11 @@
fPMColor = SkPackARGB32(a, r, g, b);
fFlags = kConstInY32_Flag;
- if (paint.isDither() == false) {
- fFlags |= kHasSpan16_Flag;
- }
- if (SkGetPackedA32(fPMColor) == 255) {
+ if (255 == a) {
fFlags |= kOpaqueAlpha_Flag;
+ if (paint.isDither() == false) {
+ fFlags |= kHasSpan16_Flag;
+ }
}
return true;