| Index: src/gpu/gl/GrGLCaps.cpp
|
| diff --git a/src/gpu/gl/GrGLCaps.cpp b/src/gpu/gl/GrGLCaps.cpp
|
| index 6aa94dee0d13bf71c395aded2ff0399827a7a7af..d2b117d0a00f1462ceca9e5ba5e2f9b99f6f4a9a 100644
|
| --- a/src/gpu/gl/GrGLCaps.cpp
|
| +++ b/src/gpu/gl/GrGLCaps.cpp
|
| @@ -518,10 +518,12 @@ void GrGLCaps::init(const GrContextOptions& contextOptions,
|
| }
|
|
|
| if (kGL_GrGLStandard == standard) {
|
| - // We don't use ARB_draw_indirect because it does not support a base instance.
|
| - // We don't use ARB_multi_draw_indirect because it does not support GL_DRAW_INDIRECT_BUFFER.
|
| - fDrawIndirectSupport =
|
| - fMultiDrawIndirectSupport = fBaseInstanceSupport = version >= GR_GL_VER(4,3);
|
| + fDrawIndirectSupport = version >= GR_GL_VER(4,0) ||
|
| + ctxInfo.hasExtension("GL_ARB_draw_indirect");
|
| + fBaseInstanceSupport = version >= GR_GL_VER(4,2);
|
| + fMultiDrawIndirectSupport = version >= GR_GL_VER(4,3) ||
|
| + (!fBaseInstanceSupport && // The ARB extension has no base inst.
|
| + ctxInfo.hasExtension("GL_ARB_multi_draw_indirect"));
|
| } else {
|
| fDrawIndirectSupport = version >= GR_GL_VER(3,1);
|
| fMultiDrawIndirectSupport = ctxInfo.hasExtension("GL_EXT_multi_draw_indirect");
|
|
|