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

// Copyright 2019 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_instanced_base_vertex_base_instance/

[LegacyNoInterfaceObject]
interface WebGLMultiDrawInstancedBaseVertexBaseInstance {
  void multiDrawArraysInstancedBaseInstanceWEBGL(
      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,
      ([AllowShared] Uint32Array or sequence<unsigned long>) baseInstancesList,
      GLuint baseInstancesOffset,
      GLsizei drawcount);

  void multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(
      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,
      ([AllowShared] Int32Array or sequence<long>) baseVerticesList,
      GLuint baseVerticesOffset,
      ([AllowShared] Uint32Array or sequence<unsigned long>) baseInstancesList,
      GLuint baseInstancesOffset,
      GLsizei drawcount);
};