| Index: src/gpu/GrDrawTargetCaps.h
|
| diff --git a/src/gpu/GrDrawTargetCaps.h b/src/gpu/GrDrawTargetCaps.h
|
| index 310703cacad1d4a23e1fc8b73977e8739f992811..0f7a712dc65ee7b06963f4cb76d74898cb1b6afc 100644
|
| --- a/src/gpu/GrDrawTargetCaps.h
|
| +++ b/src/gpu/GrDrawTargetCaps.h
|
| @@ -142,6 +142,30 @@ 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 fBlendEquationSupport >= kAdvanced_BlendEquationSupport;
|
| + }
|
| +
|
| + bool advancedCoherentBlendEquationSupport() const {
|
| + return kAdvancedCoherent_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 +216,7 @@ protected:
|
| // Driver workaround
|
| bool fUseDrawInsteadOfClear : 1;
|
|
|
| + BlendEquationSupport fBlendEquationSupport;
|
| uint32_t fMapBufferFlags;
|
|
|
| int fMaxRenderTargetSize;
|
|
|