Index: include/gpu/GrCaps.h |
diff --git a/include/gpu/GrCaps.h b/include/gpu/GrCaps.h |
index 5086d79be9e0893466db96f1ffcbdd6eb3424fcc..0f39a5e485708ea860de5e81ff4e4fb08d1ef555 100644 |
--- a/include/gpu/GrCaps.h |
+++ b/include/gpu/GrCaps.h |
@@ -174,6 +174,21 @@ public: |
bool preferVRAMUseOverFlushes() const { return fPreferVRAMUseOverFlushes; } |
/** |
+ * Indicates the level of support for gr_instanced::* functionality. A higher level includes |
+ * all functionality from the levels below it. |
+ */ |
+ enum class InstancedSupport { |
+ kNone, |
+ kBasic, |
+ kMultisampled, |
+ kMixedSampled |
+ }; |
+ |
+ InstancedSupport instancedSupport() const { return fInstancedSupport; } |
+ |
+ bool avoidInstancedDrawsToFPTargets() const { return fAvoidInstancedDrawsToFPTargets; } |
+ |
+ /** |
* Indicates the capabilities of the fixed function blend unit. |
*/ |
enum BlendEquationSupport { |
@@ -307,12 +322,15 @@ protected: |
bool fUseDrawInsteadOfClear : 1; |
bool fUseDrawInsteadOfPartialRenderTargetWrite : 1; |
bool fUseDrawInsteadOfAllRenderTargetWrites : 1; |
+ bool fAvoidInstancedDrawsToFPTargets : 1; |
// ANGLE workaround |
bool fPreferVRAMUseOverFlushes : 1; |
bool fSampleShadingSupport : 1; |
+ InstancedSupport fInstancedSupport; |
+ |
BlendEquationSupport fBlendEquationSupport; |
uint32_t fAdvBlendEqBlacklist; |
GR_STATIC_ASSERT(kLast_GrBlendEquation < 32); |