Index: src/gpu/GrDrawTargetCaps.h |
diff --git a/src/gpu/GrDrawTargetCaps.h b/src/gpu/GrDrawTargetCaps.h |
index e1fd1cf40340aa40904d6188f0c39d3d9de1e59f..1854dbf4fb9c1bff1a7da94574fbc16fbf0500f4 100644 |
--- a/src/gpu/GrDrawTargetCaps.h |
+++ b/src/gpu/GrDrawTargetCaps.h |
@@ -91,6 +91,26 @@ public: |
bool useDrawInsteadOfClear() const { return fUseDrawInsteadOfClear; } |
/** |
+ * Indicates the capabilities of the fixed function blend unit. |
+ */ |
+ enum BlendEquationSupport { |
+ 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. |
*/ |
@@ -162,6 +182,7 @@ protected: |
// Driver workaround |
bool fUseDrawInsteadOfClear : 1; |
+ BlendEquationSupport fBlendEquationSupport; |
uint32_t fMapBufferFlags; |
int fMaxRenderTargetSize; |