Gpu blend optimizations, handle more xfer modes with fractional pixel coverage

Review URL: http://codereview.appspot.com/5237062/



git-svn-id: http://skia.googlecode.com/svn/trunk@2464 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gpu/src/GrGpuGLFixed.cpp b/gpu/src/GrGpuGLFixed.cpp
index c9d5844..336b687 100644
--- a/gpu/src/GrGpuGLFixed.cpp
+++ b/gpu/src/GrGpuGLFixed.cpp
@@ -172,7 +172,13 @@
         return false;
     }
 
-    this->flushBlend(type, fCurrDrawState.fSrcBlend, fCurrDrawState.fDstBlend);
+    GrBlendCoeff srcCoeff, dstCoeff;
+    if (kSkipDraw_BlendOptFlag & 
+        this->getBlendOpts(false, &srcCoeff, &dstCoeff)) {
+        return false;
+    }
+
+    this->flushBlend(type, srcCoeff, dstCoeff);
 
     if (fDirtyFlags.fRenderTargetChanged) {
         flushProjectionMatrix();