Add GL indirect drawing APIs
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1666803002
Review URL: https://codereview.chromium.org/1666803002
diff --git a/include/gpu/gl/GrGLInterface.h b/include/gpu/gl/GrGLInterface.h
index 5fa31ed..dd9a9fb 100644
--- a/include/gpu/gl/GrGLInterface.h
+++ b/include/gpu/gl/GrGLInterface.h
@@ -196,9 +196,13 @@
GLPtr<GrGLDisableProc> fDisable;
GLPtr<GrGLDisableVertexAttribArrayProc> fDisableVertexAttribArray;
GLPtr<GrGLDrawArraysProc> fDrawArrays;
+ GLPtr<GrGLDrawArraysIndirectProc> fDrawArraysIndirect;
+ GLPtr<GrGLDrawArraysInstancedProc> fDrawArraysInstanced;
GLPtr<GrGLDrawBufferProc> fDrawBuffer;
GLPtr<GrGLDrawBuffersProc> fDrawBuffers;
GLPtr<GrGLDrawElementsProc> fDrawElements;
+ GLPtr<GrGLDrawElementsIndirectProc> fDrawElementsIndirect;
+ GLPtr<GrGLDrawElementsInstancedProc> fDrawElementsInstanced;
GLPtr<GrGLEnableProc> fEnable;
GLPtr<GrGLEnableVertexAttribArrayProc> fEnableVertexAttribArray;
GLPtr<GrGLEndQueryProc> fEndQuery;
@@ -327,6 +331,7 @@
GLPtr<GrGLVertexAttrib2fvProc> fVertexAttrib2fv;
GLPtr<GrGLVertexAttrib3fvProc> fVertexAttrib3fv;
GLPtr<GrGLVertexAttrib4fvProc> fVertexAttrib4fv;
+ GLPtr<GrGLVertexAttribDivisorProc> fVertexAttribDivisor;
GLPtr<GrGLVertexAttribPointerProc> fVertexAttribPointer;
GLPtr<GrGLViewportProc> fViewport;
@@ -362,12 +367,9 @@
/* NV_framebuffer_mixed_samples */
GLPtr<GrGLCoverageModulationProc> fCoverageModulation;
- /* ARB_draw_instanced */
- GLPtr<GrGLDrawArraysInstancedProc> fDrawArraysInstanced;
- GLPtr<GrGLDrawElementsInstancedProc> fDrawElementsInstanced;
-
- /* ARB_instanced_arrays */
- GLPtr<GrGLVertexAttribDivisorProc> fVertexAttribDivisor;
+ /* EXT_multi_draw_indirect */
+ GLPtr<GrGLMultiDrawArraysIndirectProc> fMultiDrawArraysIndirect;
+ GLPtr<GrGLMultiDrawElementsIndirectProc> fMultiDrawElementsIndirect;
/* NV_bindless_texture */
// We use the NVIDIA verson for now because it does not require dynamically uniform handles.