Review URL: https://codereview.chromium.org/1166513002
diff --git a/include/gpu/GrCaps.h b/include/gpu/GrCaps.h
index 727e9fc..54969c5 100644
--- a/include/gpu/GrCaps.h
+++ b/include/gpu/GrCaps.h
@@ -10,6 +10,7 @@
 
 #include "GrTypes.h"
 #include "GrTypesPriv.h"
+#include "GrBlend.h"
 #include "GrShaderVar.h"
 #include "SkRefCnt.h"
 #include "SkString.h"
@@ -157,6 +158,11 @@
         return kAdvancedCoherent_BlendEquationSupport == fBlendEquationSupport;
     }
 
+    bool canUseAdvancedBlendEquation(GrBlendEquation equation) const {
+        SkASSERT(GrBlendEquationIsAdvanced(equation));
+        return SkToBool(fAdvBlendEqBlacklist & (1 << equation));
+    }
+
     /**
      * Indicates whether GPU->CPU memory mapping for GPU resources such as vertex buffers and
      * textures allows partial mappings or full mappings.
@@ -228,6 +234,9 @@
     bool fUseDrawInsteadOfClear         : 1;
 
     BlendEquationSupport fBlendEquationSupport;
+    uint32_t fAdvBlendEqBlacklist;
+    GR_STATIC_ASSERT(kLast_GrBlendEquation < 32);
+
     uint32_t fMapBufferFlags;
     int fGeometryBufferMapThreshold;