--- a/dom/webidl/WebGL2RenderingContext.webidl
+++ b/dom/webidl/WebGL2RenderingContext.webidl
@@ -281,52 +281,37 @@ interface WebGL2RenderingContext : WebGL
const GLenum CONDITION_SATISFIED = 0x911C;
const GLenum WAIT_FAILED = 0x911D;
const GLenum SYNC_FLUSH_COMMANDS_BIT = 0x00000001;
const GLenum VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE;
const GLenum ANY_SAMPLES_PASSED = 0x8C2F;
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;
/* WebGL-specific enums */
const GLenum MAX_CLIENT_WAIT_TIMEOUT_WEBGL = 0x9247;
/* 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);
void bufferSubData(GLenum target, GLintptr dstByteOffset, ArrayBufferView srcData,
GLuint srcOffset, optional GLuint length = 0);
void copyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset,
GLintptr writeOffset, GLsizeiptr size);
@@ -364,28 +349,32 @@ interface WebGL2RenderingContext : WebGL
GLsizei height, GLsizei depth);
// WebGL1 legacy entrypoints:
[Throws] // Another overhead throws.
void texImage2D(GLenum target, GLint level, GLint internalformat,
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
[Throws]
void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
GLenum format, GLenum type, HTMLImageElement source); // May throw DOMException
[Throws]
void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
@@ -463,17 +452,17 @@ interface WebGL2RenderingContext : WebGL
HTMLVideoElement source); // May throw DOMException
[Throws] // Another overhead throws.
void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
GLsizei height, 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 srcData,
- optional GLuint srcOffset = 0);
+ GLuint srcOffset);
[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,
GLintptr pboOffset);
[Throws]
void texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset,
GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type,
@@ -488,50 +477,52 @@ interface WebGL2RenderingContext : WebGL
HTMLVideoElement source); // May throw DOMException
[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,
ImageData source);
[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);
void compressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width,
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,
GLenum format, GLintptr offset);
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);
void uniform2ui(WebGLUniformLocation? location, GLuint v0, GLuint v1);
void uniform3ui(WebGLUniformLocation? location, GLuint v0, GLuint v1, GLuint v2);
void uniform4ui(WebGLUniformLocation? location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
void uniform1fv(WebGLUniformLocation? location, Float32List data, optional GLuint srcOffset = 0,
@@ -591,22 +582,27 @@ interface WebGL2RenderingContext : WebGL
/* Writing to the drawing buffer */
void vertexAttribDivisor(GLuint index, GLuint divisor);
void drawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instanceCount);
void drawElementsInstanced(GLenum mode, GLsizei count, GLenum type, GLintptr offset, GLsizei instanceCount);
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<GLenum> buffers);
void clearBufferfv(GLenum buffer, GLint drawbuffer, Float32List values,
optional GLuint srcOffset = 0);
void clearBufferiv(GLenum buffer, GLint drawbuffer, Int32List values,
optional GLuint srcOffset = 0);
@@ -614,62 +610,63 @@ interface WebGL2RenderingContext : WebGL
optional GLuint srcOffset = 0);
void clearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
/* Query Objects */
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();
void deleteTransformFeedback(WebGLTransformFeedback? tf);
[WebGLHandlesContextLoss] GLboolean isTransformFeedback(WebGLTransformFeedback? tf);
void bindTransformFeedback(GLenum target, WebGLTransformFeedback? tf);
void beginTransformFeedback(GLenum primitiveMode);
void endTransformFeedback();
- void transformFeedbackVaryings(WebGLProgram? program, sequence<DOMString> varyings, GLenum bufferMode);
- [NewObject] WebGLActiveInfo? getTransformFeedbackVarying(WebGLProgram? program, GLuint index);
+ void transformFeedbackVaryings(WebGLProgram program, sequence<DOMString> varyings, GLenum bufferMode);
+ [NewObject]
+ WebGLActiveInfo? getTransformFeedbackVarying(WebGLProgram program, GLuint index);
void pauseTransformFeedback();
void resumeTransformFeedback();
/* Uniform Buffer Objects and Transform Feedback Buffers */
void bindBufferBase(GLenum target, GLuint index, WebGLBuffer? buffer);
void bindBufferRange(GLenum target, GLuint index, WebGLBuffer? buffer, GLintptr offset, GLsizeiptr size);
[Throws] // GetOrCreateDOMReflector can fail.
any getIndexedParameter(GLenum target, GLuint index);
- sequence<GLuint>? getUniformIndices(WebGLProgram? program, sequence<DOMString> uniformNames);
- any getActiveUniforms(WebGLProgram? program, sequence<GLuint> uniformIndices, GLenum pname);
- GLuint getUniformBlockIndex(WebGLProgram? program, DOMString uniformBlockName);
+ sequence<GLuint>? getUniformIndices(WebGLProgram program, sequence<DOMString> uniformNames);
+ any getActiveUniforms(WebGLProgram program, sequence<GLuint> 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();
void deleteVertexArray(WebGLVertexArrayObject? vertexArray);
[WebGLHandlesContextLoss] GLboolean isVertexArray(WebGLVertexArrayObject? vertexArray);
void bindVertexArray(WebGLVertexArrayObject? array);
};
--- a/dom/webidl/WebGLRenderingContext.webidl
+++ b/dom/webidl/WebGLRenderingContext.webidl
@@ -31,23 +31,23 @@ typedef unsigned long GLuint;
typedef unrestricted float GLfloat;
typedef unrestricted float GLclampf;
typedef unsigned long long GLuint64EXT;
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),
Func="mozilla::dom::OffscreenCanvas::PrefEnabledOnWorkerThread"]
interface WebGLBuffer {
};
[Exposed=(Window,Worker),
@@ -535,44 +535,42 @@ interface WebGLRenderingContext {
[NeedsCallerType]
sequence<DOMString>? getSupportedExtensions();
[Throws, NeedsCallerType]
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);
void bindTexture(GLenum target, WebGLTexture? texture);
void blendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
void blendEquation(GLenum mode);
void blendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);
void blendFunc(GLenum sfactor, GLenum dfactor);
void blendFuncSeparate(GLenum srcRGB, GLenum dstRGB,
GLenum srcAlpha, GLenum dstAlpha);
void bufferData(GLenum target, GLsizeiptr size, GLenum usage);
+ void bufferData(GLenum target, ArrayBuffer? data, 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, 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);
void clearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
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,
ArrayBufferView data);
void compressedTexSubImage2D(GLenum target, GLint level,
GLint xoffset, GLint yoffset,
GLsizei width, GLsizei height, GLenum format,
ArrayBufferView data);
@@ -597,17 +595,17 @@ interface WebGLRenderingContext {
void deleteProgram(WebGLProgram? program);
void deleteRenderbuffer(WebGLRenderbuffer? renderbuffer);
void deleteShader(WebGLShader? shader);
void deleteTexture(WebGLTexture? texture);
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);
void drawElements(GLenum mode, GLsizei count, GLenum type, GLintptr offset);
void enable(GLenum cap);
void enableVertexAttribArray(GLuint index);
void finish();
@@ -617,114 +615,114 @@ interface WebGLRenderingContext {
WebGLRenderbuffer? renderbuffer);
void framebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget,
WebGLTexture? texture, GLint level);
void frontFace(GLenum mode);
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<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);
[Throws]
any getParameter(GLenum pname);
[WebGLHandlesContextLoss] GLenum getError();
[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);
[WebGLHandlesContextLoss] GLboolean isEnabled(GLenum cap);
[WebGLHandlesContextLoss] GLboolean isFramebuffer(WebGLFramebuffer? framebuffer);
[WebGLHandlesContextLoss] GLboolean isProgram(WebGLProgram? program);
[WebGLHandlesContextLoss] GLboolean isRenderbuffer(WebGLRenderbuffer? renderbuffer);
[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);
[Throws]
void readPixels(GLint x, GLint y, GLsizei width, GLsizei height,
GLenum format, GLenum type, ArrayBufferView? pixels);
void renderbufferStorage(GLenum target, GLenum internalformat,
GLsizei width, GLsizei height);
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);
void stencilMask(GLuint mask);
void stencilMaskSeparate(GLenum face, GLuint mask);
void stencilOp(GLenum fail, GLenum zfail, GLenum zpass);
void stencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass);
// 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);
void texParameteri(GLenum target, GLenum pname, GLint param);
[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);
[Throws]
void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
GLenum format, GLenum type, HTMLImageElement image); // May throw DOMException
[Throws]
void texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,
@@ -753,17 +751,17 @@ interface WebGLRenderingContext {
void uniform3iv(WebGLUniformLocation? location, Int32List data);
void uniform4iv(WebGLUniformLocation? location, Int32List data);
void uniformMatrix2fv(WebGLUniformLocation? location, GLboolean transpose, Float32List data);
void uniformMatrix3fv(WebGLUniformLocation? location, GLboolean transpose, Float32List data);
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);
void vertexAttrib1fv(GLuint indx, sequence<GLfloat> values);
void vertexAttrib2f(GLuint indx, GLfloat x, GLfloat y);
void vertexAttrib2fv(GLuint indx, Float32Array values);
void vertexAttrib2fv(GLuint indx, sequence<GLfloat> values);
void vertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z);
@@ -841,17 +839,17 @@ interface WEBGL_debug_renderer_info
{
const GLenum UNMASKED_VENDOR_WEBGL = 0x9245;
const GLenum UNMASKED_RENDERER_WEBGL = 0x9246;
};
[NoInterfaceObject]
interface WEBGL_debug_shaders
{
- DOMString getTranslatedShaderSource(WebGLShader? shader);
+ DOMString getTranslatedShaderSource(WebGLShader shader);
};
[NoInterfaceObject]
interface WEBGL_depth_texture
{
const GLenum UNSIGNED_INT_24_8_WEBGL = 0x84FA;
};
@@ -1014,14 +1012,14 @@ interface EXT_disjoint_timer_query {
const GLenum QUERY_RESULT_AVAILABLE_EXT = 0x8867;
const GLenum TIME_ELAPSED_EXT = 0x88BF;
const GLenum TIMESTAMP_EXT = 0x8E28;
const GLenum GPU_DISJOINT_EXT = 0x8FBB;
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);
};