Index: src/gpu/gl/GrGLCaps.h |
diff --git a/src/gpu/gl/GrGLCaps.h b/src/gpu/gl/GrGLCaps.h |
index 044ecce81438c5f67494b008abd16e890baeb8a4..abfcc285b77b083dd33bc4732b320a14566b8f9f 100644 |
--- a/src/gpu/gl/GrGLCaps.h |
+++ b/src/gpu/gl/GrGLCaps.h |
@@ -283,6 +283,17 @@ public: |
/// Can we call glDisable(GL_MULTISAMPLE)? |
bool multisampleDisableSupport() const { return fMultisampleDisableSupport; } |
+ /// Is there support for glDraw*Indirect? Note that the baseInstance fields of indirect draw |
+ /// commands cannot be used unless we have base instance support. |
+ bool drawIndirectSupport() const { return fDrawIndirectSupport; } |
+ |
+ /// Is there support for glMultiDraw*Indirect? Note that the baseInstance fields of indirect |
+ /// draw commands cannot be used unless we have base instance support. |
+ bool multiDrawIndirectSupport() const { return fMultiDrawIndirectSupport; } |
+ |
+ /// Are the baseInstance fields supported in indirect draw commands? |
+ bool baseInstanceSupport() const { return fBaseInstanceSupport; } |
+ |
/// Use indices or vertices in CPU arrays rather than VBOs for dynamic content. |
bool useNonVBOVertexAndIndexDynamicData() const { return fUseNonVBOVertexAndIndexDynamicData; } |
@@ -378,6 +389,9 @@ private: |
bool fDebugSupport : 1; |
bool fES2CompatibilitySupport : 1; |
bool fMultisampleDisableSupport : 1; |
+ bool fDrawIndirectSupport : 1; |
+ bool fMultiDrawIndirectSupport : 1; |
+ bool fBaseInstanceSupport : 1; |
bool fUseNonVBOVertexAndIndexDynamicData : 1; |
bool fIsCoreProfile : 1; |
bool fBindFragDataLocationSupport : 1; |