1 module spasm.bindings.webgl2;
2 
3 import spasm.types;
4 import spasm.bindings.common;
5 import spasm.bindings.webgl;
6 
7 @safe:
8 nothrow:
9 
10 alias Float32List = SumType!(Float32Array, Sequence!(float));
11 alias GLint64 = int;
12 alias GLuint64 = uint;
13 alias Int32List = SumType!(Int32Array, Sequence!(int));
14 alias Uint32List = SumType!(Uint32Array, Sequence!(uint));
15 struct WebGL2RenderingContext {
16   nothrow:
17   JsHandle handle;
18   alias handle this;
19   this(Handle h) {
20     this.handle = JsHandle(h);
21   }
22 }
23 struct WebGL2RenderingContextBase {
24   nothrow:
25   JsHandle handle;
26   alias handle this;
27   this(Handle h) {
28     this.handle = JsHandle(h);
29   }
30   enum uint READ_BUFFER = 0x0C02;
31   enum uint UNPACK_ROW_LENGTH = 0x0CF2;
32   enum uint UNPACK_SKIP_ROWS = 0x0CF3;
33   enum uint UNPACK_SKIP_PIXELS = 0x0CF4;
34   enum uint PACK_ROW_LENGTH = 0x0D02;
35   enum uint PACK_SKIP_ROWS = 0x0D03;
36   enum uint PACK_SKIP_PIXELS = 0x0D04;
37   enum uint COLOR = 0x1800;
38   enum uint DEPTH = 0x1801;
39   enum uint STENCIL = 0x1802;
40   enum uint RED = 0x1903;
41   enum uint RGB8 = 0x8051;
42   enum uint RGBA8 = 0x8058;
43   enum uint RGB10_A2 = 0x8059;
44   enum uint TEXTURE_BINDING_3D = 0x806A;
45   enum uint UNPACK_SKIP_IMAGES = 0x806D;
46   enum uint UNPACK_IMAGE_HEIGHT = 0x806E;
47   enum uint TEXTURE_3D = 0x806F;
48   enum uint TEXTURE_WRAP_R = 0x8072;
49   enum uint MAX_3D_TEXTURE_SIZE = 0x8073;
50   enum uint UNSIGNED_INT_2_10_10_10_REV = 0x8368;
51   enum uint MAX_ELEMENTS_VERTICES = 0x80E8;
52   enum uint MAX_ELEMENTS_INDICES = 0x80E9;
53   enum uint TEXTURE_MIN_LOD = 0x813A;
54   enum uint TEXTURE_MAX_LOD = 0x813B;
55   enum uint TEXTURE_BASE_LEVEL = 0x813C;
56   enum uint TEXTURE_MAX_LEVEL = 0x813D;
57   enum uint MIN = 0x8007;
58   enum uint MAX = 0x8008;
59   enum uint DEPTH_COMPONENT24 = 0x81A6;
60   enum uint MAX_TEXTURE_LOD_BIAS = 0x84FD;
61   enum uint TEXTURE_COMPARE_MODE = 0x884C;
62   enum uint TEXTURE_COMPARE_FUNC = 0x884D;
63   enum uint CURRENT_QUERY = 0x8865;
64   enum uint QUERY_RESULT = 0x8866;
65   enum uint QUERY_RESULT_AVAILABLE = 0x8867;
66   enum uint STREAM_READ = 0x88E1;
67   enum uint STREAM_COPY = 0x88E2;
68   enum uint STATIC_READ = 0x88E5;
69   enum uint STATIC_COPY = 0x88E6;
70   enum uint DYNAMIC_READ = 0x88E9;
71   enum uint DYNAMIC_COPY = 0x88EA;
72   enum uint MAX_DRAW_BUFFERS = 0x8824;
73   enum uint DRAW_BUFFER0 = 0x8825;
74   enum uint DRAW_BUFFER1 = 0x8826;
75   enum uint DRAW_BUFFER2 = 0x8827;
76   enum uint DRAW_BUFFER3 = 0x8828;
77   enum uint DRAW_BUFFER4 = 0x8829;
78   enum uint DRAW_BUFFER5 = 0x882A;
79   enum uint DRAW_BUFFER6 = 0x882B;
80   enum uint DRAW_BUFFER7 = 0x882C;
81   enum uint DRAW_BUFFER8 = 0x882D;
82   enum uint DRAW_BUFFER9 = 0x882E;
83   enum uint DRAW_BUFFER10 = 0x882F;
84   enum uint DRAW_BUFFER11 = 0x8830;
85   enum uint DRAW_BUFFER12 = 0x8831;
86   enum uint DRAW_BUFFER13 = 0x8832;
87   enum uint DRAW_BUFFER14 = 0x8833;
88   enum uint DRAW_BUFFER15 = 0x8834;
89   enum uint MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49;
90   enum uint MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A;
91   enum uint SAMPLER_3D = 0x8B5F;
92   enum uint SAMPLER_2D_SHADOW = 0x8B62;
93   enum uint FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B;
94   enum uint PIXEL_PACK_BUFFER = 0x88EB;
95   enum uint PIXEL_UNPACK_BUFFER = 0x88EC;
96   enum uint PIXEL_PACK_BUFFER_BINDING = 0x88ED;
97   enum uint PIXEL_UNPACK_BUFFER_BINDING = 0x88EF;
98   enum uint FLOAT_MAT2x3 = 0x8B65;
99   enum uint FLOAT_MAT2x4 = 0x8B66;
100   enum uint FLOAT_MAT3x2 = 0x8B67;
101   enum uint FLOAT_MAT3x4 = 0x8B68;
102   enum uint FLOAT_MAT4x2 = 0x8B69;
103   enum uint FLOAT_MAT4x3 = 0x8B6A;
104   enum uint SRGB = 0x8C40;
105   enum uint SRGB8 = 0x8C41;
106   enum uint SRGB8_ALPHA8 = 0x8C43;
107   enum uint COMPARE_REF_TO_TEXTURE = 0x884E;
108   enum uint RGBA32F = 0x8814;
109   enum uint RGB32F = 0x8815;
110   enum uint RGBA16F = 0x881A;
111   enum uint RGB16F = 0x881B;
112   enum uint VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD;
113   enum uint MAX_ARRAY_TEXTURE_LAYERS = 0x88FF;
114   enum uint MIN_PROGRAM_TEXEL_OFFSET = 0x8904;
115   enum uint MAX_PROGRAM_TEXEL_OFFSET = 0x8905;
116   enum uint MAX_VARYING_COMPONENTS = 0x8B4B;
117   enum uint TEXTURE_2D_ARRAY = 0x8C1A;
118   enum uint TEXTURE_BINDING_2D_ARRAY = 0x8C1D;
119   enum uint R11F_G11F_B10F = 0x8C3A;
120   enum uint UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B;
121   enum uint RGB9_E5 = 0x8C3D;
122   enum uint UNSIGNED_INT_5_9_9_9_REV = 0x8C3E;
123   enum uint TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F;
124   enum uint MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80;
125   enum uint TRANSFORM_FEEDBACK_VARYINGS = 0x8C83;
126   enum uint TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84;
127   enum uint TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85;
128   enum uint TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88;
129   enum uint RASTERIZER_DISCARD = 0x8C89;
130   enum uint MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A;
131   enum uint MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B;
132   enum uint INTERLEAVED_ATTRIBS = 0x8C8C;
133   enum uint SEPARATE_ATTRIBS = 0x8C8D;
134   enum uint TRANSFORM_FEEDBACK_BUFFER = 0x8C8E;
135   enum uint TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F;
136   enum uint RGBA32UI = 0x8D70;
137   enum uint RGB32UI = 0x8D71;
138   enum uint RGBA16UI = 0x8D76;
139   enum uint RGB16UI = 0x8D77;
140   enum uint RGBA8UI = 0x8D7C;
141   enum uint RGB8UI = 0x8D7D;
142   enum uint RGBA32I = 0x8D82;
143   enum uint RGB32I = 0x8D83;
144   enum uint RGBA16I = 0x8D88;
145   enum uint RGB16I = 0x8D89;
146   enum uint RGBA8I = 0x8D8E;
147   enum uint RGB8I = 0x8D8F;
148   enum uint RED_INTEGER = 0x8D94;
149   enum uint RGB_INTEGER = 0x8D98;
150   enum uint RGBA_INTEGER = 0x8D99;
151   enum uint SAMPLER_2D_ARRAY = 0x8DC1;
152   enum uint SAMPLER_2D_ARRAY_SHADOW = 0x8DC4;
153   enum uint SAMPLER_CUBE_SHADOW = 0x8DC5;
154   enum uint UNSIGNED_INT_VEC2 = 0x8DC6;
155   enum uint UNSIGNED_INT_VEC3 = 0x8DC7;
156   enum uint UNSIGNED_INT_VEC4 = 0x8DC8;
157   enum uint INT_SAMPLER_2D = 0x8DCA;
158   enum uint INT_SAMPLER_3D = 0x8DCB;
159   enum uint INT_SAMPLER_CUBE = 0x8DCC;
160   enum uint INT_SAMPLER_2D_ARRAY = 0x8DCF;
161   enum uint UNSIGNED_INT_SAMPLER_2D = 0x8DD2;
162   enum uint UNSIGNED_INT_SAMPLER_3D = 0x8DD3;
163   enum uint UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4;
164   enum uint UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7;
165   enum uint DEPTH_COMPONENT32F = 0x8CAC;
166   enum uint DEPTH32F_STENCIL8 = 0x8CAD;
167   enum uint FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD;
168   enum uint FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210;
169   enum uint FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211;
170   enum uint FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212;
171   enum uint FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213;
172   enum uint FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214;
173   enum uint FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215;
174   enum uint FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216;
175   enum uint FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217;
176   enum uint FRAMEBUFFER_DEFAULT = 0x8218;
177   enum uint DEPTH_STENCIL_ATTACHMENT = 0x821A;
178   enum uint DEPTH_STENCIL = 0x84F9;
179   enum uint UNSIGNED_INT_24_8 = 0x84FA;
180   enum uint DEPTH24_STENCIL8 = 0x88F0;
181   enum uint UNSIGNED_NORMALIZED = 0x8C17;
182   enum uint DRAW_FRAMEBUFFER_BINDING = 0x8CA6;
183   enum uint READ_FRAMEBUFFER = 0x8CA8;
184   enum uint DRAW_FRAMEBUFFER = 0x8CA9;
185   enum uint READ_FRAMEBUFFER_BINDING = 0x8CAA;
186   enum uint RENDERBUFFER_SAMPLES = 0x8CAB;
187   enum uint FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4;
188   enum uint MAX_COLOR_ATTACHMENTS = 0x8CDF;
189   enum uint COLOR_ATTACHMENT1 = 0x8CE1;
190   enum uint COLOR_ATTACHMENT2 = 0x8CE2;
191   enum uint COLOR_ATTACHMENT3 = 0x8CE3;
192   enum uint COLOR_ATTACHMENT4 = 0x8CE4;
193   enum uint COLOR_ATTACHMENT5 = 0x8CE5;
194   enum uint COLOR_ATTACHMENT6 = 0x8CE6;
195   enum uint COLOR_ATTACHMENT7 = 0x8CE7;
196   enum uint COLOR_ATTACHMENT8 = 0x8CE8;
197   enum uint COLOR_ATTACHMENT9 = 0x8CE9;
198   enum uint COLOR_ATTACHMENT10 = 0x8CEA;
199   enum uint COLOR_ATTACHMENT11 = 0x8CEB;
200   enum uint COLOR_ATTACHMENT12 = 0x8CEC;
201   enum uint COLOR_ATTACHMENT13 = 0x8CED;
202   enum uint COLOR_ATTACHMENT14 = 0x8CEE;
203   enum uint COLOR_ATTACHMENT15 = 0x8CEF;
204   enum uint FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56;
205   enum uint MAX_SAMPLES = 0x8D57;
206   enum uint HALF_FLOAT = 0x140B;
207   enum uint RG = 0x8227;
208   enum uint RG_INTEGER = 0x8228;
209   enum uint R8 = 0x8229;
210   enum uint RG8 = 0x822B;
211   enum uint R16F = 0x822D;
212   enum uint R32F = 0x822E;
213   enum uint RG16F = 0x822F;
214   enum uint RG32F = 0x8230;
215   enum uint R8I = 0x8231;
216   enum uint R8UI = 0x8232;
217   enum uint R16I = 0x8233;
218   enum uint R16UI = 0x8234;
219   enum uint R32I = 0x8235;
220   enum uint R32UI = 0x8236;
221   enum uint RG8I = 0x8237;
222   enum uint RG8UI = 0x8238;
223   enum uint RG16I = 0x8239;
224   enum uint RG16UI = 0x823A;
225   enum uint RG32I = 0x823B;
226   enum uint RG32UI = 0x823C;
227   enum uint VERTEX_ARRAY_BINDING = 0x85B5;
228   enum uint R8_SNORM = 0x8F94;
229   enum uint RG8_SNORM = 0x8F95;
230   enum uint RGB8_SNORM = 0x8F96;
231   enum uint RGBA8_SNORM = 0x8F97;
232   enum uint SIGNED_NORMALIZED = 0x8F9C;
233   enum uint COPY_READ_BUFFER = 0x8F36;
234   enum uint COPY_WRITE_BUFFER = 0x8F37;
235   enum uint COPY_READ_BUFFER_BINDING = 0x8F36;
236   enum uint COPY_WRITE_BUFFER_BINDING = 0x8F37;
237   enum uint UNIFORM_BUFFER = 0x8A11;
238   enum uint UNIFORM_BUFFER_BINDING = 0x8A28;
239   enum uint UNIFORM_BUFFER_START = 0x8A29;
240   enum uint UNIFORM_BUFFER_SIZE = 0x8A2A;
241   enum uint MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B;
242   enum uint MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D;
243   enum uint MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E;
244   enum uint MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F;
245   enum uint MAX_UNIFORM_BLOCK_SIZE = 0x8A30;
246   enum uint MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31;
247   enum uint MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33;
248   enum uint UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34;
249   enum uint ACTIVE_UNIFORM_BLOCKS = 0x8A36;
250   enum uint UNIFORM_TYPE = 0x8A37;
251   enum uint UNIFORM_SIZE = 0x8A38;
252   enum uint UNIFORM_BLOCK_INDEX = 0x8A3A;
253   enum uint UNIFORM_OFFSET = 0x8A3B;
254   enum uint UNIFORM_ARRAY_STRIDE = 0x8A3C;
255   enum uint UNIFORM_MATRIX_STRIDE = 0x8A3D;
256   enum uint UNIFORM_IS_ROW_MAJOR = 0x8A3E;
257   enum uint UNIFORM_BLOCK_BINDING = 0x8A3F;
258   enum uint UNIFORM_BLOCK_DATA_SIZE = 0x8A40;
259   enum uint UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42;
260   enum uint UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43;
261   enum uint UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44;
262   enum uint UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46;
263   enum uint INVALID_INDEX = 0xFFFFFFFF;
264   enum uint MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122;
265   enum uint MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125;
266   enum uint MAX_SERVER_WAIT_TIMEOUT = 0x9111;
267   enum uint OBJECT_TYPE = 0x9112;
268   enum uint SYNC_CONDITION = 0x9113;
269   enum uint SYNC_STATUS = 0x9114;
270   enum uint SYNC_FLAGS = 0x9115;
271   enum uint SYNC_FENCE = 0x9116;
272   enum uint SYNC_GPU_COMMANDS_COMPLETE = 0x9117;
273   enum uint UNSIGNALED = 0x9118;
274   enum uint SIGNALED = 0x9119;
275   enum uint ALREADY_SIGNALED = 0x911A;
276   enum uint TIMEOUT_EXPIRED = 0x911B;
277   enum uint CONDITION_SATISFIED = 0x911C;
278   enum uint WAIT_FAILED = 0x911D;
279   enum uint SYNC_FLUSH_COMMANDS_BIT = 0x00000001;
280   enum uint VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE;
281   enum uint ANY_SAMPLES_PASSED = 0x8C2F;
282   enum uint ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A;
283   enum uint SAMPLER_BINDING = 0x8919;
284   enum uint RGB10_A2UI = 0x906F;
285   enum uint INT_2_10_10_10_REV = 0x8D9F;
286   enum uint TRANSFORM_FEEDBACK = 0x8E22;
287   enum uint TRANSFORM_FEEDBACK_PAUSED = 0x8E23;
288   enum uint TRANSFORM_FEEDBACK_ACTIVE = 0x8E24;
289   enum uint TRANSFORM_FEEDBACK_BINDING = 0x8E25;
290   enum uint TEXTURE_IMMUTABLE_FORMAT = 0x912F;
291   enum uint MAX_ELEMENT_INDEX = 0x8D6B;
292   enum uint TEXTURE_IMMUTABLE_LEVELS = 0x82DF;
293   enum int TIMEOUT_IGNORED = -1;
294   enum uint MAX_CLIENT_WAIT_TIMEOUT_WEBGL = 0x9247;
295   void bufferData()(uint target, int size, uint usage) {
296     WebGL2RenderingContextBase_bufferData__uint_int_uint(this.handle, target, size, usage);
297   }
298   void bufferData(T1)(uint target, scope auto ref Optional!(T1) srcData, uint usage) if (isTOrPointer!(T1, ArrayBuffer)) {
299     WebGL2RenderingContextBase_bufferData__uint_optional_Handle_uint(this.handle, target, !srcData.empty, srcData.front.handle, usage);
300   }
301   void bufferData()(uint target, scope ref ArrayBufferView srcData, uint usage) {
302     WebGL2RenderingContextBase_bufferData__uint_ArrayBufferView_uint(this.handle, target, srcData, usage);
303   }
304   void bufferSubData()(uint target, int dstByteOffset, scope ref BufferDataSource srcData) {
305     WebGL2RenderingContextBase_bufferSubData__uint_int_BufferDataSource(this.handle, target, dstByteOffset, srcData);
306   }
307   void bufferData()(uint target, scope ref ArrayBufferView srcData, uint usage, uint srcOffset, uint length /* = 0 */) {
308     WebGL2RenderingContextBase_bufferData__uint_ArrayBufferView_uint_uint_uint(this.handle, target, srcData, usage, srcOffset, length);
309   }
310   void bufferData()(uint target, scope ref ArrayBufferView srcData, uint usage, uint srcOffset) {
311     WebGL2RenderingContextBase_bufferData_0(this.handle, target, srcData, usage, srcOffset);
312   }
313   void bufferSubData()(uint target, int dstByteOffset, scope ref ArrayBufferView srcData, uint srcOffset, uint length /* = 0 */) {
314     WebGL2RenderingContextBase_bufferSubData__uint_int_ArrayBufferView_uint_uint(this.handle, target, dstByteOffset, srcData, srcOffset, length);
315   }
316   void bufferSubData()(uint target, int dstByteOffset, scope ref ArrayBufferView srcData, uint srcOffset) {
317     WebGL2RenderingContextBase_bufferSubData_0(this.handle, target, dstByteOffset, srcData, srcOffset);
318   }
319   void copyBufferSubData()(uint readTarget, uint writeTarget, int readOffset, int writeOffset, int size) {
320     WebGL2RenderingContextBase_copyBufferSubData(this.handle, readTarget, writeTarget, readOffset, writeOffset, size);
321   }
322   void getBufferSubData()(uint target, int srcByteOffset, scope ref ArrayBufferView dstData, uint dstOffset /* = 0 */, uint length /* = 0 */) {
323     WebGL2RenderingContextBase_getBufferSubData(this.handle, target, srcByteOffset, dstData, dstOffset, length);
324   }
325   void getBufferSubData()(uint target, int srcByteOffset, scope ref ArrayBufferView dstData, uint dstOffset /* = 0 */) {
326     WebGL2RenderingContextBase_getBufferSubData_0(this.handle, target, srcByteOffset, dstData, dstOffset);
327   }
328   void getBufferSubData()(uint target, int srcByteOffset, scope ref ArrayBufferView dstData) {
329     WebGL2RenderingContextBase_getBufferSubData_1(this.handle, target, srcByteOffset, dstData);
330   }
331   void blitFramebuffer()(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, uint mask, uint filter) {
332     WebGL2RenderingContextBase_blitFramebuffer(this.handle, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
333   }
334   void framebufferTextureLayer(T2)(uint target, uint attachment, scope auto ref Optional!(T2) texture, int level, int layer) if (isTOrPointer!(T2, WebGLTexture)) {
335     WebGL2RenderingContextBase_framebufferTextureLayer(this.handle, target, attachment, !texture.empty, texture.front._parent, level, layer);
336   }
337   void invalidateFramebuffer()(uint target, scope ref Sequence!(uint) attachments) {
338     WebGL2RenderingContextBase_invalidateFramebuffer(this.handle, target, attachments.handle);
339   }
340   void invalidateSubFramebuffer()(uint target, scope ref Sequence!(uint) attachments, int x, int y, int width, int height) {
341     WebGL2RenderingContextBase_invalidateSubFramebuffer(this.handle, target, attachments.handle, x, y, width, height);
342   }
343   void readBuffer()(uint src) {
344     WebGL2RenderingContextBase_readBuffer(this.handle, src);
345   }
346   auto getInternalformatParameter()(uint target, uint internalformat, uint pname) {
347     return Any(WebGL2RenderingContextBase_getInternalformatParameter(this.handle, target, internalformat, pname));
348   }
349   void renderbufferStorageMultisample()(uint target, int samples, uint internalformat, int width, int height) {
350     WebGL2RenderingContextBase_renderbufferStorageMultisample(this.handle, target, samples, internalformat, width, height);
351   }
352   void texStorage2D()(uint target, int levels, uint internalformat, int width, int height) {
353     WebGL2RenderingContextBase_texStorage2D(this.handle, target, levels, internalformat, width, height);
354   }
355   void texStorage3D()(uint target, int levels, uint internalformat, int width, int height, int depth) {
356     WebGL2RenderingContextBase_texStorage3D(this.handle, target, levels, internalformat, width, height, depth);
357   }
358   void texImage2D(T8)(uint target, int level, int internalformat, int width, int height, int border, uint format, uint type, scope auto ref Optional!(T8) pixels) if (isTOrPointer!(T8, ArrayBufferView)) {
359     WebGL2RenderingContextBase_texImage2D__uint_int_int_int_int_int_uint_uint_optional_ArrayBufferView(this.handle, target, level, internalformat, width, height, border, format, type, !pixels.empty, *pixels.frontRef);
360   }
361   void texImage2D()(uint target, int level, int internalformat, uint format, uint type, scope ref TexImageSource source) {
362     WebGL2RenderingContextBase_texImage2D__uint_int_int_uint_uint_TexImageSource(this.handle, target, level, internalformat, format, type, source);
363   }
364   void texSubImage2D(T8)(uint target, int level, int xoffset, int yoffset, int width, int height, uint format, uint type, scope auto ref Optional!(T8) pixels) if (isTOrPointer!(T8, ArrayBufferView)) {
365     WebGL2RenderingContextBase_texSubImage2D__uint_int_int_int_int_int_uint_uint_optional_ArrayBufferView(this.handle, target, level, xoffset, yoffset, width, height, format, type, !pixels.empty, *pixels.frontRef);
366   }
367   void texSubImage2D()(uint target, int level, int xoffset, int yoffset, uint format, uint type, scope ref TexImageSource source) {
368     WebGL2RenderingContextBase_texSubImage2D__uint_int_int_int_uint_uint_TexImageSource(this.handle, target, level, xoffset, yoffset, format, type, source);
369   }
370   void texImage2D()(uint target, int level, int internalformat, int width, int height, int border, uint format, uint type, int pboOffset) {
371     WebGL2RenderingContextBase_texImage2D__uint_int_int_int_int_int_uint_uint_int(this.handle, target, level, internalformat, width, height, border, format, type, pboOffset);
372   }
373   void texImage2D()(uint target, int level, int internalformat, int width, int height, int border, uint format, uint type, scope ref TexImageSource source) {
374     WebGL2RenderingContextBase_texImage2D__uint_int_int_int_int_int_uint_uint_TexImageSource(this.handle, target, level, internalformat, width, height, border, format, type, source);
375   }
376   void texImage2D()(uint target, int level, int internalformat, int width, int height, int border, uint format, uint type, scope ref ArrayBufferView srcData, uint srcOffset) {
377     WebGL2RenderingContextBase_texImage2D__uint_int_int_int_int_int_uint_uint_ArrayBufferView_uint(this.handle, target, level, internalformat, width, height, border, format, type, srcData, srcOffset);
378   }
379   void texImage3D()(uint target, int level, int internalformat, int width, int height, int depth, int border, uint format, uint type, int pboOffset) {
380     WebGL2RenderingContextBase_texImage3D__uint_int_int_int_int_int_int_uint_uint_int(this.handle, target, level, internalformat, width, height, depth, border, format, type, pboOffset);
381   }
382   void texImage3D()(uint target, int level, int internalformat, int width, int height, int depth, int border, uint format, uint type, scope ref TexImageSource source) {
383     WebGL2RenderingContextBase_texImage3D__uint_int_int_int_int_int_int_uint_uint_TexImageSource(this.handle, target, level, internalformat, width, height, depth, border, format, type, source);
384   }
385   void texImage3D(T9)(uint target, int level, int internalformat, int width, int height, int depth, int border, uint format, uint type, scope auto ref Optional!(T9) srcData) if (isTOrPointer!(T9, ArrayBufferView)) {
386     WebGL2RenderingContextBase_texImage3D__uint_int_int_int_int_int_int_uint_uint_optional_ArrayBufferView(this.handle, target, level, internalformat, width, height, depth, border, format, type, !srcData.empty, *srcData.frontRef);
387   }
388   void texImage3D()(uint target, int level, int internalformat, int width, int height, int depth, int border, uint format, uint type, scope ref ArrayBufferView srcData, uint srcOffset) {
389     WebGL2RenderingContextBase_texImage3D__uint_int_int_int_int_int_int_uint_uint_ArrayBufferView_uint(this.handle, target, level, internalformat, width, height, depth, border, format, type, srcData, srcOffset);
390   }
391   void texSubImage2D()(uint target, int level, int xoffset, int yoffset, int width, int height, uint format, uint type, int pboOffset) {
392     WebGL2RenderingContextBase_texSubImage2D__uint_int_int_int_int_int_uint_uint_int(this.handle, target, level, xoffset, yoffset, width, height, format, type, pboOffset);
393   }
394   void texSubImage2D()(uint target, int level, int xoffset, int yoffset, int width, int height, uint format, uint type, scope ref TexImageSource source) {
395     WebGL2RenderingContextBase_texSubImage2D__uint_int_int_int_int_int_uint_uint_TexImageSource(this.handle, target, level, xoffset, yoffset, width, height, format, type, source);
396   }
397   void texSubImage2D()(uint target, int level, int xoffset, int yoffset, int width, int height, uint format, uint type, scope ref ArrayBufferView srcData, uint srcOffset) {
398     WebGL2RenderingContextBase_texSubImage2D__uint_int_int_int_int_int_uint_uint_ArrayBufferView_uint(this.handle, target, level, xoffset, yoffset, width, height, format, type, srcData, srcOffset);
399   }
400   void texSubImage3D()(uint target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, uint type, int pboOffset) {
401     WebGL2RenderingContextBase_texSubImage3D__uint_int_int_int_int_int_int_int_uint_uint_int(this.handle, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pboOffset);
402   }
403   void texSubImage3D()(uint target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, uint type, scope ref TexImageSource source) {
404     WebGL2RenderingContextBase_texSubImage3D__uint_int_int_int_int_int_int_int_uint_uint_TexImageSource(this.handle, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, source);
405   }
406   void texSubImage3D(T10)(uint target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, uint type, scope auto ref Optional!(T10) srcData, uint srcOffset /* = 0 */) if (isTOrPointer!(T10, ArrayBufferView)) {
407     WebGL2RenderingContextBase_texSubImage3D__uint_int_int_int_int_int_int_int_uint_uint_optional_ArrayBufferView_uint(this.handle, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, !srcData.empty, *srcData.frontRef, srcOffset);
408   }
409   void texSubImage3D(T10)(uint target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, uint type, scope auto ref Optional!(T10) srcData) if (isTOrPointer!(T10, ArrayBufferView)) {
410     WebGL2RenderingContextBase_texSubImage3D_0(this.handle, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, !srcData.empty, *srcData.frontRef);
411   }
412   void copyTexSubImage3D()(uint target, int level, int xoffset, int yoffset, int zoffset, int x, int y, int width, int height) {
413     WebGL2RenderingContextBase_copyTexSubImage3D(this.handle, target, level, xoffset, yoffset, zoffset, x, y, width, height);
414   }
415   void compressedTexImage2D()(uint target, int level, uint internalformat, int width, int height, int border, int offset) {
416     WebGL2RenderingContextBase_compressedTexImage2D__uint_int_uint_int_int_int_int(this.handle, target, level, internalformat, width, height, border, offset);
417   }
418   void compressedTexImage2D()(uint target, int level, uint internalformat, int width, int height, int border, scope ref ArrayBufferView srcData, uint srcOffset /* = 0 */, uint srcLengthOverride /* = 0 */) {
419     WebGL2RenderingContextBase_compressedTexImage2D__uint_int_uint_int_int_int_ArrayBufferView_uint_uint(this.handle, target, level, internalformat, width, height, border, srcData, srcOffset, srcLengthOverride);
420   }
421   void compressedTexImage2D()(uint target, int level, uint internalformat, int width, int height, int border, scope ref ArrayBufferView srcData, uint srcOffset /* = 0 */) {
422     WebGL2RenderingContextBase_compressedTexImage2D_0(this.handle, target, level, internalformat, width, height, border, srcData, srcOffset);
423   }
424   void compressedTexImage2D()(uint target, int level, uint internalformat, int width, int height, int border, scope ref ArrayBufferView srcData) {
425     WebGL2RenderingContextBase_compressedTexImage2D_1(this.handle, target, level, internalformat, width, height, border, srcData);
426   }
427   void compressedTexImage3D()(uint target, int level, uint internalformat, int width, int height, int depth, int border, int offset) {
428     WebGL2RenderingContextBase_compressedTexImage3D__uint_int_uint_int_int_int_int_int(this.handle, target, level, internalformat, width, height, depth, border, offset);
429   }
430   void compressedTexImage3D()(uint target, int level, uint internalformat, int width, int height, int depth, int border, scope ref ArrayBufferView srcData, uint srcOffset /* = 0 */, uint srcLengthOverride /* = 0 */) {
431     WebGL2RenderingContextBase_compressedTexImage3D__uint_int_uint_int_int_int_int_ArrayBufferView_uint_uint(this.handle, target, level, internalformat, width, height, depth, border, srcData, srcOffset, srcLengthOverride);
432   }
433   void compressedTexImage3D()(uint target, int level, uint internalformat, int width, int height, int depth, int border, scope ref ArrayBufferView srcData, uint srcOffset /* = 0 */) {
434     WebGL2RenderingContextBase_compressedTexImage3D_0(this.handle, target, level, internalformat, width, height, depth, border, srcData, srcOffset);
435   }
436   void compressedTexImage3D()(uint target, int level, uint internalformat, int width, int height, int depth, int border, scope ref ArrayBufferView srcData) {
437     WebGL2RenderingContextBase_compressedTexImage3D_1(this.handle, target, level, internalformat, width, height, depth, border, srcData);
438   }
439   void compressedTexSubImage2D()(uint target, int level, int xoffset, int yoffset, int width, int height, uint format, int offset) {
440     WebGL2RenderingContextBase_compressedTexSubImage2D__uint_int_int_int_int_int_uint_int(this.handle, target, level, xoffset, yoffset, width, height, format, offset);
441   }
442   void compressedTexSubImage2D()(uint target, int level, int xoffset, int yoffset, int width, int height, uint format, scope ref ArrayBufferView srcData, uint srcOffset /* = 0 */, uint srcLengthOverride /* = 0 */) {
443     WebGL2RenderingContextBase_compressedTexSubImage2D__uint_int_int_int_int_int_uint_ArrayBufferView_uint_uint(this.handle, target, level, xoffset, yoffset, width, height, format, srcData, srcOffset, srcLengthOverride);
444   }
445   void compressedTexSubImage2D()(uint target, int level, int xoffset, int yoffset, int width, int height, uint format, scope ref ArrayBufferView srcData, uint srcOffset /* = 0 */) {
446     WebGL2RenderingContextBase_compressedTexSubImage2D_0(this.handle, target, level, xoffset, yoffset, width, height, format, srcData, srcOffset);
447   }
448   void compressedTexSubImage2D()(uint target, int level, int xoffset, int yoffset, int width, int height, uint format, scope ref ArrayBufferView srcData) {
449     WebGL2RenderingContextBase_compressedTexSubImage2D_1(this.handle, target, level, xoffset, yoffset, width, height, format, srcData);
450   }
451   void compressedTexSubImage3D()(uint target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, int offset) {
452     WebGL2RenderingContextBase_compressedTexSubImage3D__uint_int_int_int_int_int_int_int_uint_int(this.handle, target, level, xoffset, yoffset, zoffset, width, height, depth, format, offset);
453   }
454   void compressedTexSubImage3D()(uint target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, scope ref ArrayBufferView srcData, uint srcOffset /* = 0 */, uint srcLengthOverride /* = 0 */) {
455     WebGL2RenderingContextBase_compressedTexSubImage3D__uint_int_int_int_int_int_int_int_uint_ArrayBufferView_uint_uint(this.handle, target, level, xoffset, yoffset, zoffset, width, height, depth, format, srcData, srcOffset, srcLengthOverride);
456   }
457   void compressedTexSubImage3D()(uint target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, scope ref ArrayBufferView srcData, uint srcOffset /* = 0 */) {
458     WebGL2RenderingContextBase_compressedTexSubImage3D_0(this.handle, target, level, xoffset, yoffset, zoffset, width, height, depth, format, srcData, srcOffset);
459   }
460   void compressedTexSubImage3D()(uint target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, uint format, scope ref ArrayBufferView srcData) {
461     WebGL2RenderingContextBase_compressedTexSubImage3D_1(this.handle, target, level, xoffset, yoffset, zoffset, width, height, depth, format, srcData);
462   }
463   auto getFragDataLocation()(scope ref WebGLProgram program, string name) {
464     return WebGL2RenderingContextBase_getFragDataLocation(this.handle, program._parent, name);
465   }
466   void uniform1ui(T0)(scope auto ref Optional!(T0) location, uint v0) if (isTOrPointer!(T0, WebGLUniformLocation)) {
467     WebGL2RenderingContextBase_uniform1ui(this.handle, !location.empty, location.front.handle, v0);
468   }
469   void uniform2ui(T0)(scope auto ref Optional!(T0) location, uint v0, uint v1) if (isTOrPointer!(T0, WebGLUniformLocation)) {
470     WebGL2RenderingContextBase_uniform2ui(this.handle, !location.empty, location.front.handle, v0, v1);
471   }
472   void uniform3ui(T0)(scope auto ref Optional!(T0) location, uint v0, uint v1, uint v2) if (isTOrPointer!(T0, WebGLUniformLocation)) {
473     WebGL2RenderingContextBase_uniform3ui(this.handle, !location.empty, location.front.handle, v0, v1, v2);
474   }
475   void uniform4ui(T0)(scope auto ref Optional!(T0) location, uint v0, uint v1, uint v2, uint v3) if (isTOrPointer!(T0, WebGLUniformLocation)) {
476     WebGL2RenderingContextBase_uniform4ui(this.handle, !location.empty, location.front.handle, v0, v1, v2, v3);
477   }
478   void uniform1fv(T0)(scope auto ref Optional!(T0) location, scope ref Float32List data, uint srcOffset /* = 0 */, uint srcLength /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
479     WebGL2RenderingContextBase_uniform1fv(this.handle, !location.empty, location.front.handle, data, srcOffset, srcLength);
480   }
481   void uniform1fv(T0)(scope auto ref Optional!(T0) location, scope ref Float32List data, uint srcOffset /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
482     WebGL2RenderingContextBase_uniform1fv_0(this.handle, !location.empty, location.front.handle, data, srcOffset);
483   }
484   void uniform1fv(T0)(scope auto ref Optional!(T0) location, scope ref Float32List data) if (isTOrPointer!(T0, WebGLUniformLocation)) {
485     WebGL2RenderingContextBase_uniform1fv_1(this.handle, !location.empty, location.front.handle, data);
486   }
487   void uniform2fv(T0)(scope auto ref Optional!(T0) location, scope ref Float32List data, uint srcOffset /* = 0 */, uint srcLength /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
488     WebGL2RenderingContextBase_uniform2fv(this.handle, !location.empty, location.front.handle, data, srcOffset, srcLength);
489   }
490   void uniform2fv(T0)(scope auto ref Optional!(T0) location, scope ref Float32List data, uint srcOffset /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
491     WebGL2RenderingContextBase_uniform2fv_0(this.handle, !location.empty, location.front.handle, data, srcOffset);
492   }
493   void uniform2fv(T0)(scope auto ref Optional!(T0) location, scope ref Float32List data) if (isTOrPointer!(T0, WebGLUniformLocation)) {
494     WebGL2RenderingContextBase_uniform2fv_1(this.handle, !location.empty, location.front.handle, data);
495   }
496   void uniform3fv(T0)(scope auto ref Optional!(T0) location, scope ref Float32List data, uint srcOffset /* = 0 */, uint srcLength /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
497     WebGL2RenderingContextBase_uniform3fv(this.handle, !location.empty, location.front.handle, data, srcOffset, srcLength);
498   }
499   void uniform3fv(T0)(scope auto ref Optional!(T0) location, scope ref Float32List data, uint srcOffset /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
500     WebGL2RenderingContextBase_uniform3fv_0(this.handle, !location.empty, location.front.handle, data, srcOffset);
501   }
502   void uniform3fv(T0)(scope auto ref Optional!(T0) location, scope ref Float32List data) if (isTOrPointer!(T0, WebGLUniformLocation)) {
503     WebGL2RenderingContextBase_uniform3fv_1(this.handle, !location.empty, location.front.handle, data);
504   }
505   void uniform4fv(T0)(scope auto ref Optional!(T0) location, scope ref Float32List data, uint srcOffset /* = 0 */, uint srcLength /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
506     WebGL2RenderingContextBase_uniform4fv(this.handle, !location.empty, location.front.handle, data, srcOffset, srcLength);
507   }
508   void uniform4fv(T0)(scope auto ref Optional!(T0) location, scope ref Float32List data, uint srcOffset /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
509     WebGL2RenderingContextBase_uniform4fv_0(this.handle, !location.empty, location.front.handle, data, srcOffset);
510   }
511   void uniform4fv(T0)(scope auto ref Optional!(T0) location, scope ref Float32List data) if (isTOrPointer!(T0, WebGLUniformLocation)) {
512     WebGL2RenderingContextBase_uniform4fv_1(this.handle, !location.empty, location.front.handle, data);
513   }
514   void uniform1iv(T0)(scope auto ref Optional!(T0) location, scope ref Int32List data, uint srcOffset /* = 0 */, uint srcLength /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
515     WebGL2RenderingContextBase_uniform1iv(this.handle, !location.empty, location.front.handle, data, srcOffset, srcLength);
516   }
517   void uniform1iv(T0)(scope auto ref Optional!(T0) location, scope ref Int32List data, uint srcOffset /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
518     WebGL2RenderingContextBase_uniform1iv_0(this.handle, !location.empty, location.front.handle, data, srcOffset);
519   }
520   void uniform1iv(T0)(scope auto ref Optional!(T0) location, scope ref Int32List data) if (isTOrPointer!(T0, WebGLUniformLocation)) {
521     WebGL2RenderingContextBase_uniform1iv_1(this.handle, !location.empty, location.front.handle, data);
522   }
523   void uniform2iv(T0)(scope auto ref Optional!(T0) location, scope ref Int32List data, uint srcOffset /* = 0 */, uint srcLength /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
524     WebGL2RenderingContextBase_uniform2iv(this.handle, !location.empty, location.front.handle, data, srcOffset, srcLength);
525   }
526   void uniform2iv(T0)(scope auto ref Optional!(T0) location, scope ref Int32List data, uint srcOffset /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
527     WebGL2RenderingContextBase_uniform2iv_0(this.handle, !location.empty, location.front.handle, data, srcOffset);
528   }
529   void uniform2iv(T0)(scope auto ref Optional!(T0) location, scope ref Int32List data) if (isTOrPointer!(T0, WebGLUniformLocation)) {
530     WebGL2RenderingContextBase_uniform2iv_1(this.handle, !location.empty, location.front.handle, data);
531   }
532   void uniform3iv(T0)(scope auto ref Optional!(T0) location, scope ref Int32List data, uint srcOffset /* = 0 */, uint srcLength /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
533     WebGL2RenderingContextBase_uniform3iv(this.handle, !location.empty, location.front.handle, data, srcOffset, srcLength);
534   }
535   void uniform3iv(T0)(scope auto ref Optional!(T0) location, scope ref Int32List data, uint srcOffset /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
536     WebGL2RenderingContextBase_uniform3iv_0(this.handle, !location.empty, location.front.handle, data, srcOffset);
537   }
538   void uniform3iv(T0)(scope auto ref Optional!(T0) location, scope ref Int32List data) if (isTOrPointer!(T0, WebGLUniformLocation)) {
539     WebGL2RenderingContextBase_uniform3iv_1(this.handle, !location.empty, location.front.handle, data);
540   }
541   void uniform4iv(T0)(scope auto ref Optional!(T0) location, scope ref Int32List data, uint srcOffset /* = 0 */, uint srcLength /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
542     WebGL2RenderingContextBase_uniform4iv(this.handle, !location.empty, location.front.handle, data, srcOffset, srcLength);
543   }
544   void uniform4iv(T0)(scope auto ref Optional!(T0) location, scope ref Int32List data, uint srcOffset /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
545     WebGL2RenderingContextBase_uniform4iv_0(this.handle, !location.empty, location.front.handle, data, srcOffset);
546   }
547   void uniform4iv(T0)(scope auto ref Optional!(T0) location, scope ref Int32List data) if (isTOrPointer!(T0, WebGLUniformLocation)) {
548     WebGL2RenderingContextBase_uniform4iv_1(this.handle, !location.empty, location.front.handle, data);
549   }
550   void uniform1uiv(T0)(scope auto ref Optional!(T0) location, scope ref Uint32List data, uint srcOffset /* = 0 */, uint srcLength /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
551     WebGL2RenderingContextBase_uniform1uiv(this.handle, !location.empty, location.front.handle, data, srcOffset, srcLength);
552   }
553   void uniform1uiv(T0)(scope auto ref Optional!(T0) location, scope ref Uint32List data, uint srcOffset /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
554     WebGL2RenderingContextBase_uniform1uiv_0(this.handle, !location.empty, location.front.handle, data, srcOffset);
555   }
556   void uniform1uiv(T0)(scope auto ref Optional!(T0) location, scope ref Uint32List data) if (isTOrPointer!(T0, WebGLUniformLocation)) {
557     WebGL2RenderingContextBase_uniform1uiv_1(this.handle, !location.empty, location.front.handle, data);
558   }
559   void uniform2uiv(T0)(scope auto ref Optional!(T0) location, scope ref Uint32List data, uint srcOffset /* = 0 */, uint srcLength /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
560     WebGL2RenderingContextBase_uniform2uiv(this.handle, !location.empty, location.front.handle, data, srcOffset, srcLength);
561   }
562   void uniform2uiv(T0)(scope auto ref Optional!(T0) location, scope ref Uint32List data, uint srcOffset /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
563     WebGL2RenderingContextBase_uniform2uiv_0(this.handle, !location.empty, location.front.handle, data, srcOffset);
564   }
565   void uniform2uiv(T0)(scope auto ref Optional!(T0) location, scope ref Uint32List data) if (isTOrPointer!(T0, WebGLUniformLocation)) {
566     WebGL2RenderingContextBase_uniform2uiv_1(this.handle, !location.empty, location.front.handle, data);
567   }
568   void uniform3uiv(T0)(scope auto ref Optional!(T0) location, scope ref Uint32List data, uint srcOffset /* = 0 */, uint srcLength /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
569     WebGL2RenderingContextBase_uniform3uiv(this.handle, !location.empty, location.front.handle, data, srcOffset, srcLength);
570   }
571   void uniform3uiv(T0)(scope auto ref Optional!(T0) location, scope ref Uint32List data, uint srcOffset /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
572     WebGL2RenderingContextBase_uniform3uiv_0(this.handle, !location.empty, location.front.handle, data, srcOffset);
573   }
574   void uniform3uiv(T0)(scope auto ref Optional!(T0) location, scope ref Uint32List data) if (isTOrPointer!(T0, WebGLUniformLocation)) {
575     WebGL2RenderingContextBase_uniform3uiv_1(this.handle, !location.empty, location.front.handle, data);
576   }
577   void uniform4uiv(T0)(scope auto ref Optional!(T0) location, scope ref Uint32List data, uint srcOffset /* = 0 */, uint srcLength /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
578     WebGL2RenderingContextBase_uniform4uiv(this.handle, !location.empty, location.front.handle, data, srcOffset, srcLength);
579   }
580   void uniform4uiv(T0)(scope auto ref Optional!(T0) location, scope ref Uint32List data, uint srcOffset /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
581     WebGL2RenderingContextBase_uniform4uiv_0(this.handle, !location.empty, location.front.handle, data, srcOffset);
582   }
583   void uniform4uiv(T0)(scope auto ref Optional!(T0) location, scope ref Uint32List data) if (isTOrPointer!(T0, WebGLUniformLocation)) {
584     WebGL2RenderingContextBase_uniform4uiv_1(this.handle, !location.empty, location.front.handle, data);
585   }
586   void uniformMatrix2fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32List data, uint srcOffset /* = 0 */, uint srcLength /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
587     WebGL2RenderingContextBase_uniformMatrix2fv(this.handle, !location.empty, location.front.handle, transpose, data, srcOffset, srcLength);
588   }
589   void uniformMatrix2fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32List data, uint srcOffset /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
590     WebGL2RenderingContextBase_uniformMatrix2fv_0(this.handle, !location.empty, location.front.handle, transpose, data, srcOffset);
591   }
592   void uniformMatrix2fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32List data) if (isTOrPointer!(T0, WebGLUniformLocation)) {
593     WebGL2RenderingContextBase_uniformMatrix2fv_1(this.handle, !location.empty, location.front.handle, transpose, data);
594   }
595   void uniformMatrix3x2fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32List data, uint srcOffset /* = 0 */, uint srcLength /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
596     WebGL2RenderingContextBase_uniformMatrix3x2fv(this.handle, !location.empty, location.front.handle, transpose, data, srcOffset, srcLength);
597   }
598   void uniformMatrix3x2fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32List data, uint srcOffset /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
599     WebGL2RenderingContextBase_uniformMatrix3x2fv_0(this.handle, !location.empty, location.front.handle, transpose, data, srcOffset);
600   }
601   void uniformMatrix3x2fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32List data) if (isTOrPointer!(T0, WebGLUniformLocation)) {
602     WebGL2RenderingContextBase_uniformMatrix3x2fv_1(this.handle, !location.empty, location.front.handle, transpose, data);
603   }
604   void uniformMatrix4x2fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32List data, uint srcOffset /* = 0 */, uint srcLength /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
605     WebGL2RenderingContextBase_uniformMatrix4x2fv(this.handle, !location.empty, location.front.handle, transpose, data, srcOffset, srcLength);
606   }
607   void uniformMatrix4x2fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32List data, uint srcOffset /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
608     WebGL2RenderingContextBase_uniformMatrix4x2fv_0(this.handle, !location.empty, location.front.handle, transpose, data, srcOffset);
609   }
610   void uniformMatrix4x2fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32List data) if (isTOrPointer!(T0, WebGLUniformLocation)) {
611     WebGL2RenderingContextBase_uniformMatrix4x2fv_1(this.handle, !location.empty, location.front.handle, transpose, data);
612   }
613   void uniformMatrix2x3fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32List data, uint srcOffset /* = 0 */, uint srcLength /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
614     WebGL2RenderingContextBase_uniformMatrix2x3fv(this.handle, !location.empty, location.front.handle, transpose, data, srcOffset, srcLength);
615   }
616   void uniformMatrix2x3fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32List data, uint srcOffset /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
617     WebGL2RenderingContextBase_uniformMatrix2x3fv_0(this.handle, !location.empty, location.front.handle, transpose, data, srcOffset);
618   }
619   void uniformMatrix2x3fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32List data) if (isTOrPointer!(T0, WebGLUniformLocation)) {
620     WebGL2RenderingContextBase_uniformMatrix2x3fv_1(this.handle, !location.empty, location.front.handle, transpose, data);
621   }
622   void uniformMatrix3fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32List data, uint srcOffset /* = 0 */, uint srcLength /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
623     WebGL2RenderingContextBase_uniformMatrix3fv(this.handle, !location.empty, location.front.handle, transpose, data, srcOffset, srcLength);
624   }
625   void uniformMatrix3fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32List data, uint srcOffset /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
626     WebGL2RenderingContextBase_uniformMatrix3fv_0(this.handle, !location.empty, location.front.handle, transpose, data, srcOffset);
627   }
628   void uniformMatrix3fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32List data) if (isTOrPointer!(T0, WebGLUniformLocation)) {
629     WebGL2RenderingContextBase_uniformMatrix3fv_1(this.handle, !location.empty, location.front.handle, transpose, data);
630   }
631   void uniformMatrix4x3fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32List data, uint srcOffset /* = 0 */, uint srcLength /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
632     WebGL2RenderingContextBase_uniformMatrix4x3fv(this.handle, !location.empty, location.front.handle, transpose, data, srcOffset, srcLength);
633   }
634   void uniformMatrix4x3fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32List data, uint srcOffset /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
635     WebGL2RenderingContextBase_uniformMatrix4x3fv_0(this.handle, !location.empty, location.front.handle, transpose, data, srcOffset);
636   }
637   void uniformMatrix4x3fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32List data) if (isTOrPointer!(T0, WebGLUniformLocation)) {
638     WebGL2RenderingContextBase_uniformMatrix4x3fv_1(this.handle, !location.empty, location.front.handle, transpose, data);
639   }
640   void uniformMatrix2x4fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32List data, uint srcOffset /* = 0 */, uint srcLength /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
641     WebGL2RenderingContextBase_uniformMatrix2x4fv(this.handle, !location.empty, location.front.handle, transpose, data, srcOffset, srcLength);
642   }
643   void uniformMatrix2x4fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32List data, uint srcOffset /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
644     WebGL2RenderingContextBase_uniformMatrix2x4fv_0(this.handle, !location.empty, location.front.handle, transpose, data, srcOffset);
645   }
646   void uniformMatrix2x4fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32List data) if (isTOrPointer!(T0, WebGLUniformLocation)) {
647     WebGL2RenderingContextBase_uniformMatrix2x4fv_1(this.handle, !location.empty, location.front.handle, transpose, data);
648   }
649   void uniformMatrix3x4fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32List data, uint srcOffset /* = 0 */, uint srcLength /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
650     WebGL2RenderingContextBase_uniformMatrix3x4fv(this.handle, !location.empty, location.front.handle, transpose, data, srcOffset, srcLength);
651   }
652   void uniformMatrix3x4fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32List data, uint srcOffset /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
653     WebGL2RenderingContextBase_uniformMatrix3x4fv_0(this.handle, !location.empty, location.front.handle, transpose, data, srcOffset);
654   }
655   void uniformMatrix3x4fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32List data) if (isTOrPointer!(T0, WebGLUniformLocation)) {
656     WebGL2RenderingContextBase_uniformMatrix3x4fv_1(this.handle, !location.empty, location.front.handle, transpose, data);
657   }
658   void uniformMatrix4fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32List data, uint srcOffset /* = 0 */, uint srcLength /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
659     WebGL2RenderingContextBase_uniformMatrix4fv(this.handle, !location.empty, location.front.handle, transpose, data, srcOffset, srcLength);
660   }
661   void uniformMatrix4fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32List data, uint srcOffset /* = 0 */) if (isTOrPointer!(T0, WebGLUniformLocation)) {
662     WebGL2RenderingContextBase_uniformMatrix4fv_0(this.handle, !location.empty, location.front.handle, transpose, data, srcOffset);
663   }
664   void uniformMatrix4fv(T0)(scope auto ref Optional!(T0) location, bool transpose, scope ref Float32List data) if (isTOrPointer!(T0, WebGLUniformLocation)) {
665     WebGL2RenderingContextBase_uniformMatrix4fv_1(this.handle, !location.empty, location.front.handle, transpose, data);
666   }
667   void vertexAttribI4i()(uint index, int x, int y, int z, int w) {
668     WebGL2RenderingContextBase_vertexAttribI4i(this.handle, index, x, y, z, w);
669   }
670   void vertexAttribI4iv()(uint index, scope ref Int32List values) {
671     WebGL2RenderingContextBase_vertexAttribI4iv(this.handle, index, values);
672   }
673   void vertexAttribI4ui()(uint index, uint x, uint y, uint z, uint w) {
674     WebGL2RenderingContextBase_vertexAttribI4ui(this.handle, index, x, y, z, w);
675   }
676   void vertexAttribI4uiv()(uint index, scope ref Uint32List values) {
677     WebGL2RenderingContextBase_vertexAttribI4uiv(this.handle, index, values);
678   }
679   void vertexAttribIPointer()(uint index, int size, uint type, int stride, int offset) {
680     WebGL2RenderingContextBase_vertexAttribIPointer(this.handle, index, size, type, stride, offset);
681   }
682   void vertexAttribDivisor()(uint index, uint divisor) {
683     WebGL2RenderingContextBase_vertexAttribDivisor(this.handle, index, divisor);
684   }
685   void drawArraysInstanced()(uint mode, int first, int count, int instanceCount) {
686     WebGL2RenderingContextBase_drawArraysInstanced(this.handle, mode, first, count, instanceCount);
687   }
688   void drawElementsInstanced()(uint mode, int count, uint type, int offset, int instanceCount) {
689     WebGL2RenderingContextBase_drawElementsInstanced(this.handle, mode, count, type, offset, instanceCount);
690   }
691   void drawRangeElements()(uint mode, uint start, uint end, int count, uint type, int offset) {
692     WebGL2RenderingContextBase_drawRangeElements(this.handle, mode, start, end, count, type, offset);
693   }
694   void readPixels(T6)(int x, int y, int width, int height, uint format, uint type, scope auto ref Optional!(T6) dstData) if (isTOrPointer!(T6, ArrayBufferView)) {
695     WebGL2RenderingContextBase_readPixels__int_int_int_int_uint_uint_optional_ArrayBufferView(this.handle, x, y, width, height, format, type, !dstData.empty, *dstData.frontRef);
696   }
697   void readPixels()(int x, int y, int width, int height, uint format, uint type, int offset) {
698     WebGL2RenderingContextBase_readPixels__int_int_int_int_uint_uint_int(this.handle, x, y, width, height, format, type, offset);
699   }
700   void readPixels()(int x, int y, int width, int height, uint format, uint type, scope ref ArrayBufferView dstData, uint dstOffset) {
701     WebGL2RenderingContextBase_readPixels__int_int_int_int_uint_uint_ArrayBufferView_uint(this.handle, x, y, width, height, format, type, dstData, dstOffset);
702   }
703   void drawBuffers()(scope ref Sequence!(uint) buffers) {
704     WebGL2RenderingContextBase_drawBuffers(this.handle, buffers.handle);
705   }
706   void clearBufferfv()(uint buffer, int drawbuffer, scope ref Float32List values, uint srcOffset /* = 0 */) {
707     WebGL2RenderingContextBase_clearBufferfv(this.handle, buffer, drawbuffer, values, srcOffset);
708   }
709   void clearBufferfv()(uint buffer, int drawbuffer, scope ref Float32List values) {
710     WebGL2RenderingContextBase_clearBufferfv_0(this.handle, buffer, drawbuffer, values);
711   }
712   void clearBufferiv()(uint buffer, int drawbuffer, scope ref Int32List values, uint srcOffset /* = 0 */) {
713     WebGL2RenderingContextBase_clearBufferiv(this.handle, buffer, drawbuffer, values, srcOffset);
714   }
715   void clearBufferiv()(uint buffer, int drawbuffer, scope ref Int32List values) {
716     WebGL2RenderingContextBase_clearBufferiv_0(this.handle, buffer, drawbuffer, values);
717   }
718   void clearBufferuiv()(uint buffer, int drawbuffer, scope ref Uint32List values, uint srcOffset /* = 0 */) {
719     WebGL2RenderingContextBase_clearBufferuiv(this.handle, buffer, drawbuffer, values, srcOffset);
720   }
721   void clearBufferuiv()(uint buffer, int drawbuffer, scope ref Uint32List values) {
722     WebGL2RenderingContextBase_clearBufferuiv_0(this.handle, buffer, drawbuffer, values);
723   }
724   void clearBufferfi()(uint buffer, int drawbuffer, float depth, int stencil) {
725     WebGL2RenderingContextBase_clearBufferfi(this.handle, buffer, drawbuffer, depth, stencil);
726   }
727   auto createQuery()() {
728     return WebGL2RenderingContextBase_createQuery(this.handle);
729   }
730   void deleteQuery(T0)(scope auto ref Optional!(T0) query) if (isTOrPointer!(T0, WebGLQuery)) {
731     WebGL2RenderingContextBase_deleteQuery(this.handle, !query.empty, query.front._parent);
732   }
733   auto isQuery(T0)(scope auto ref Optional!(T0) query) if (isTOrPointer!(T0, WebGLQuery)) {
734     return WebGL2RenderingContextBase_isQuery(this.handle, !query.empty, query.front._parent);
735   }
736   void beginQuery()(uint target, scope ref WebGLQuery query) {
737     WebGL2RenderingContextBase_beginQuery(this.handle, target, query._parent);
738   }
739   void endQuery()(uint target) {
740     WebGL2RenderingContextBase_endQuery(this.handle, target);
741   }
742   auto getQuery()(uint target, uint pname) {
743     return WebGL2RenderingContextBase_getQuery(this.handle, target, pname);
744   }
745   auto getQueryParameter()(scope ref WebGLQuery query, uint pname) {
746     return Any(WebGL2RenderingContextBase_getQueryParameter(this.handle, query._parent, pname));
747   }
748   auto createSampler()() {
749     return WebGL2RenderingContextBase_createSampler(this.handle);
750   }
751   void deleteSampler(T0)(scope auto ref Optional!(T0) sampler) if (isTOrPointer!(T0, WebGLSampler)) {
752     WebGL2RenderingContextBase_deleteSampler(this.handle, !sampler.empty, sampler.front._parent);
753   }
754   auto isSampler(T0)(scope auto ref Optional!(T0) sampler) if (isTOrPointer!(T0, WebGLSampler)) {
755     return WebGL2RenderingContextBase_isSampler(this.handle, !sampler.empty, sampler.front._parent);
756   }
757   void bindSampler(T1)(uint unit, scope auto ref Optional!(T1) sampler) if (isTOrPointer!(T1, WebGLSampler)) {
758     WebGL2RenderingContextBase_bindSampler(this.handle, unit, !sampler.empty, sampler.front._parent);
759   }
760   void samplerParameteri()(scope ref WebGLSampler sampler, uint pname, int param) {
761     WebGL2RenderingContextBase_samplerParameteri(this.handle, sampler._parent, pname, param);
762   }
763   void samplerParameterf()(scope ref WebGLSampler sampler, uint pname, float param) {
764     WebGL2RenderingContextBase_samplerParameterf(this.handle, sampler._parent, pname, param);
765   }
766   auto getSamplerParameter()(scope ref WebGLSampler sampler, uint pname) {
767     return Any(WebGL2RenderingContextBase_getSamplerParameter(this.handle, sampler._parent, pname));
768   }
769   auto fenceSync()(uint condition, uint flags) {
770     return WebGL2RenderingContextBase_fenceSync(this.handle, condition, flags);
771   }
772   auto isSync(T0)(scope auto ref Optional!(T0) sync) if (isTOrPointer!(T0, WebGLSync)) {
773     return WebGL2RenderingContextBase_isSync(this.handle, !sync.empty, sync.front._parent);
774   }
775   void deleteSync(T0)(scope auto ref Optional!(T0) sync) if (isTOrPointer!(T0, WebGLSync)) {
776     WebGL2RenderingContextBase_deleteSync(this.handle, !sync.empty, sync.front._parent);
777   }
778   auto clientWaitSync()(scope ref WebGLSync sync, uint flags, uint timeout) {
779     return WebGL2RenderingContextBase_clientWaitSync(this.handle, sync._parent, flags, timeout);
780   }
781   void waitSync()(scope ref WebGLSync sync, uint flags, int timeout) {
782     WebGL2RenderingContextBase_waitSync(this.handle, sync._parent, flags, timeout);
783   }
784   auto getSyncParameter()(scope ref WebGLSync sync, uint pname) {
785     return Any(WebGL2RenderingContextBase_getSyncParameter(this.handle, sync._parent, pname));
786   }
787   auto createTransformFeedback()() {
788     return WebGL2RenderingContextBase_createTransformFeedback(this.handle);
789   }
790   void deleteTransformFeedback(T0)(scope auto ref Optional!(T0) tf) if (isTOrPointer!(T0, WebGLTransformFeedback)) {
791     WebGL2RenderingContextBase_deleteTransformFeedback(this.handle, !tf.empty, tf.front._parent);
792   }
793   auto isTransformFeedback(T0)(scope auto ref Optional!(T0) tf) if (isTOrPointer!(T0, WebGLTransformFeedback)) {
794     return WebGL2RenderingContextBase_isTransformFeedback(this.handle, !tf.empty, tf.front._parent);
795   }
796   void bindTransformFeedback(T1)(uint target, scope auto ref Optional!(T1) tf) if (isTOrPointer!(T1, WebGLTransformFeedback)) {
797     WebGL2RenderingContextBase_bindTransformFeedback(this.handle, target, !tf.empty, tf.front._parent);
798   }
799   void beginTransformFeedback()(uint primitiveMode) {
800     WebGL2RenderingContextBase_beginTransformFeedback(this.handle, primitiveMode);
801   }
802   void endTransformFeedback()() {
803     WebGL2RenderingContextBase_endTransformFeedback(this.handle);
804   }
805   void transformFeedbackVaryings()(scope ref WebGLProgram program, scope ref Sequence!(string) varyings, uint bufferMode) {
806     WebGL2RenderingContextBase_transformFeedbackVaryings(this.handle, program._parent, varyings.handle, bufferMode);
807   }
808   auto getTransformFeedbackVarying()(scope ref WebGLProgram program, uint index) {
809     return WebGL2RenderingContextBase_getTransformFeedbackVarying(this.handle, program._parent, index);
810   }
811   void pauseTransformFeedback()() {
812     WebGL2RenderingContextBase_pauseTransformFeedback(this.handle);
813   }
814   void resumeTransformFeedback()() {
815     WebGL2RenderingContextBase_resumeTransformFeedback(this.handle);
816   }
817   void bindBufferBase(T2)(uint target, uint index, scope auto ref Optional!(T2) buffer) if (isTOrPointer!(T2, WebGLBuffer)) {
818     WebGL2RenderingContextBase_bindBufferBase(this.handle, target, index, !buffer.empty, buffer.front._parent);
819   }
820   void bindBufferRange(T2)(uint target, uint index, scope auto ref Optional!(T2) buffer, int offset, int size) if (isTOrPointer!(T2, WebGLBuffer)) {
821     WebGL2RenderingContextBase_bindBufferRange(this.handle, target, index, !buffer.empty, buffer.front._parent, offset, size);
822   }
823   auto getIndexedParameter()(uint target, uint index) {
824     return Any(WebGL2RenderingContextBase_getIndexedParameter(this.handle, target, index));
825   }
826   auto getUniformIndices()(scope ref WebGLProgram program, scope ref Sequence!(string) uniformNames) {
827     return WebGL2RenderingContextBase_getUniformIndices(this.handle, program._parent, uniformNames.handle);
828   }
829   auto getActiveUniforms()(scope ref WebGLProgram program, scope ref Sequence!(uint) uniformIndices, uint pname) {
830     return Any(WebGL2RenderingContextBase_getActiveUniforms(this.handle, program._parent, uniformIndices.handle, pname));
831   }
832   auto getUniformBlockIndex()(scope ref WebGLProgram program, string uniformBlockName) {
833     return WebGL2RenderingContextBase_getUniformBlockIndex(this.handle, program._parent, uniformBlockName);
834   }
835   auto getActiveUniformBlockParameter()(scope ref WebGLProgram program, uint uniformBlockIndex, uint pname) {
836     return Any(WebGL2RenderingContextBase_getActiveUniformBlockParameter(this.handle, program._parent, uniformBlockIndex, pname));
837   }
838   auto getActiveUniformBlockName()(scope ref WebGLProgram program, uint uniformBlockIndex) {
839     return WebGL2RenderingContextBase_getActiveUniformBlockName(this.handle, program._parent, uniformBlockIndex);
840   }
841   void uniformBlockBinding()(scope ref WebGLProgram program, uint uniformBlockIndex, uint uniformBlockBinding) {
842     WebGL2RenderingContextBase_uniformBlockBinding(this.handle, program._parent, uniformBlockIndex, uniformBlockBinding);
843   }
844   auto createVertexArray()() {
845     return WebGL2RenderingContextBase_createVertexArray(this.handle);
846   }
847   void deleteVertexArray(T0)(scope auto ref Optional!(T0) vertexArray) if (isTOrPointer!(T0, WebGLVertexArrayObject)) {
848     WebGL2RenderingContextBase_deleteVertexArray(this.handle, !vertexArray.empty, vertexArray.front._parent);
849   }
850   auto isVertexArray(T0)(scope auto ref Optional!(T0) vertexArray) if (isTOrPointer!(T0, WebGLVertexArrayObject)) {
851     return WebGL2RenderingContextBase_isVertexArray(this.handle, !vertexArray.empty, vertexArray.front._parent);
852   }
853   void bindVertexArray(T0)(scope auto ref Optional!(T0) array) if (isTOrPointer!(T0, WebGLVertexArrayObject)) {
854     WebGL2RenderingContextBase_bindVertexArray(this.handle, !array.empty, array.front._parent);
855   }
856 }
857 struct WebGLQuery {
858   nothrow:
859   spasm.bindings.webgl.WebGLObject _parent;
860   alias _parent this;
861   this(Handle h) {
862     _parent = .WebGLObject(h);
863   }
864 }
865 struct WebGLSampler {
866   nothrow:
867   spasm.bindings.webgl.WebGLObject _parent;
868   alias _parent this;
869   this(Handle h) {
870     _parent = .WebGLObject(h);
871   }
872 }
873 struct WebGLSync {
874   nothrow:
875   spasm.bindings.webgl.WebGLObject _parent;
876   alias _parent this;
877   this(Handle h) {
878     _parent = .WebGLObject(h);
879   }
880 }
881 struct WebGLTransformFeedback {
882   nothrow:
883   spasm.bindings.webgl.WebGLObject _parent;
884   alias _parent this;
885   this(Handle h) {
886     _parent = .WebGLObject(h);
887   }
888 }
889 struct WebGLVertexArrayObject {
890   nothrow:
891   spasm.bindings.webgl.WebGLObject _parent;
892   alias _parent this;
893   this(Handle h) {
894     _parent = .WebGLObject(h);
895   }
896 }
897 
898 
899 extern (C) void WebGL2RenderingContextBase_bufferData__uint_int_uint(Handle, uint, int, uint);
900 extern (C) void WebGL2RenderingContextBase_bufferData__uint_optional_Handle_uint(Handle, uint, bool, Handle, uint);
901 extern (C) void WebGL2RenderingContextBase_bufferData__uint_ArrayBufferView_uint(Handle, uint, scope ref ArrayBufferView, uint);
902 extern (C) void WebGL2RenderingContextBase_bufferSubData__uint_int_BufferDataSource(Handle, uint, int, scope ref BufferDataSource);
903 extern (C) void WebGL2RenderingContextBase_bufferData__uint_ArrayBufferView_uint_uint_uint(Handle, uint, scope ref ArrayBufferView, uint, uint, uint);
904 extern (C) void WebGL2RenderingContextBase_bufferData_0(Handle, uint, scope ref ArrayBufferView, uint, uint);
905 extern (C) void WebGL2RenderingContextBase_bufferSubData__uint_int_ArrayBufferView_uint_uint(Handle, uint, int, scope ref ArrayBufferView, uint, uint);
906 extern (C) void WebGL2RenderingContextBase_bufferSubData_0(Handle, uint, int, scope ref ArrayBufferView, uint);
907 extern (C) void WebGL2RenderingContextBase_copyBufferSubData(Handle, uint, uint, int, int, int);
908 extern (C) void WebGL2RenderingContextBase_getBufferSubData(Handle, uint, int, scope ref ArrayBufferView, uint, uint);
909 extern (C) void WebGL2RenderingContextBase_getBufferSubData_0(Handle, uint, int, scope ref ArrayBufferView, uint);
910 extern (C) void WebGL2RenderingContextBase_getBufferSubData_1(Handle, uint, int, scope ref ArrayBufferView);
911 extern (C) void WebGL2RenderingContextBase_blitFramebuffer(Handle, int, int, int, int, int, int, int, int, uint, uint);
912 extern (C) void WebGL2RenderingContextBase_framebufferTextureLayer(Handle, uint, uint, bool, Handle, int, int);
913 extern (C) void WebGL2RenderingContextBase_invalidateFramebuffer(Handle, uint, Handle);
914 extern (C) void WebGL2RenderingContextBase_invalidateSubFramebuffer(Handle, uint, Handle, int, int, int, int);
915 extern (C) void WebGL2RenderingContextBase_readBuffer(Handle, uint);
916 extern (C) Handle WebGL2RenderingContextBase_getInternalformatParameter(Handle, uint, uint, uint);
917 extern (C) void WebGL2RenderingContextBase_renderbufferStorageMultisample(Handle, uint, int, uint, int, int);
918 extern (C) void WebGL2RenderingContextBase_texStorage2D(Handle, uint, int, uint, int, int);
919 extern (C) void WebGL2RenderingContextBase_texStorage3D(Handle, uint, int, uint, int, int, int);
920 extern (C) void WebGL2RenderingContextBase_texImage2D__uint_int_int_int_int_int_uint_uint_optional_ArrayBufferView(Handle, uint, int, int, int, int, int, uint, uint, bool, scope ref ArrayBufferView);
921 extern (C) void WebGL2RenderingContextBase_texImage2D__uint_int_int_uint_uint_TexImageSource(Handle, uint, int, int, uint, uint, scope ref TexImageSource);
922 extern (C) void WebGL2RenderingContextBase_texSubImage2D__uint_int_int_int_int_int_uint_uint_optional_ArrayBufferView(Handle, uint, int, int, int, int, int, uint, uint, bool, scope ref ArrayBufferView);
923 extern (C) void WebGL2RenderingContextBase_texSubImage2D__uint_int_int_int_uint_uint_TexImageSource(Handle, uint, int, int, int, uint, uint, scope ref TexImageSource);
924 extern (C) void WebGL2RenderingContextBase_texImage2D__uint_int_int_int_int_int_uint_uint_int(Handle, uint, int, int, int, int, int, uint, uint, int);
925 extern (C) void WebGL2RenderingContextBase_texImage2D__uint_int_int_int_int_int_uint_uint_TexImageSource(Handle, uint, int, int, int, int, int, uint, uint, scope ref TexImageSource);
926 extern (C) void WebGL2RenderingContextBase_texImage2D__uint_int_int_int_int_int_uint_uint_ArrayBufferView_uint(Handle, uint, int, int, int, int, int, uint, uint, scope ref ArrayBufferView, uint);
927 extern (C) void WebGL2RenderingContextBase_texImage3D__uint_int_int_int_int_int_int_uint_uint_int(Handle, uint, int, int, int, int, int, int, uint, uint, int);
928 extern (C) void WebGL2RenderingContextBase_texImage3D__uint_int_int_int_int_int_int_uint_uint_TexImageSource(Handle, uint, int, int, int, int, int, int, uint, uint, scope ref TexImageSource);
929 extern (C) void WebGL2RenderingContextBase_texImage3D__uint_int_int_int_int_int_int_uint_uint_optional_ArrayBufferView(Handle, uint, int, int, int, int, int, int, uint, uint, bool, scope ref ArrayBufferView);
930 extern (C) void WebGL2RenderingContextBase_texImage3D__uint_int_int_int_int_int_int_uint_uint_ArrayBufferView_uint(Handle, uint, int, int, int, int, int, int, uint, uint, scope ref ArrayBufferView, uint);
931 extern (C) void WebGL2RenderingContextBase_texSubImage2D__uint_int_int_int_int_int_uint_uint_int(Handle, uint, int, int, int, int, int, uint, uint, int);
932 extern (C) void WebGL2RenderingContextBase_texSubImage2D__uint_int_int_int_int_int_uint_uint_TexImageSource(Handle, uint, int, int, int, int, int, uint, uint, scope ref TexImageSource);
933 extern (C) void WebGL2RenderingContextBase_texSubImage2D__uint_int_int_int_int_int_uint_uint_ArrayBufferView_uint(Handle, uint, int, int, int, int, int, uint, uint, scope ref ArrayBufferView, uint);
934 extern (C) void WebGL2RenderingContextBase_texSubImage3D__uint_int_int_int_int_int_int_int_uint_uint_int(Handle, uint, int, int, int, int, int, int, int, uint, uint, int);
935 extern (C) void WebGL2RenderingContextBase_texSubImage3D__uint_int_int_int_int_int_int_int_uint_uint_TexImageSource(Handle, uint, int, int, int, int, int, int, int, uint, uint, scope ref TexImageSource);
936 extern (C) void WebGL2RenderingContextBase_texSubImage3D__uint_int_int_int_int_int_int_int_uint_uint_optional_ArrayBufferView_uint(Handle, uint, int, int, int, int, int, int, int, uint, uint, bool, scope ref ArrayBufferView, uint);
937 extern (C) void WebGL2RenderingContextBase_texSubImage3D_0(Handle, uint, int, int, int, int, int, int, int, uint, uint, bool, scope ref ArrayBufferView);
938 extern (C) void WebGL2RenderingContextBase_copyTexSubImage3D(Handle, uint, int, int, int, int, int, int, int, int);
939 extern (C) void WebGL2RenderingContextBase_compressedTexImage2D__uint_int_uint_int_int_int_int(Handle, uint, int, uint, int, int, int, int);
940 extern (C) void WebGL2RenderingContextBase_compressedTexImage2D__uint_int_uint_int_int_int_ArrayBufferView_uint_uint(Handle, uint, int, uint, int, int, int, scope ref ArrayBufferView, uint, uint);
941 extern (C) void WebGL2RenderingContextBase_compressedTexImage2D_0(Handle, uint, int, uint, int, int, int, scope ref ArrayBufferView, uint);
942 extern (C) void WebGL2RenderingContextBase_compressedTexImage2D_1(Handle, uint, int, uint, int, int, int, scope ref ArrayBufferView);
943 extern (C) void WebGL2RenderingContextBase_compressedTexImage3D__uint_int_uint_int_int_int_int_int(Handle, uint, int, uint, int, int, int, int, int);
944 extern (C) void WebGL2RenderingContextBase_compressedTexImage3D__uint_int_uint_int_int_int_int_ArrayBufferView_uint_uint(Handle, uint, int, uint, int, int, int, int, scope ref ArrayBufferView, uint, uint);
945 extern (C) void WebGL2RenderingContextBase_compressedTexImage3D_0(Handle, uint, int, uint, int, int, int, int, scope ref ArrayBufferView, uint);
946 extern (C) void WebGL2RenderingContextBase_compressedTexImage3D_1(Handle, uint, int, uint, int, int, int, int, scope ref ArrayBufferView);
947 extern (C) void WebGL2RenderingContextBase_compressedTexSubImage2D__uint_int_int_int_int_int_uint_int(Handle, uint, int, int, int, int, int, uint, int);
948 extern (C) void WebGL2RenderingContextBase_compressedTexSubImage2D__uint_int_int_int_int_int_uint_ArrayBufferView_uint_uint(Handle, uint, int, int, int, int, int, uint, scope ref ArrayBufferView, uint, uint);
949 extern (C) void WebGL2RenderingContextBase_compressedTexSubImage2D_0(Handle, uint, int, int, int, int, int, uint, scope ref ArrayBufferView, uint);
950 extern (C) void WebGL2RenderingContextBase_compressedTexSubImage2D_1(Handle, uint, int, int, int, int, int, uint, scope ref ArrayBufferView);
951 extern (C) void WebGL2RenderingContextBase_compressedTexSubImage3D__uint_int_int_int_int_int_int_int_uint_int(Handle, uint, int, int, int, int, int, int, int, uint, int);
952 extern (C) void WebGL2RenderingContextBase_compressedTexSubImage3D__uint_int_int_int_int_int_int_int_uint_ArrayBufferView_uint_uint(Handle, uint, int, int, int, int, int, int, int, uint, scope ref ArrayBufferView, uint, uint);
953 extern (C) void WebGL2RenderingContextBase_compressedTexSubImage3D_0(Handle, uint, int, int, int, int, int, int, int, uint, scope ref ArrayBufferView, uint);
954 extern (C) void WebGL2RenderingContextBase_compressedTexSubImage3D_1(Handle, uint, int, int, int, int, int, int, int, uint, scope ref ArrayBufferView);
955 extern (C) int WebGL2RenderingContextBase_getFragDataLocation(Handle, Handle, string);
956 extern (C) void WebGL2RenderingContextBase_uniform1ui(Handle, bool, Handle, uint);
957 extern (C) void WebGL2RenderingContextBase_uniform2ui(Handle, bool, Handle, uint, uint);
958 extern (C) void WebGL2RenderingContextBase_uniform3ui(Handle, bool, Handle, uint, uint, uint);
959 extern (C) void WebGL2RenderingContextBase_uniform4ui(Handle, bool, Handle, uint, uint, uint, uint);
960 extern (C) void WebGL2RenderingContextBase_uniform1fv(Handle, bool, Handle, scope ref Float32List, uint, uint);
961 extern (C) void WebGL2RenderingContextBase_uniform1fv_0(Handle, bool, Handle, scope ref Float32List, uint);
962 extern (C) void WebGL2RenderingContextBase_uniform1fv_1(Handle, bool, Handle, scope ref Float32List);
963 extern (C) void WebGL2RenderingContextBase_uniform2fv(Handle, bool, Handle, scope ref Float32List, uint, uint);
964 extern (C) void WebGL2RenderingContextBase_uniform2fv_0(Handle, bool, Handle, scope ref Float32List, uint);
965 extern (C) void WebGL2RenderingContextBase_uniform2fv_1(Handle, bool, Handle, scope ref Float32List);
966 extern (C) void WebGL2RenderingContextBase_uniform3fv(Handle, bool, Handle, scope ref Float32List, uint, uint);
967 extern (C) void WebGL2RenderingContextBase_uniform3fv_0(Handle, bool, Handle, scope ref Float32List, uint);
968 extern (C) void WebGL2RenderingContextBase_uniform3fv_1(Handle, bool, Handle, scope ref Float32List);
969 extern (C) void WebGL2RenderingContextBase_uniform4fv(Handle, bool, Handle, scope ref Float32List, uint, uint);
970 extern (C) void WebGL2RenderingContextBase_uniform4fv_0(Handle, bool, Handle, scope ref Float32List, uint);
971 extern (C) void WebGL2RenderingContextBase_uniform4fv_1(Handle, bool, Handle, scope ref Float32List);
972 extern (C) void WebGL2RenderingContextBase_uniform1iv(Handle, bool, Handle, scope ref Int32List, uint, uint);
973 extern (C) void WebGL2RenderingContextBase_uniform1iv_0(Handle, bool, Handle, scope ref Int32List, uint);
974 extern (C) void WebGL2RenderingContextBase_uniform1iv_1(Handle, bool, Handle, scope ref Int32List);
975 extern (C) void WebGL2RenderingContextBase_uniform2iv(Handle, bool, Handle, scope ref Int32List, uint, uint);
976 extern (C) void WebGL2RenderingContextBase_uniform2iv_0(Handle, bool, Handle, scope ref Int32List, uint);
977 extern (C) void WebGL2RenderingContextBase_uniform2iv_1(Handle, bool, Handle, scope ref Int32List);
978 extern (C) void WebGL2RenderingContextBase_uniform3iv(Handle, bool, Handle, scope ref Int32List, uint, uint);
979 extern (C) void WebGL2RenderingContextBase_uniform3iv_0(Handle, bool, Handle, scope ref Int32List, uint);
980 extern (C) void WebGL2RenderingContextBase_uniform3iv_1(Handle, bool, Handle, scope ref Int32List);
981 extern (C) void WebGL2RenderingContextBase_uniform4iv(Handle, bool, Handle, scope ref Int32List, uint, uint);
982 extern (C) void WebGL2RenderingContextBase_uniform4iv_0(Handle, bool, Handle, scope ref Int32List, uint);
983 extern (C) void WebGL2RenderingContextBase_uniform4iv_1(Handle, bool, Handle, scope ref Int32List);
984 extern (C) void WebGL2RenderingContextBase_uniform1uiv(Handle, bool, Handle, scope ref Uint32List, uint, uint);
985 extern (C) void WebGL2RenderingContextBase_uniform1uiv_0(Handle, bool, Handle, scope ref Uint32List, uint);
986 extern (C) void WebGL2RenderingContextBase_uniform1uiv_1(Handle, bool, Handle, scope ref Uint32List);
987 extern (C) void WebGL2RenderingContextBase_uniform2uiv(Handle, bool, Handle, scope ref Uint32List, uint, uint);
988 extern (C) void WebGL2RenderingContextBase_uniform2uiv_0(Handle, bool, Handle, scope ref Uint32List, uint);
989 extern (C) void WebGL2RenderingContextBase_uniform2uiv_1(Handle, bool, Handle, scope ref Uint32List);
990 extern (C) void WebGL2RenderingContextBase_uniform3uiv(Handle, bool, Handle, scope ref Uint32List, uint, uint);
991 extern (C) void WebGL2RenderingContextBase_uniform3uiv_0(Handle, bool, Handle, scope ref Uint32List, uint);
992 extern (C) void WebGL2RenderingContextBase_uniform3uiv_1(Handle, bool, Handle, scope ref Uint32List);
993 extern (C) void WebGL2RenderingContextBase_uniform4uiv(Handle, bool, Handle, scope ref Uint32List, uint, uint);
994 extern (C) void WebGL2RenderingContextBase_uniform4uiv_0(Handle, bool, Handle, scope ref Uint32List, uint);
995 extern (C) void WebGL2RenderingContextBase_uniform4uiv_1(Handle, bool, Handle, scope ref Uint32List);
996 extern (C) void WebGL2RenderingContextBase_uniformMatrix2fv(Handle, bool, Handle, bool, scope ref Float32List, uint, uint);
997 extern (C) void WebGL2RenderingContextBase_uniformMatrix2fv_0(Handle, bool, Handle, bool, scope ref Float32List, uint);
998 extern (C) void WebGL2RenderingContextBase_uniformMatrix2fv_1(Handle, bool, Handle, bool, scope ref Float32List);
999 extern (C) void WebGL2RenderingContextBase_uniformMatrix3x2fv(Handle, bool, Handle, bool, scope ref Float32List, uint, uint);
1000 extern (C) void WebGL2RenderingContextBase_uniformMatrix3x2fv_0(Handle, bool, Handle, bool, scope ref Float32List, uint);
1001 extern (C) void WebGL2RenderingContextBase_uniformMatrix3x2fv_1(Handle, bool, Handle, bool, scope ref Float32List);
1002 extern (C) void WebGL2RenderingContextBase_uniformMatrix4x2fv(Handle, bool, Handle, bool, scope ref Float32List, uint, uint);
1003 extern (C) void WebGL2RenderingContextBase_uniformMatrix4x2fv_0(Handle, bool, Handle, bool, scope ref Float32List, uint);
1004 extern (C) void WebGL2RenderingContextBase_uniformMatrix4x2fv_1(Handle, bool, Handle, bool, scope ref Float32List);
1005 extern (C) void WebGL2RenderingContextBase_uniformMatrix2x3fv(Handle, bool, Handle, bool, scope ref Float32List, uint, uint);
1006 extern (C) void WebGL2RenderingContextBase_uniformMatrix2x3fv_0(Handle, bool, Handle, bool, scope ref Float32List, uint);
1007 extern (C) void WebGL2RenderingContextBase_uniformMatrix2x3fv_1(Handle, bool, Handle, bool, scope ref Float32List);
1008 extern (C) void WebGL2RenderingContextBase_uniformMatrix3fv(Handle, bool, Handle, bool, scope ref Float32List, uint, uint);
1009 extern (C) void WebGL2RenderingContextBase_uniformMatrix3fv_0(Handle, bool, Handle, bool, scope ref Float32List, uint);
1010 extern (C) void WebGL2RenderingContextBase_uniformMatrix3fv_1(Handle, bool, Handle, bool, scope ref Float32List);
1011 extern (C) void WebGL2RenderingContextBase_uniformMatrix4x3fv(Handle, bool, Handle, bool, scope ref Float32List, uint, uint);
1012 extern (C) void WebGL2RenderingContextBase_uniformMatrix4x3fv_0(Handle, bool, Handle, bool, scope ref Float32List, uint);
1013 extern (C) void WebGL2RenderingContextBase_uniformMatrix4x3fv_1(Handle, bool, Handle, bool, scope ref Float32List);
1014 extern (C) void WebGL2RenderingContextBase_uniformMatrix2x4fv(Handle, bool, Handle, bool, scope ref Float32List, uint, uint);
1015 extern (C) void WebGL2RenderingContextBase_uniformMatrix2x4fv_0(Handle, bool, Handle, bool, scope ref Float32List, uint);
1016 extern (C) void WebGL2RenderingContextBase_uniformMatrix2x4fv_1(Handle, bool, Handle, bool, scope ref Float32List);
1017 extern (C) void WebGL2RenderingContextBase_uniformMatrix3x4fv(Handle, bool, Handle, bool, scope ref Float32List, uint, uint);
1018 extern (C) void WebGL2RenderingContextBase_uniformMatrix3x4fv_0(Handle, bool, Handle, bool, scope ref Float32List, uint);
1019 extern (C) void WebGL2RenderingContextBase_uniformMatrix3x4fv_1(Handle, bool, Handle, bool, scope ref Float32List);
1020 extern (C) void WebGL2RenderingContextBase_uniformMatrix4fv(Handle, bool, Handle, bool, scope ref Float32List, uint, uint);
1021 extern (C) void WebGL2RenderingContextBase_uniformMatrix4fv_0(Handle, bool, Handle, bool, scope ref Float32List, uint);
1022 extern (C) void WebGL2RenderingContextBase_uniformMatrix4fv_1(Handle, bool, Handle, bool, scope ref Float32List);
1023 extern (C) void WebGL2RenderingContextBase_vertexAttribI4i(Handle, uint, int, int, int, int);
1024 extern (C) void WebGL2RenderingContextBase_vertexAttribI4iv(Handle, uint, scope ref Int32List);
1025 extern (C) void WebGL2RenderingContextBase_vertexAttribI4ui(Handle, uint, uint, uint, uint, uint);
1026 extern (C) void WebGL2RenderingContextBase_vertexAttribI4uiv(Handle, uint, scope ref Uint32List);
1027 extern (C) void WebGL2RenderingContextBase_vertexAttribIPointer(Handle, uint, int, uint, int, int);
1028 extern (C) void WebGL2RenderingContextBase_vertexAttribDivisor(Handle, uint, uint);
1029 extern (C) void WebGL2RenderingContextBase_drawArraysInstanced(Handle, uint, int, int, int);
1030 extern (C) void WebGL2RenderingContextBase_drawElementsInstanced(Handle, uint, int, uint, int, int);
1031 extern (C) void WebGL2RenderingContextBase_drawRangeElements(Handle, uint, uint, uint, int, uint, int);
1032 extern (C) void WebGL2RenderingContextBase_readPixels__int_int_int_int_uint_uint_optional_ArrayBufferView(Handle, int, int, int, int, uint, uint, bool, scope ref ArrayBufferView);
1033 extern (C) void WebGL2RenderingContextBase_readPixels__int_int_int_int_uint_uint_int(Handle, int, int, int, int, uint, uint, int);
1034 extern (C) void WebGL2RenderingContextBase_readPixels__int_int_int_int_uint_uint_ArrayBufferView_uint(Handle, int, int, int, int, uint, uint, scope ref ArrayBufferView, uint);
1035 extern (C) void WebGL2RenderingContextBase_drawBuffers(Handle, Handle);
1036 extern (C) void WebGL2RenderingContextBase_clearBufferfv(Handle, uint, int, scope ref Float32List, uint);
1037 extern (C) void WebGL2RenderingContextBase_clearBufferfv_0(Handle, uint, int, scope ref Float32List);
1038 extern (C) void WebGL2RenderingContextBase_clearBufferiv(Handle, uint, int, scope ref Int32List, uint);
1039 extern (C) void WebGL2RenderingContextBase_clearBufferiv_0(Handle, uint, int, scope ref Int32List);
1040 extern (C) void WebGL2RenderingContextBase_clearBufferuiv(Handle, uint, int, scope ref Uint32List, uint);
1041 extern (C) void WebGL2RenderingContextBase_clearBufferuiv_0(Handle, uint, int, scope ref Uint32List);
1042 extern (C) void WebGL2RenderingContextBase_clearBufferfi(Handle, uint, int, float, int);
1043 extern (C) Optional!(WebGLQuery) WebGL2RenderingContextBase_createQuery(Handle);
1044 extern (C) void WebGL2RenderingContextBase_deleteQuery(Handle, bool, Handle);
1045 extern (C) bool WebGL2RenderingContextBase_isQuery(Handle, bool, Handle);
1046 extern (C) void WebGL2RenderingContextBase_beginQuery(Handle, uint, Handle);
1047 extern (C) void WebGL2RenderingContextBase_endQuery(Handle, uint);
1048 extern (C) Optional!(WebGLQuery) WebGL2RenderingContextBase_getQuery(Handle, uint, uint);
1049 extern (C) Handle WebGL2RenderingContextBase_getQueryParameter(Handle, Handle, uint);
1050 extern (C) Optional!(WebGLSampler) WebGL2RenderingContextBase_createSampler(Handle);
1051 extern (C) void WebGL2RenderingContextBase_deleteSampler(Handle, bool, Handle);
1052 extern (C) bool WebGL2RenderingContextBase_isSampler(Handle, bool, Handle);
1053 extern (C) void WebGL2RenderingContextBase_bindSampler(Handle, uint, bool, Handle);
1054 extern (C) void WebGL2RenderingContextBase_samplerParameteri(Handle, Handle, uint, int);
1055 extern (C) void WebGL2RenderingContextBase_samplerParameterf(Handle, Handle, uint, float);
1056 extern (C) Handle WebGL2RenderingContextBase_getSamplerParameter(Handle, Handle, uint);
1057 extern (C) Optional!(WebGLSync) WebGL2RenderingContextBase_fenceSync(Handle, uint, uint);
1058 extern (C) bool WebGL2RenderingContextBase_isSync(Handle, bool, Handle);
1059 extern (C) void WebGL2RenderingContextBase_deleteSync(Handle, bool, Handle);
1060 extern (C) uint WebGL2RenderingContextBase_clientWaitSync(Handle, Handle, uint, uint);
1061 extern (C) void WebGL2RenderingContextBase_waitSync(Handle, Handle, uint, int);
1062 extern (C) Handle WebGL2RenderingContextBase_getSyncParameter(Handle, Handle, uint);
1063 extern (C) Optional!(WebGLTransformFeedback) WebGL2RenderingContextBase_createTransformFeedback(Handle);
1064 extern (C) void WebGL2RenderingContextBase_deleteTransformFeedback(Handle, bool, Handle);
1065 extern (C) bool WebGL2RenderingContextBase_isTransformFeedback(Handle, bool, Handle);
1066 extern (C) void WebGL2RenderingContextBase_bindTransformFeedback(Handle, uint, bool, Handle);
1067 extern (C) void WebGL2RenderingContextBase_beginTransformFeedback(Handle, uint);
1068 extern (C) void WebGL2RenderingContextBase_endTransformFeedback(Handle);
1069 extern (C) void WebGL2RenderingContextBase_transformFeedbackVaryings(Handle, Handle, Handle, uint);
1070 extern (C) Optional!(WebGLActiveInfo) WebGL2RenderingContextBase_getTransformFeedbackVarying(Handle, Handle, uint);
1071 extern (C) void WebGL2RenderingContextBase_pauseTransformFeedback(Handle);
1072 extern (C) void WebGL2RenderingContextBase_resumeTransformFeedback(Handle);
1073 extern (C) void WebGL2RenderingContextBase_bindBufferBase(Handle, uint, uint, bool, Handle);
1074 extern (C) void WebGL2RenderingContextBase_bindBufferRange(Handle, uint, uint, bool, Handle, int, int);
1075 extern (C) Handle WebGL2RenderingContextBase_getIndexedParameter(Handle, uint, uint);
1076 extern (C) Optional!(Sequence!(uint)) WebGL2RenderingContextBase_getUniformIndices(Handle, Handle, Handle);
1077 extern (C) Handle WebGL2RenderingContextBase_getActiveUniforms(Handle, Handle, Handle, uint);
1078 extern (C) uint WebGL2RenderingContextBase_getUniformBlockIndex(Handle, Handle, string);
1079 extern (C) Handle WebGL2RenderingContextBase_getActiveUniformBlockParameter(Handle, Handle, uint, uint);
1080 extern (C) Optional!(string) WebGL2RenderingContextBase_getActiveUniformBlockName(Handle, Handle, uint);
1081 extern (C) void WebGL2RenderingContextBase_uniformBlockBinding(Handle, Handle, uint, uint);
1082 extern (C) Optional!(WebGLVertexArrayObject) WebGL2RenderingContextBase_createVertexArray(Handle);
1083 extern (C) void WebGL2RenderingContextBase_deleteVertexArray(Handle, bool, Handle);
1084 extern (C) bool WebGL2RenderingContextBase_isVertexArray(Handle, bool, Handle);
1085 extern (C) void WebGL2RenderingContextBase_bindVertexArray(Handle, bool, Handle);