chromium/third_party/blink/renderer/modules/webgl/webgl_multi_draw.idl

// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// https://www.khronos.org/registry/webgl/extensions/WEBGL_multi_draw/

[LegacyNoInterfaceObject]
interface WebGLMultiDraw {
  void multiDrawArraysWEBGL(GLenum mode,
                            ([AllowShared] Int32Array or sequence<long>) firstsList,
                            GLuint firstsOffset,
                            ([AllowShared] Int32Array or sequence<long>) countsList,
                            GLuint countsOffset,
                            GLsizei drawcount);

  void multiDrawElementsWEBGL(GLenum mode,
                              ([AllowShared] Int32Array or sequence<long>) countsList,
                              GLuint countsOffset,
                              GLenum type,
                              ([AllowShared] Int32Array or sequence<long>) offsetsList,
                              GLuint offsetsOffset,
                              GLsizei drawcount);

  void multiDrawArraysInstancedWEBGL(GLenum mode,
                                     ([AllowShared] Int32Array or sequence<long>) firstsList,
                                     GLuint firstsOffset,
                                     ([AllowShared] Int32Array or sequence<long>) countsList,
                                     GLuint countsOffset,
                                     ([AllowShared] Int32Array or sequence<long>) instanceCountsList,
                                     GLuint instanceCountsOffset,
                                     GLsizei drawcount);

  void multiDrawElementsInstancedWEBGL(GLenum mode,
                                       ([AllowShared] Int32Array or sequence<long>) countsList,
                                       GLuint countsOffset,
                                       GLenum type,
                                       ([AllowShared] Int32Array or sequence<long>) offsetsList,
                                       GLuint offsetsOffset,
                                       ([AllowShared] Int32Array or sequence<long>) instanceCountsList,
                                       GLuint instanceCountsOffset,
                                       GLsizei drawcount);
};