diff --git a/src/gpu/gl/GrGLAssembleInterface.cpp b/src/gpu/gl/GrGLAssembleInterface.cpp index 3a748b24fe..6b578f34fc 100644 --- a/src/gpu/gl/GrGLAssembleInterface.cpp +++ b/src/gpu/gl/GrGLAssembleInterface.cpp @@ -779,13 +779,18 @@ const GrGLInterface* GrGLAssembleGLESInterface(void* ctx, GrGLGetProc get) { GET_PROC_SUFFIX(CoverageModulation, CHROMIUM); } - if (version >= GR_GL_VER(3,0) || extensions.has("GL_EXT_draw_instanced")) { + if (version >= GR_GL_VER(3,0)) { GET_PROC(DrawArraysInstanced); GET_PROC(DrawElementsInstanced); + } else if (extensions.has("GL_EXT_draw_instanced")) { + GET_PROC_SUFFIX(DrawArraysInstanced, EXT); + GET_PROC_SUFFIX(DrawElementsInstanced, EXT); } - if (version >= GR_GL_VER(3,0) || extensions.has("GL_EXT_instanced_arrays")) { + if (version >= GR_GL_VER(3,0)) { GET_PROC(VertexAttribDivisor); + } else if (extensions.has("GL_EXT_instanced_arrays")) { + GET_PROC_SUFFIX(VertexAttribDivisor, EXT); } if (extensions.has("GL_NV_bindless_texture")) { diff --git a/src/gpu/gl/GrGLCaps.cpp b/src/gpu/gl/GrGLCaps.cpp index a1e2bad469..c7856c9367 100644 --- a/src/gpu/gl/GrGLCaps.cpp +++ b/src/gpu/gl/GrGLCaps.cpp @@ -39,7 +39,6 @@ GrGLCaps::GrGLCaps(const GrContextOptions& contextOptions, fImagingSupport = false; fTwoFormatLimit = false; fVertexArrayObjectSupport = false; - fInstancedDrawingSupport = false; fDirectStateAccessSupport = false; fDebugSupport = false; fES2CompatibilitySupport = false; @@ -210,16 +209,6 @@ void GrGLCaps::init(const GrContextOptions& contextOptions, ctxInfo.hasExtension("GL_OES_vertex_array_object"); } - if ((kGL_GrGLStandard == standard && version >= GR_GL_VER(3,2)) || - (kGLES_GrGLStandard == standard && version >= GR_GL_VER(3,0))) { - fInstancedDrawingSupport = true; - } else { - fInstancedDrawingSupport = (ctxInfo.hasExtension("GL_ARB_draw_instanced") || - ctxInfo.hasExtension("GL_EXT_draw_instanced")) && - (ctxInfo.hasExtension("GL_ARB_instanced_arrays") || - ctxInfo.hasExtension("GL_EXT_instanced_arrays")); - } - if (kGL_GrGLStandard == standard) { fDirectStateAccessSupport = ctxInfo.hasExtension("GL_EXT_direct_state_access"); } else { @@ -1221,7 +1210,6 @@ SkString GrGLCaps::dump() const { r.appendf("GL_ARB_imaging support: %s\n", (fImagingSupport ? "YES": "NO")); r.appendf("Two Format Limit: %s\n", (fTwoFormatLimit ? "YES": "NO")); r.appendf("Vertex array object support: %s\n", (fVertexArrayObjectSupport ? "YES": "NO")); - r.appendf("Instanced drawing support: %s\n", (fInstancedDrawingSupport ? "YES": "NO")); r.appendf("Direct state access support: %s\n", (fDirectStateAccessSupport ? "YES": "NO")); r.appendf("Debug support: %s\n", (fDebugSupport ? "YES": "NO")); r.appendf("Multisample disable support: %s\n", (fMultisampleDisableSupport ? "YES" : "NO")); diff --git a/src/gpu/gl/GrGLCaps.h b/src/gpu/gl/GrGLCaps.h index 026ae23fb7..c8fad0ade6 100644 --- a/src/gpu/gl/GrGLCaps.h +++ b/src/gpu/gl/GrGLCaps.h @@ -209,9 +209,6 @@ public: /// Is there support for Vertex Array Objects? bool vertexArrayObjectSupport() const { return fVertexArrayObjectSupport; } - /// Is there support for glDraw*Instanced and glVertexAttribDivisor? - bool instancedDrawingSupport() const { return fInstancedDrawingSupport; } - /// Is there support for GL_EXT_direct_state_access? bool directStateAccessSupport() const { return fDirectStateAccessSupport; } @@ -363,7 +360,6 @@ private: bool fImagingSupport : 1; bool fTwoFormatLimit : 1; bool fVertexArrayObjectSupport : 1; - bool fInstancedDrawingSupport : 1; bool fDirectStateAccessSupport : 1; bool fDebugSupport : 1; bool fES2CompatibilitySupport : 1;