Bug 1318507 - Minimize WebGL idl divergence. - r=qdot

MozReview-Commit-ID: C8ap7ZHZSv9
This commit is contained in:
Jeff Gilbert (:jgilbert) 2016-11-01 14:47:35 -07:00
Родитель dfc96df660
Коммит b02c0e8712
2 изменённых файлов: 85 добавлений и 90 удалений

Просмотреть файл

@ -282,26 +282,13 @@ interface WebGL2RenderingContext : WebGLRenderingContext
const GLenum ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A; const GLenum ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A;
const GLenum SAMPLER_BINDING = 0x8919; const GLenum SAMPLER_BINDING = 0x8919;
const GLenum RGB10_A2UI = 0x906F; const GLenum RGB10_A2UI = 0x906F;
const GLenum GREEN = 0x1904;
const GLenum BLUE = 0x1905;
const GLenum INT_2_10_10_10_REV = 0x8D9F; const GLenum INT_2_10_10_10_REV = 0x8D9F;
const GLenum TRANSFORM_FEEDBACK = 0x8E22; const GLenum TRANSFORM_FEEDBACK = 0x8E22;
const GLenum TRANSFORM_FEEDBACK_PAUSED = 0x8E23; const GLenum TRANSFORM_FEEDBACK_PAUSED = 0x8E23;
const GLenum TRANSFORM_FEEDBACK_ACTIVE = 0x8E24; const GLenum TRANSFORM_FEEDBACK_ACTIVE = 0x8E24;
const GLenum TRANSFORM_FEEDBACK_BINDING = 0x8E25; 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 TEXTURE_IMMUTABLE_FORMAT = 0x912F;
const GLenum MAX_ELEMENT_INDEX = 0x8D6B; const GLenum MAX_ELEMENT_INDEX = 0x8D6B;
const GLenum NUM_SAMPLE_COUNTS = 0x9380;
const GLenum TEXTURE_IMMUTABLE_LEVELS = 0x82DF; const GLenum TEXTURE_IMMUTABLE_LEVELS = 0x82DF;
const GLint64 TIMEOUT_IGNORED = -1; const GLint64 TIMEOUT_IGNORED = -1;
@ -312,12 +299,10 @@ interface WebGL2RenderingContext : WebGLRenderingContext
/* Buffer objects */ /* Buffer objects */
// WebGL1: // WebGL1:
void bufferData(GLenum target, GLsizeiptr size, GLenum usage); void bufferData(GLenum target, GLsizeiptr size, GLenum usage);
void bufferData(GLenum target, ArrayBufferView data, GLenum usage); void bufferData(GLenum target, ArrayBuffer? srcData, GLenum usage);
void bufferData(GLenum target, ArrayBuffer? data, GLenum usage); void bufferData(GLenum target, ArrayBufferView srcData, GLenum usage);
void bufferData(GLenum target, SharedArrayBuffer data, GLenum usage); void bufferSubData(GLenum target, GLintptr offset, ArrayBuffer srcData);
void bufferSubData(GLenum target, GLintptr offset, ArrayBufferView data); void bufferSubData(GLenum target, GLintptr offset, ArrayBufferView srcData);
void bufferSubData(GLenum target, GLintptr offset, ArrayBuffer? data);
void bufferSubData(GLenum target, GLintptr offset, SharedArrayBuffer data);
// WebGL2: // WebGL2:
void bufferData(GLenum target, ArrayBufferView srcData, GLenum usage, GLuint srcOffset, void bufferData(GLenum target, ArrayBufferView srcData, GLenum usage, GLuint srcOffset,
optional GLuint length = 0); optional GLuint length = 0);
@ -365,18 +350,22 @@ interface WebGL2RenderingContext : WebGLRenderingContext
GLsizei width, GLsizei height, GLint border, GLenum format, GLsizei width, GLsizei height, GLint border, GLenum format,
GLenum type, ArrayBufferView? pixels); GLenum type, ArrayBufferView? pixels);
[Throws] [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 GLenum format, GLenum type, HTMLCanvasElement source); // May throw DOMException
[Throws] [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 GLenum format, GLenum type, HTMLImageElement source); // May throw DOMException
[Throws] [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 GLenum format, GLenum type, HTMLVideoElement source); // May throw DOMException
[Throws] // Another overhead throws. [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); 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] [Throws]
void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
GLenum format, GLenum type, HTMLCanvasElement source); // May throw DOMException GLenum format, GLenum type, HTMLCanvasElement source); // May throw DOMException
@ -464,7 +453,7 @@ interface WebGL2RenderingContext : WebGLRenderingContext
[Throws] // Another overhead throws. [Throws] // Another overhead throws.
void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
GLsizei height, GLenum format, GLenum type, ArrayBufferView srcData, GLsizei height, GLenum format, GLenum type, ArrayBufferView srcData,
optional GLuint srcOffset = 0); GLuint srcOffset);
[Throws] // Another overhead throws. [Throws] // Another overhead throws.
void texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, void texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset,
@ -489,7 +478,7 @@ interface WebGL2RenderingContext : WebGLRenderingContext
[Throws] // Another overhead throws. [Throws] // Another overhead throws.
void texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, void texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset,
GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, 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, void copyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset,
GLint x, GLint y, GLsizei width, GLsizei height); GLint x, GLint y, GLsizei width, GLsizei height);
@ -498,20 +487,21 @@ interface WebGL2RenderingContext : WebGLRenderingContext
GLsizei height, GLint border, GLintptr offset); GLsizei height, GLint border, GLintptr offset);
void compressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, void compressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width,
GLsizei height, GLint border, ArrayBufferView srcData, 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, void compressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width,
GLsizei height, GLsizei depth, GLint border, GLintptr offset); GLsizei height, GLsizei depth, GLint border, GLintptr offset);
void compressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, void compressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width,
GLsizei height, GLsizei depth, GLint border, ArrayBufferView srcData, 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, void compressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
GLsizei width, GLsizei height, GLenum format, GLintptr offset); GLsizei width, GLsizei height, GLenum format, GLintptr offset);
void compressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, void compressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
GLsizei width, GLsizei height, GLenum format, GLsizei width, GLsizei height, GLenum format,
ArrayBufferView srcData, optional GLuint srcOffset = 0, ArrayBufferView srcData,
optional GLuint srcLength = 0); optional GLuint srcOffset = 0,
optional GLuint srcLengthOverride = 0);
void compressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, void compressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, 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, void compressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth,
GLenum format, ArrayBufferView srcData, GLenum format, ArrayBufferView srcData,
optional GLuint srcOffset = 0, optional GLuint srcLength = 0); optional GLuint srcOffset = 0,
optional GLuint srcLengthOverride = 0);
/* Programs and shaders */ /* Programs and shaders */
[WebGLHandlesContextLoss] GLint getFragDataLocation(WebGLProgram? program, DOMString name); [WebGLHandlesContextLoss] GLint getFragDataLocation(WebGLProgram program, DOMString name);
/* Uniforms */ /* Uniforms */
void uniform1ui(WebGLUniformLocation? location, GLuint v0); 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); void drawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, GLintptr offset);
/* Reading back pixels */ /* 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. [Throws] // Throws on readback in a write-only context.
void readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type,
GLintptr offset); GLintptr offset);
[Throws] // Throws on readback in a write-only context. [Throws] // Throws on readback in a write-only context.
void readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, 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 */ /* Multiple Render Targets */
void drawBuffers(sequence<GLenum> buffers); void drawBuffers(sequence<GLenum> buffers);
@ -615,27 +611,27 @@ interface WebGL2RenderingContext : WebGLRenderingContext
WebGLQuery? createQuery(); WebGLQuery? createQuery();
void deleteQuery(WebGLQuery? query); void deleteQuery(WebGLQuery? query);
[WebGLHandlesContextLoss] GLboolean isQuery(WebGLQuery? query); [WebGLHandlesContextLoss] GLboolean isQuery(WebGLQuery? query);
void beginQuery(GLenum target, WebGLQuery? query); void beginQuery(GLenum target, WebGLQuery query);
void endQuery(GLenum target); void endQuery(GLenum target);
any getQuery(GLenum target, GLenum pname); WebGLQuery? getQuery(GLenum target, GLenum pname);
any getQueryParameter(WebGLQuery? query, GLenum pname); any getQueryParameter(WebGLQuery query, GLenum pname);
/* Sampler Objects */ /* Sampler Objects */
WebGLSampler? createSampler(); WebGLSampler? createSampler();
void deleteSampler(WebGLSampler? sampler); void deleteSampler(WebGLSampler? sampler);
[WebGLHandlesContextLoss] GLboolean isSampler(WebGLSampler? sampler); [WebGLHandlesContextLoss] GLboolean isSampler(WebGLSampler? sampler);
void bindSampler(GLuint unit, WebGLSampler? sampler); void bindSampler(GLuint unit, WebGLSampler? sampler);
void samplerParameteri(WebGLSampler? sampler, GLenum pname, GLint param); void samplerParameteri(WebGLSampler sampler, GLenum pname, GLint param);
void samplerParameterf(WebGLSampler? sampler, GLenum pname, GLfloat param); void samplerParameterf(WebGLSampler sampler, GLenum pname, GLfloat param);
any getSamplerParameter(WebGLSampler? sampler, GLenum pname); any getSamplerParameter(WebGLSampler sampler, GLenum pname);
/* Sync objects */ /* Sync objects */
WebGLSync? fenceSync(GLenum condition, GLbitfield flags); WebGLSync? fenceSync(GLenum condition, GLbitfield flags);
[WebGLHandlesContextLoss] GLboolean isSync(WebGLSync? sync); [WebGLHandlesContextLoss] GLboolean isSync(WebGLSync? sync);
void deleteSync(WebGLSync? sync); void deleteSync(WebGLSync? sync);
GLenum clientWaitSync(WebGLSync? sync, GLbitfield flags, GLint64 timeout); GLenum clientWaitSync(WebGLSync sync, GLbitfield flags, GLuint64 timeout);
void waitSync(WebGLSync? sync, GLbitfield flags, GLint64 timeout); void waitSync(WebGLSync sync, GLbitfield flags, GLint64 timeout);
any getSyncParameter(WebGLSync? sync, GLenum pname); any getSyncParameter(WebGLSync sync, GLenum pname);
/* Transform Feedback */ /* Transform Feedback */
WebGLTransformFeedback? createTransformFeedback(); WebGLTransformFeedback? createTransformFeedback();
@ -644,8 +640,9 @@ interface WebGL2RenderingContext : WebGLRenderingContext
void bindTransformFeedback(GLenum target, WebGLTransformFeedback? tf); void bindTransformFeedback(GLenum target, WebGLTransformFeedback? tf);
void beginTransformFeedback(GLenum primitiveMode); void beginTransformFeedback(GLenum primitiveMode);
void endTransformFeedback(); void endTransformFeedback();
void transformFeedbackVaryings(WebGLProgram? program, sequence<DOMString> varyings, GLenum bufferMode); void transformFeedbackVaryings(WebGLProgram program, sequence<DOMString> varyings, GLenum bufferMode);
[NewObject] WebGLActiveInfo? getTransformFeedbackVarying(WebGLProgram? program, GLuint index); [NewObject]
WebGLActiveInfo? getTransformFeedbackVarying(WebGLProgram program, GLuint index);
void pauseTransformFeedback(); void pauseTransformFeedback();
void resumeTransformFeedback(); void resumeTransformFeedback();
@ -654,13 +651,13 @@ interface WebGL2RenderingContext : WebGLRenderingContext
void bindBufferRange(GLenum target, GLuint index, WebGLBuffer? buffer, GLintptr offset, GLsizeiptr size); void bindBufferRange(GLenum target, GLuint index, WebGLBuffer? buffer, GLintptr offset, GLsizeiptr size);
[Throws] // GetOrCreateDOMReflector can fail. [Throws] // GetOrCreateDOMReflector can fail.
any getIndexedParameter(GLenum target, GLuint index); any getIndexedParameter(GLenum target, GLuint index);
sequence<GLuint>? getUniformIndices(WebGLProgram? program, sequence<DOMString> uniformNames); sequence<GLuint>? getUniformIndices(WebGLProgram program, sequence<DOMString> uniformNames);
any getActiveUniforms(WebGLProgram? program, sequence<GLuint> uniformIndices, GLenum pname); any getActiveUniforms(WebGLProgram program, sequence<GLuint> uniformIndices, GLenum pname);
GLuint getUniformBlockIndex(WebGLProgram? program, DOMString uniformBlockName); GLuint getUniformBlockIndex(WebGLProgram program, DOMString uniformBlockName);
[Throws] // Creating a Uint32Array can fail. [Throws] // Creating a Uint32Array can fail.
any getActiveUniformBlockParameter(WebGLProgram? program, GLuint uniformBlockIndex, GLenum pname); any getActiveUniformBlockParameter(WebGLProgram program, GLuint uniformBlockIndex, GLenum pname);
DOMString? getActiveUniformBlockName(WebGLProgram? program, GLuint uniformBlockIndex); DOMString? getActiveUniformBlockName(WebGLProgram program, GLuint uniformBlockIndex);
void uniformBlockBinding(WebGLProgram? program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); void uniformBlockBinding(WebGLProgram program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
/* Vertex Array Objects */ /* Vertex Array Objects */
WebGLVertexArrayObject? createVertexArray(); WebGLVertexArrayObject? createVertexArray();

Просмотреть файл

@ -36,13 +36,13 @@ dictionary WebGLContextAttributes {
// boolean alpha = true; // boolean alpha = true;
// We deviate from the spec here. // We deviate from the spec here.
// If alpha isn't specified, we rely on a pref ("webgl.default-no-alpha") // If alpha isn't specified, we rely on a pref ("webgl.default-no-alpha")
boolean alpha; GLboolean alpha;
boolean depth = true; GLboolean depth = true;
boolean stencil = false; GLboolean stencil = false;
boolean antialias = true; GLboolean antialias = true;
boolean premultipliedAlpha = true; GLboolean premultipliedAlpha = true;
boolean preserveDrawingBuffer = false; GLboolean preserveDrawingBuffer = false;
boolean failIfMajorPerformanceCaveat = false; GLboolean failIfMajorPerformanceCaveat = false;
}; };
[Exposed=(Window,Worker), [Exposed=(Window,Worker),
@ -540,8 +540,8 @@ interface WebGLRenderingContext {
object? getExtension(DOMString name); object? getExtension(DOMString name);
void activeTexture(GLenum texture); void activeTexture(GLenum texture);
void attachShader(WebGLProgram? program, WebGLShader? shader); void attachShader(WebGLProgram program, WebGLShader shader);
void bindAttribLocation(WebGLProgram? program, GLuint index, DOMString name); void bindAttribLocation(WebGLProgram program, GLuint index, DOMString name);
void bindBuffer(GLenum target, WebGLBuffer? buffer); void bindBuffer(GLenum target, WebGLBuffer? buffer);
void bindFramebuffer(GLenum target, WebGLFramebuffer? framebuffer); void bindFramebuffer(GLenum target, WebGLFramebuffer? framebuffer);
void bindRenderbuffer(GLenum target, WebGLRenderbuffer? renderbuffer); void bindRenderbuffer(GLenum target, WebGLRenderbuffer? renderbuffer);
@ -554,12 +554,10 @@ interface WebGLRenderingContext {
GLenum srcAlpha, GLenum dstAlpha); GLenum srcAlpha, GLenum dstAlpha);
void bufferData(GLenum target, GLsizeiptr size, GLenum usage); 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, 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, ArrayBufferView data);
void bufferSubData(GLenum target, GLintptr offset, ArrayBuffer? data);
void bufferSubData(GLenum target, GLintptr offset, SharedArrayBuffer data);
[WebGLHandlesContextLoss] GLenum checkFramebufferStatus(GLenum target); [WebGLHandlesContextLoss] GLenum checkFramebufferStatus(GLenum target);
void clear(GLbitfield mask); void clear(GLbitfield mask);
@ -567,7 +565,7 @@ interface WebGLRenderingContext {
void clearDepth(GLclampf depth); void clearDepth(GLclampf depth);
void clearStencil(GLint s); void clearStencil(GLint s);
void colorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); 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, void compressedTexImage2D(GLenum target, GLint level, GLenum internalformat,
GLsizei width, GLsizei height, GLint border, GLsizei width, GLsizei height, GLint border,
@ -602,7 +600,7 @@ interface WebGLRenderingContext {
void depthFunc(GLenum func); void depthFunc(GLenum func);
void depthMask(GLboolean flag); void depthMask(GLboolean flag);
void depthRange(GLclampf zNear, GLclampf zFar); void depthRange(GLclampf zNear, GLclampf zFar);
void detachShader(WebGLProgram? program, WebGLShader? shader); void detachShader(WebGLProgram program, WebGLShader shader);
void disable(GLenum cap); void disable(GLenum cap);
void disableVertexAttribArray(GLuint index); void disableVertexAttribArray(GLuint index);
void drawArrays(GLenum mode, GLint first, GLsizei count); void drawArrays(GLenum mode, GLint first, GLsizei count);
@ -622,13 +620,13 @@ interface WebGLRenderingContext {
void generateMipmap(GLenum target); void generateMipmap(GLenum target);
[NewObject] [NewObject]
WebGLActiveInfo? getActiveAttrib(WebGLProgram? program, GLuint index); WebGLActiveInfo? getActiveAttrib(WebGLProgram program, GLuint index);
[NewObject] [NewObject]
WebGLActiveInfo? getActiveUniform(WebGLProgram? program, GLuint index); WebGLActiveInfo? getActiveUniform(WebGLProgram program, GLuint index);
sequence<WebGLShader>? getAttachedShaders(WebGLProgram? program); sequence<WebGLShader>? getAttachedShaders(WebGLProgram program);
[WebGLHandlesContextLoss] GLint getAttribLocation(WebGLProgram? program, DOMString name); [WebGLHandlesContextLoss] GLint getAttribLocation(WebGLProgram program, DOMString name);
any getBufferParameter(GLenum target, GLenum pname); any getBufferParameter(GLenum target, GLenum pname);
[Throws] [Throws]
@ -639,29 +637,29 @@ interface WebGLRenderingContext {
[Throws] [Throws]
any getFramebufferAttachmentParameter(GLenum target, GLenum attachment, any getFramebufferAttachmentParameter(GLenum target, GLenum attachment,
GLenum pname); GLenum pname);
any getProgramParameter(WebGLProgram? program, GLenum pname); any getProgramParameter(WebGLProgram program, GLenum pname);
DOMString? getProgramInfoLog(WebGLProgram? program); DOMString? getProgramInfoLog(WebGLProgram program);
any getRenderbufferParameter(GLenum target, GLenum pname); any getRenderbufferParameter(GLenum target, GLenum pname);
any getShaderParameter(WebGLShader? shader, GLenum pname); any getShaderParameter(WebGLShader shader, GLenum pname);
[NewObject] [NewObject]
WebGLShaderPrecisionFormat? getShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype); 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 getTexParameter(GLenum target, GLenum pname);
any getUniform(WebGLProgram? program, WebGLUniformLocation? location); any getUniform(WebGLProgram program, WebGLUniformLocation location);
[NewObject] [NewObject]
WebGLUniformLocation? getUniformLocation(WebGLProgram? program, DOMString name); WebGLUniformLocation? getUniformLocation(WebGLProgram program, DOMString name);
[Throws] [Throws]
any getVertexAttrib(GLuint index, GLenum pname); 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); void hint(GLenum target, GLenum mode);
[WebGLHandlesContextLoss] GLboolean isBuffer(WebGLBuffer? buffer); [WebGLHandlesContextLoss] GLboolean isBuffer(WebGLBuffer? buffer);
@ -672,7 +670,7 @@ interface WebGLRenderingContext {
[WebGLHandlesContextLoss] GLboolean isShader(WebGLShader? shader); [WebGLHandlesContextLoss] GLboolean isShader(WebGLShader? shader);
[WebGLHandlesContextLoss] GLboolean isTexture(WebGLTexture? texture); [WebGLHandlesContextLoss] GLboolean isTexture(WebGLTexture? texture);
void lineWidth(GLfloat width); void lineWidth(GLfloat width);
void linkProgram(WebGLProgram? program); void linkProgram(WebGLProgram program);
void pixelStorei(GLenum pname, GLint param); void pixelStorei(GLenum pname, GLint param);
void polygonOffset(GLfloat factor, GLfloat units); void polygonOffset(GLfloat factor, GLfloat units);
@ -685,7 +683,7 @@ interface WebGLRenderingContext {
void sampleCoverage(GLclampf value, GLboolean invert); void sampleCoverage(GLclampf value, GLboolean invert);
void scissor(GLint x, GLint y, GLsizei width, GLsizei height); 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 stencilFunc(GLenum func, GLint ref, GLuint mask);
void stencilFuncSeparate(GLenum face, 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]. // Overloads must share [Throws].
[Throws] // Can't actually throw. [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, GLsizei width, GLsizei height, GLint border, GLenum format,
GLenum type, ArrayBufferView? pixels); GLenum type, ArrayBufferView? pixels);
[Throws] // Can't actually throw. [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); GLenum format, GLenum type, ImageData pixels);
[Throws] [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 GLenum format, GLenum type, HTMLImageElement image); // May throw DOMException
[Throws] [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 GLenum format, GLenum type, HTMLCanvasElement canvas); // May throw DOMException
[Throws] [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 GLenum format, GLenum type, HTMLVideoElement video); // May throw DOMException
void texParameterf(GLenum target, GLenum pname, GLfloat param); void texParameterf(GLenum target, GLenum pname, GLfloat param);
@ -718,8 +716,8 @@ interface WebGLRenderingContext {
[Throws] // Can't actually throw. [Throws] // Can't actually throw.
void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei width, GLsizei height,
ArrayBufferView pixels); GLenum format, GLenum type, ArrayBufferView? pixels);
[Throws] // Can't actually throw. [Throws] // Can't actually throw.
void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
GLenum format, GLenum type, ImageData pixels); GLenum format, GLenum type, ImageData pixels);
@ -758,7 +756,7 @@ interface WebGLRenderingContext {
void uniformMatrix4fv(WebGLUniformLocation? location, GLboolean transpose, Float32List data); void uniformMatrix4fv(WebGLUniformLocation? location, GLboolean transpose, Float32List data);
void useProgram(WebGLProgram? program); void useProgram(WebGLProgram? program);
void validateProgram(WebGLProgram? program); void validateProgram(WebGLProgram program);
void vertexAttrib1f(GLuint indx, GLfloat x); void vertexAttrib1f(GLuint indx, GLfloat x);
void vertexAttrib1fv(GLuint indx, Float32Array values); void vertexAttrib1fv(GLuint indx, Float32Array values);
@ -846,7 +844,7 @@ interface WEBGL_debug_renderer_info
[NoInterfaceObject] [NoInterfaceObject]
interface WEBGL_debug_shaders interface WEBGL_debug_shaders
{ {
DOMString getTranslatedShaderSource(WebGLShader? shader); DOMString getTranslatedShaderSource(WebGLShader shader);
}; };
[NoInterfaceObject] [NoInterfaceObject]
@ -1019,9 +1017,9 @@ interface EXT_disjoint_timer_query {
WebGLQuery? createQueryEXT(); WebGLQuery? createQueryEXT();
void deleteQueryEXT(WebGLQuery? query); void deleteQueryEXT(WebGLQuery? query);
[WebGLHandlesContextLoss] boolean isQueryEXT(WebGLQuery? query); [WebGLHandlesContextLoss] boolean isQueryEXT(WebGLQuery? query);
void beginQueryEXT(GLenum target, WebGLQuery? query); void beginQueryEXT(GLenum target, WebGLQuery query);
void endQueryEXT(GLenum target); void endQueryEXT(GLenum target);
void queryCounterEXT(WebGLQuery? query, GLenum target); void queryCounterEXT(WebGLQuery query, GLenum target);
any getQueryEXT(GLenum target, GLenum pname); any getQueryEXT(GLenum target, GLenum pname);
any getQueryObjectEXT(WebGLQuery? query, GLenum pname); any getQueryObjectEXT(WebGLQuery query, GLenum pname);
}; };