Index: src/gpu/GrDrawTargetCaps.h |
diff --git a/src/gpu/GrDrawTargetCaps.h b/src/gpu/GrDrawTargetCaps.h |
index 310703cacad1d4a23e1fc8b73977e8739f992811..efc3512bd0c6a4832870b21e8d598c548ecbdf8a 100644 |
--- a/src/gpu/GrDrawTargetCaps.h |
+++ b/src/gpu/GrDrawTargetCaps.h |
@@ -142,6 +142,26 @@ public: |
bool useDrawInsteadOfClear() const { return fUseDrawInsteadOfClear; } |
/** |
+ * Indicates the capabilities of the fixed function blend unit. |
+ */ |
+ enum BlendEquationSupport { |
egdaniel
2015/05/05 21:20:01
Can BlendEquationSupport and related functions be
Chris Dalton
2015/05/06 16:06:27
Not easily, most the places where we add support f
egdaniel
2015/05/06 17:57:46
sgtm
|
+ kBasic_BlendEquationSupport, //<! Support to select the operator that |
+ // combines src and dst terms. |
+ kAdvanced_BlendEquationSupport, //<! Additional fixed function support for specific |
+ // SVG/PDF blend modes. Requires blend barriers. |
+ kAdvancedCoherent_BlendEquationSupport, //<! Advanced blend equation support that does not |
+ // require blend barriers, and permits overlap. |
+ |
+ kLast_BlendEquationSupport = kAdvancedCoherent_BlendEquationSupport |
+ }; |
+ |
+ BlendEquationSupport blendEquationSupport() const { return fBlendEquationSupport; } |
+ |
+ bool advancedBlendEquationSupport() const { |
+ return kBasic_BlendEquationSupport != fBlendEquationSupport; |
+ } |
+ |
+ /** |
* Indicates whether GPU->CPU memory mapping for GPU resources such as vertex buffers and |
* textures allows partial mappings or full mappings. |
*/ |
@@ -192,6 +212,7 @@ protected: |
// Driver workaround |
bool fUseDrawInsteadOfClear : 1; |
+ BlendEquationSupport fBlendEquationSupport; |
uint32_t fMapBufferFlags; |
int fMaxRenderTargetSize; |