From b02c0e871255e41e52f8fc9b371157c0b5a661c5 Mon Sep 17 00:00:00 2001 From: "Jeff Gilbert (:jgilbert)" Date: Tue, 1 Nov 2016 14:47:35 -0700 Subject: [PATCH] Bug 1318507 - Minimize WebGL idl divergence. - r=qdot MozReview-Commit-ID: C8ap7ZHZSv9 --- dom/webidl/WebGL2RenderingContext.webidl | 95 ++++++++++++------------ dom/webidl/WebGLRenderingContext.webidl | 80 ++++++++++---------- 2 files changed, 85 insertions(+), 90 deletions(-) diff --git a/dom/webidl/WebGL2RenderingContext.webidl b/dom/webidl/WebGL2RenderingContext.webidl index 16db535f2c81..266a150e402a 100644 --- a/dom/webidl/WebGL2RenderingContext.webidl +++ b/dom/webidl/WebGL2RenderingContext.webidl @@ -282,26 +282,13 @@ interface WebGL2RenderingContext : WebGLRenderingContext const GLenum ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A; const GLenum SAMPLER_BINDING = 0x8919; const GLenum RGB10_A2UI = 0x906F; - const GLenum GREEN = 0x1904; - const GLenum BLUE = 0x1905; const GLenum INT_2_10_10_10_REV = 0x8D9F; const GLenum TRANSFORM_FEEDBACK = 0x8E22; const GLenum TRANSFORM_FEEDBACK_PAUSED = 0x8E23; const GLenum TRANSFORM_FEEDBACK_ACTIVE = 0x8E24; const GLenum TRANSFORM_FEEDBACK_BINDING = 0x8E25; - const GLenum COMPRESSED_R11_EAC = 0x9270; - const GLenum COMPRESSED_SIGNED_R11_EAC = 0x9271; - const GLenum COMPRESSED_RG11_EAC = 0x9272; - const GLenum COMPRESSED_SIGNED_RG11_EAC = 0x9273; - const GLenum COMPRESSED_RGB8_ETC2 = 0x9274; - const GLenum COMPRESSED_SRGB8_ETC2 = 0x9275; - const GLenum COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276; - const GLenum COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277; - const GLenum COMPRESSED_RGBA8_ETC2_EAC = 0x9278; - const GLenum COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279; const GLenum TEXTURE_IMMUTABLE_FORMAT = 0x912F; const GLenum MAX_ELEMENT_INDEX = 0x8D6B; - const GLenum NUM_SAMPLE_COUNTS = 0x9380; const GLenum TEXTURE_IMMUTABLE_LEVELS = 0x82DF; const GLint64 TIMEOUT_IGNORED = -1; @@ -312,12 +299,10 @@ interface WebGL2RenderingContext : WebGLRenderingContext /* Buffer objects */ // WebGL1: void bufferData(GLenum target, GLsizeiptr size, GLenum usage); - void bufferData(GLenum target, ArrayBufferView data, GLenum usage); - void bufferData(GLenum target, ArrayBuffer? data, GLenum usage); - void bufferData(GLenum target, SharedArrayBuffer data, GLenum usage); - void bufferSubData(GLenum target, GLintptr offset, ArrayBufferView data); - void bufferSubData(GLenum target, GLintptr offset, ArrayBuffer? data); - void bufferSubData(GLenum target, GLintptr offset, SharedArrayBuffer data); + void bufferData(GLenum target, ArrayBuffer? srcData, GLenum usage); + void bufferData(GLenum target, ArrayBufferView srcData, GLenum usage); + void bufferSubData(GLenum target, GLintptr offset, ArrayBuffer srcData); + void bufferSubData(GLenum target, GLintptr offset, ArrayBufferView srcData); // WebGL2: void bufferData(GLenum target, ArrayBufferView srcData, GLenum usage, GLuint srcOffset, optional GLuint length = 0); @@ -365,18 +350,22 @@ interface WebGL2RenderingContext : WebGLRenderingContext GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, ArrayBufferView? pixels); [Throws] - void texImage2D(GLenum target, GLint level, GLenum internalformat, + void texImage2D(GLenum target, GLint level, GLint internalformat, GLenum format, GLenum type, HTMLCanvasElement source); // May throw DOMException [Throws] - void texImage2D(GLenum target, GLint level, GLenum internalformat, + void texImage2D(GLenum target, GLint level, GLint internalformat, GLenum format, GLenum type, HTMLImageElement source); // May throw DOMException [Throws] - void texImage2D(GLenum target, GLint level, GLenum internalformat, + void texImage2D(GLenum target, GLint level, GLint internalformat, GLenum format, GLenum type, HTMLVideoElement source); // May throw DOMException [Throws] // Another overhead throws. - void texImage2D(GLenum target, GLint level, GLenum internalformat, + void texImage2D(GLenum target, GLint level, GLint internalformat, GLenum format, GLenum type, ImageData source); + [Throws] // Another overhead throws. + void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, + GLsizei width, GLsizei height, + GLenum format, GLenum type, ArrayBufferView? pixels); [Throws] void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLenum format, GLenum type, HTMLCanvasElement source); // May throw DOMException @@ -464,7 +453,7 @@ interface WebGL2RenderingContext : WebGLRenderingContext [Throws] // Another overhead throws. void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, ArrayBufferView srcData, - optional GLuint srcOffset = 0); + GLuint srcOffset); [Throws] // Another overhead throws. void texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, @@ -489,7 +478,7 @@ interface WebGL2RenderingContext : WebGLRenderingContext [Throws] // Another overhead throws. void texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, - ArrayBufferView srcData, optional GLuint srcOffset = 0); + ArrayBufferView? srcData, optional GLuint srcOffset = 0); void copyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); @@ -498,20 +487,21 @@ interface WebGL2RenderingContext : WebGLRenderingContext GLsizei height, GLint border, GLintptr offset); void compressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, ArrayBufferView srcData, - optional GLuint srcOffset = 0, optional GLuint srcLength = 0); + optional GLuint srcOffset = 0, optional GLuint srcLengthOverride = 0); void compressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLintptr offset); void compressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, ArrayBufferView srcData, - optional GLuint srcOffset = 0, optional GLuint srcLength = 0); + optional GLuint srcOffset = 0, optional GLuint srcLengthOverride = 0); void compressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLintptr offset); void compressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, - ArrayBufferView srcData, optional GLuint srcOffset = 0, - optional GLuint srcLength = 0); + ArrayBufferView srcData, + optional GLuint srcOffset = 0, + optional GLuint srcLengthOverride = 0); void compressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, @@ -519,10 +509,11 @@ interface WebGL2RenderingContext : WebGLRenderingContext void compressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, ArrayBufferView srcData, - optional GLuint srcOffset = 0, optional GLuint srcLength = 0); + optional GLuint srcOffset = 0, + optional GLuint srcLengthOverride = 0); /* Programs and shaders */ - [WebGLHandlesContextLoss] GLint getFragDataLocation(WebGLProgram? program, DOMString name); + [WebGLHandlesContextLoss] GLint getFragDataLocation(WebGLProgram program, DOMString name); /* Uniforms */ void uniform1ui(WebGLUniformLocation? location, GLuint v0); @@ -592,12 +583,17 @@ interface WebGL2RenderingContext : WebGLRenderingContext void drawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, GLintptr offset); /* Reading back pixels */ + // WebGL1: + [Throws] // Throws on readback in a write-only context. + void readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, + ArrayBufferView? dstData); + // WebGL2: [Throws] // Throws on readback in a write-only context. void readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLintptr offset); [Throws] // Throws on readback in a write-only context. void readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, - ArrayBufferView dstData, optional GLuint dstOffset = 0); + ArrayBufferView dstData, GLuint dstOffset); /* Multiple Render Targets */ void drawBuffers(sequence buffers); @@ -615,27 +611,27 @@ interface WebGL2RenderingContext : WebGLRenderingContext WebGLQuery? createQuery(); void deleteQuery(WebGLQuery? query); [WebGLHandlesContextLoss] GLboolean isQuery(WebGLQuery? query); - void beginQuery(GLenum target, WebGLQuery? query); + void beginQuery(GLenum target, WebGLQuery query); void endQuery(GLenum target); - any getQuery(GLenum target, GLenum pname); - any getQueryParameter(WebGLQuery? query, GLenum pname); + WebGLQuery? getQuery(GLenum target, GLenum pname); + any getQueryParameter(WebGLQuery query, GLenum pname); /* Sampler Objects */ WebGLSampler? createSampler(); void deleteSampler(WebGLSampler? sampler); [WebGLHandlesContextLoss] GLboolean isSampler(WebGLSampler? sampler); void bindSampler(GLuint unit, WebGLSampler? sampler); - void samplerParameteri(WebGLSampler? sampler, GLenum pname, GLint param); - void samplerParameterf(WebGLSampler? sampler, GLenum pname, GLfloat param); - any getSamplerParameter(WebGLSampler? sampler, GLenum pname); + void samplerParameteri(WebGLSampler sampler, GLenum pname, GLint param); + void samplerParameterf(WebGLSampler sampler, GLenum pname, GLfloat param); + any getSamplerParameter(WebGLSampler sampler, GLenum pname); /* Sync objects */ WebGLSync? fenceSync(GLenum condition, GLbitfield flags); [WebGLHandlesContextLoss] GLboolean isSync(WebGLSync? sync); void deleteSync(WebGLSync? sync); - GLenum clientWaitSync(WebGLSync? sync, GLbitfield flags, GLint64 timeout); - void waitSync(WebGLSync? sync, GLbitfield flags, GLint64 timeout); - any getSyncParameter(WebGLSync? sync, GLenum pname); + GLenum clientWaitSync(WebGLSync sync, GLbitfield flags, GLuint64 timeout); + void waitSync(WebGLSync sync, GLbitfield flags, GLint64 timeout); + any getSyncParameter(WebGLSync sync, GLenum pname); /* Transform Feedback */ WebGLTransformFeedback? createTransformFeedback(); @@ -644,8 +640,9 @@ interface WebGL2RenderingContext : WebGLRenderingContext void bindTransformFeedback(GLenum target, WebGLTransformFeedback? tf); void beginTransformFeedback(GLenum primitiveMode); void endTransformFeedback(); - void transformFeedbackVaryings(WebGLProgram? program, sequence varyings, GLenum bufferMode); - [NewObject] WebGLActiveInfo? getTransformFeedbackVarying(WebGLProgram? program, GLuint index); + void transformFeedbackVaryings(WebGLProgram program, sequence varyings, GLenum bufferMode); + [NewObject] + WebGLActiveInfo? getTransformFeedbackVarying(WebGLProgram program, GLuint index); void pauseTransformFeedback(); void resumeTransformFeedback(); @@ -654,13 +651,13 @@ interface WebGL2RenderingContext : WebGLRenderingContext void bindBufferRange(GLenum target, GLuint index, WebGLBuffer? buffer, GLintptr offset, GLsizeiptr size); [Throws] // GetOrCreateDOMReflector can fail. any getIndexedParameter(GLenum target, GLuint index); - sequence? getUniformIndices(WebGLProgram? program, sequence uniformNames); - any getActiveUniforms(WebGLProgram? program, sequence uniformIndices, GLenum pname); - GLuint getUniformBlockIndex(WebGLProgram? program, DOMString uniformBlockName); + sequence? getUniformIndices(WebGLProgram program, sequence uniformNames); + any getActiveUniforms(WebGLProgram program, sequence uniformIndices, GLenum pname); + GLuint getUniformBlockIndex(WebGLProgram program, DOMString uniformBlockName); [Throws] // Creating a Uint32Array can fail. - any getActiveUniformBlockParameter(WebGLProgram? program, GLuint uniformBlockIndex, GLenum pname); - DOMString? getActiveUniformBlockName(WebGLProgram? program, GLuint uniformBlockIndex); - void uniformBlockBinding(WebGLProgram? program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); + any getActiveUniformBlockParameter(WebGLProgram program, GLuint uniformBlockIndex, GLenum pname); + DOMString? getActiveUniformBlockName(WebGLProgram program, GLuint uniformBlockIndex); + void uniformBlockBinding(WebGLProgram program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); /* Vertex Array Objects */ WebGLVertexArrayObject? createVertexArray(); diff --git a/dom/webidl/WebGLRenderingContext.webidl b/dom/webidl/WebGLRenderingContext.webidl index 5875812e8eda..b3590abb5122 100644 --- a/dom/webidl/WebGLRenderingContext.webidl +++ b/dom/webidl/WebGLRenderingContext.webidl @@ -36,13 +36,13 @@ dictionary WebGLContextAttributes { // boolean alpha = true; // We deviate from the spec here. // If alpha isn't specified, we rely on a pref ("webgl.default-no-alpha") - boolean alpha; - boolean depth = true; - boolean stencil = false; - boolean antialias = true; - boolean premultipliedAlpha = true; - boolean preserveDrawingBuffer = false; - boolean failIfMajorPerformanceCaveat = false; + GLboolean alpha; + GLboolean depth = true; + GLboolean stencil = false; + GLboolean antialias = true; + GLboolean premultipliedAlpha = true; + GLboolean preserveDrawingBuffer = false; + GLboolean failIfMajorPerformanceCaveat = false; }; [Exposed=(Window,Worker), @@ -540,8 +540,8 @@ interface WebGLRenderingContext { object? getExtension(DOMString name); void activeTexture(GLenum texture); - void attachShader(WebGLProgram? program, WebGLShader? shader); - void bindAttribLocation(WebGLProgram? program, GLuint index, DOMString name); + void attachShader(WebGLProgram program, WebGLShader shader); + void bindAttribLocation(WebGLProgram program, GLuint index, DOMString name); void bindBuffer(GLenum target, WebGLBuffer? buffer); void bindFramebuffer(GLenum target, WebGLFramebuffer? framebuffer); void bindRenderbuffer(GLenum target, WebGLRenderbuffer? renderbuffer); @@ -554,12 +554,10 @@ interface WebGLRenderingContext { GLenum srcAlpha, GLenum dstAlpha); void bufferData(GLenum target, GLsizeiptr size, GLenum usage); - void bufferData(GLenum target, ArrayBufferView data, GLenum usage); void bufferData(GLenum target, ArrayBuffer? data, GLenum usage); - void bufferData(GLenum target, SharedArrayBuffer data, GLenum usage); + void bufferData(GLenum target, ArrayBufferView data, GLenum usage); + void bufferSubData(GLenum target, GLintptr offset, ArrayBuffer data); void bufferSubData(GLenum target, GLintptr offset, ArrayBufferView data); - void bufferSubData(GLenum target, GLintptr offset, ArrayBuffer? data); - void bufferSubData(GLenum target, GLintptr offset, SharedArrayBuffer data); [WebGLHandlesContextLoss] GLenum checkFramebufferStatus(GLenum target); void clear(GLbitfield mask); @@ -567,7 +565,7 @@ interface WebGLRenderingContext { void clearDepth(GLclampf depth); void clearStencil(GLint s); void colorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); - void compileShader(WebGLShader? shader); + void compileShader(WebGLShader shader); void compressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, @@ -602,7 +600,7 @@ interface WebGLRenderingContext { void depthFunc(GLenum func); void depthMask(GLboolean flag); void depthRange(GLclampf zNear, GLclampf zFar); - void detachShader(WebGLProgram? program, WebGLShader? shader); + void detachShader(WebGLProgram program, WebGLShader shader); void disable(GLenum cap); void disableVertexAttribArray(GLuint index); void drawArrays(GLenum mode, GLint first, GLsizei count); @@ -622,13 +620,13 @@ interface WebGLRenderingContext { void generateMipmap(GLenum target); [NewObject] - WebGLActiveInfo? getActiveAttrib(WebGLProgram? program, GLuint index); + WebGLActiveInfo? getActiveAttrib(WebGLProgram program, GLuint index); [NewObject] - WebGLActiveInfo? getActiveUniform(WebGLProgram? program, GLuint index); + WebGLActiveInfo? getActiveUniform(WebGLProgram program, GLuint index); - sequence? getAttachedShaders(WebGLProgram? program); + sequence? getAttachedShaders(WebGLProgram program); - [WebGLHandlesContextLoss] GLint getAttribLocation(WebGLProgram? program, DOMString name); + [WebGLHandlesContextLoss] GLint getAttribLocation(WebGLProgram program, DOMString name); any getBufferParameter(GLenum target, GLenum pname); [Throws] @@ -639,29 +637,29 @@ interface WebGLRenderingContext { [Throws] any getFramebufferAttachmentParameter(GLenum target, GLenum attachment, GLenum pname); - any getProgramParameter(WebGLProgram? program, GLenum pname); - DOMString? getProgramInfoLog(WebGLProgram? program); + any getProgramParameter(WebGLProgram program, GLenum pname); + DOMString? getProgramInfoLog(WebGLProgram program); any getRenderbufferParameter(GLenum target, GLenum pname); - any getShaderParameter(WebGLShader? shader, GLenum pname); + any getShaderParameter(WebGLShader shader, GLenum pname); [NewObject] WebGLShaderPrecisionFormat? getShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype); - DOMString? getShaderInfoLog(WebGLShader? shader); + DOMString? getShaderInfoLog(WebGLShader shader); - DOMString? getShaderSource(WebGLShader? shader); + DOMString? getShaderSource(WebGLShader shader); any getTexParameter(GLenum target, GLenum pname); - any getUniform(WebGLProgram? program, WebGLUniformLocation? location); + any getUniform(WebGLProgram program, WebGLUniformLocation location); [NewObject] - WebGLUniformLocation? getUniformLocation(WebGLProgram? program, DOMString name); + WebGLUniformLocation? getUniformLocation(WebGLProgram program, DOMString name); [Throws] any getVertexAttrib(GLuint index, GLenum pname); - [WebGLHandlesContextLoss] GLsizeiptr getVertexAttribOffset(GLuint index, GLenum pname); + [WebGLHandlesContextLoss] GLintptr getVertexAttribOffset(GLuint index, GLenum pname); void hint(GLenum target, GLenum mode); [WebGLHandlesContextLoss] GLboolean isBuffer(WebGLBuffer? buffer); @@ -672,7 +670,7 @@ interface WebGLRenderingContext { [WebGLHandlesContextLoss] GLboolean isShader(WebGLShader? shader); [WebGLHandlesContextLoss] GLboolean isTexture(WebGLTexture? texture); void lineWidth(GLfloat width); - void linkProgram(WebGLProgram? program); + void linkProgram(WebGLProgram program); void pixelStorei(GLenum pname, GLint param); void polygonOffset(GLfloat factor, GLfloat units); @@ -685,7 +683,7 @@ interface WebGLRenderingContext { void sampleCoverage(GLclampf value, GLboolean invert); void scissor(GLint x, GLint y, GLsizei width, GLsizei height); - void shaderSource(WebGLShader? shader, DOMString source); + void shaderSource(WebGLShader shader, DOMString source); void stencilFunc(GLenum func, GLint ref, GLuint mask); void stencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask); @@ -697,20 +695,20 @@ interface WebGLRenderingContext { // Overloads must share [Throws]. [Throws] // Can't actually throw. - void texImage2D(GLenum target, GLint level, GLenum internalformat, + void texImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, ArrayBufferView? pixels); [Throws] // Can't actually throw. - void texImage2D(GLenum target, GLint level, GLenum internalformat, + void texImage2D(GLenum target, GLint level, GLint internalformat, GLenum format, GLenum type, ImageData pixels); [Throws] - void texImage2D(GLenum target, GLint level, GLenum internalformat, + void texImage2D(GLenum target, GLint level, GLint internalformat, GLenum format, GLenum type, HTMLImageElement image); // May throw DOMException [Throws] - void texImage2D(GLenum target, GLint level, GLenum internalformat, + void texImage2D(GLenum target, GLint level, GLint internalformat, GLenum format, GLenum type, HTMLCanvasElement canvas); // May throw DOMException [Throws] - void texImage2D(GLenum target, GLint level, GLenum internalformat, + void texImage2D(GLenum target, GLint level, GLint internalformat, GLenum format, GLenum type, HTMLVideoElement video); // May throw DOMException void texParameterf(GLenum target, GLenum pname, GLfloat param); @@ -718,8 +716,8 @@ interface WebGLRenderingContext { [Throws] // Can't actually throw. void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, - GLsizei width, GLsizei height, GLenum format, GLenum type, - ArrayBufferView pixels); + GLsizei width, GLsizei height, + GLenum format, GLenum type, ArrayBufferView? pixels); [Throws] // Can't actually throw. void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLenum format, GLenum type, ImageData pixels); @@ -758,7 +756,7 @@ interface WebGLRenderingContext { void uniformMatrix4fv(WebGLUniformLocation? location, GLboolean transpose, Float32List data); void useProgram(WebGLProgram? program); - void validateProgram(WebGLProgram? program); + void validateProgram(WebGLProgram program); void vertexAttrib1f(GLuint indx, GLfloat x); void vertexAttrib1fv(GLuint indx, Float32Array values); @@ -846,7 +844,7 @@ interface WEBGL_debug_renderer_info [NoInterfaceObject] interface WEBGL_debug_shaders { - DOMString getTranslatedShaderSource(WebGLShader? shader); + DOMString getTranslatedShaderSource(WebGLShader shader); }; [NoInterfaceObject] @@ -1019,9 +1017,9 @@ interface EXT_disjoint_timer_query { WebGLQuery? createQueryEXT(); void deleteQueryEXT(WebGLQuery? query); [WebGLHandlesContextLoss] boolean isQueryEXT(WebGLQuery? query); - void beginQueryEXT(GLenum target, WebGLQuery? query); + void beginQueryEXT(GLenum target, WebGLQuery query); void endQueryEXT(GLenum target); - void queryCounterEXT(WebGLQuery? query, GLenum target); + void queryCounterEXT(WebGLQuery query, GLenum target); any getQueryEXT(GLenum target, GLenum pname); - any getQueryObjectEXT(WebGLQuery? query, GLenum pname); + any getQueryObjectEXT(WebGLQuery query, GLenum pname); };