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;