| Index: modules/webgl/WebGL2RenderingContextBase.idl
|
| diff --git a/modules/webgl/WebGL2RenderingContextBase.idl b/modules/webgl/WebGL2RenderingContextBase.idl
|
| index 928b3a33b6b57b4d7b4b163cd1abbc97e110224f..cb2eaf0451a9d5c177321f8b8cdcab0f552c7dcb 100644
|
| --- a/modules/webgl/WebGL2RenderingContextBase.idl
|
| +++ b/modules/webgl/WebGL2RenderingContextBase.idl
|
| @@ -297,20 +297,18 @@ typedef long long GLint64;
|
| const GLenum MAX_ELEMENT_INDEX = 0x8D6B;
|
| const GLenum NUM_SAMPLE_COUNTS = 0x9380;
|
| const GLenum TEXTURE_IMMUTABLE_LEVELS = 0x82DF;
|
| -
|
| - // FIXME: This currently differs from the WebGL2 spec.
|
| - const GLuint TIMEOUT_IGNORED = 0xFFFFFFFF;
|
| + const GLint TIMEOUT_IGNORED = -1;
|
|
|
| /* WebGL-specific enums */
|
| const GLenum MAX_CLIENT_WAIT_TIMEOUT_WEBGL = 0x9247;
|
|
|
| /* Buffer objects */
|
| void copyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
|
| - void getBufferSubData(GLenum target, GLintptr offset, ArrayBuffer returnedData);
|
| + void getBufferSubData(GLenum target, GLintptr offset, ArrayBuffer? returnedData);
|
|
|
| /* Framebuffer objects */
|
| void blitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
|
| - void framebufferTextureLayer(GLenum target, GLenum attachment, WebGLTexture texture, GLint level, GLint layer);
|
| + [CallWith=ScriptState] void framebufferTextureLayer(GLenum target, GLenum attachment, WebGLTexture? texture, GLint level, GLint layer);
|
| [CallWith=ScriptState] any getInternalformatParameter(GLenum target, GLenum internalformat, GLenum pname);
|
| void invalidateFramebuffer(GLenum target, sequence<GLenum> attachments);
|
| void invalidateSubFramebuffer (GLenum target, sequence<GLenum> attachments, GLint x, GLint y, GLsizei width, GLsizei height);
|
| @@ -320,14 +318,17 @@ typedef long long GLint64;
|
| void renderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
|
|
|
| /* Texture objects */
|
| + void texImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, GLintptr offset);
|
| void texStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
|
| void texStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
|
| void texImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, ArrayBufferView? pixels);
|
| - [RaisesException] void texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, ArrayBufferView? pixels);
|
| - [RaisesException] void texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLenum format, GLenum type, ImageData? data);
|
| + void texImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLintptr offset);
|
| + void texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, ArrayBufferView? pixels);
|
| + void texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLenum format, GLenum type, ImageData? data);
|
| [RaisesException] void texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLenum format, GLenum type, HTMLImageElement? image);
|
| [RaisesException] void texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLenum format, GLenum type, HTMLCanvasElement? canvas);
|
| [RaisesException] void texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLenum format, GLenum type, HTMLVideoElement? video);
|
| + [RaisesException] void texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLenum format, GLenum type, ImageBitmap? bitmap);
|
| void copyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
|
| void compressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, ArrayBufferView data);
|
| void compressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, ArrayBufferView data);
|
| @@ -340,10 +341,14 @@ typedef long long GLint64;
|
| 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 uniform1uiv(WebGLUniformLocation? location, sequence<GLuint> value);
|
| - void uniform2uiv(WebGLUniformLocation? location, sequence<GLuint> value);
|
| - void uniform3uiv(WebGLUniformLocation? location, sequence<GLuint> value);
|
| - void uniform4uiv(WebGLUniformLocation? location, sequence<GLuint> value);
|
| + void uniform1uiv(WebGLUniformLocation? location, [FlexibleArrayBufferView] Uint32Array v);
|
| + void uniform1uiv(WebGLUniformLocation? location, sequence<GLuint> v);
|
| + void uniform2uiv(WebGLUniformLocation? location, [FlexibleArrayBufferView] Uint32Array v);
|
| + void uniform2uiv(WebGLUniformLocation? location, sequence<GLuint> v);
|
| + void uniform3uiv(WebGLUniformLocation? location, [FlexibleArrayBufferView] Uint32Array v);
|
| + void uniform3uiv(WebGLUniformLocation? location, sequence<GLuint> v);
|
| + void uniform4uiv(WebGLUniformLocation? location, [FlexibleArrayBufferView] Uint32Array v);
|
| + void uniform4uiv(WebGLUniformLocation? location, sequence<GLuint> v);
|
| void uniformMatrix2x3fv(WebGLUniformLocation? location, GLboolean transpose, Float32Array value);
|
| void uniformMatrix2x3fv(WebGLUniformLocation? location, GLboolean transpose, sequence<GLfloat> value);
|
| void uniformMatrix3x2fv(WebGLUniformLocation? location, GLboolean transpose, Float32Array value);
|
| @@ -358,8 +363,10 @@ typedef long long GLint64;
|
| void uniformMatrix4x3fv(WebGLUniformLocation? location, GLboolean transpose, sequence<GLfloat> value);
|
|
|
| void vertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w);
|
| + void vertexAttribI4iv(GLuint index, Int32Array v);
|
| void vertexAttribI4iv(GLuint index, sequence<GLint> v);
|
| void vertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
|
| + void vertexAttribI4uiv(GLuint index, Uint32Array v);
|
| void vertexAttribI4uiv(GLuint index, sequence<GLuint> v);
|
| void vertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);
|
|
|
| @@ -401,10 +408,10 @@ typedef long long GLint64;
|
| WebGLSync fenceSync(GLenum condition, GLbitfield flags);
|
| GLboolean isSync(WebGLSync? sync);
|
| void deleteSync(WebGLSync? sync);
|
| - GLenum clientWaitSync(WebGLSync? sync, GLbitfield flags, GLuint timeout);
|
| - void waitSync(WebGLSync? sync, GLbitfield flags, GLuint timeout);
|
| + GLenum clientWaitSync(WebGLSync? sync, GLbitfield flags, GLint64 timeout);
|
| + void waitSync(WebGLSync? sync, GLbitfield flags, GLint64 timeout);
|
|
|
| - [CallWith=ScriptState] any getSyncParameter(WebGLSync sync, GLenum pname);
|
| + [CallWith=ScriptState] any getSyncParameter(WebGLSync? sync, GLenum pname);
|
|
|
| /* Transform Feedback */
|
| WebGLTransformFeedback createTransformFeedback();
|
| @@ -423,16 +430,19 @@ typedef long long GLint64;
|
| void bindBufferRange(GLenum target, GLuint index, WebGLBuffer? buffer, GLintptr offset, GLsizeiptr size);
|
| [CallWith=ScriptState] any getIndexedParameter(GLenum target, GLuint index);
|
| sequence<GLuint>? getUniformIndices(WebGLProgram? program, sequence<DOMString> uniformNames);
|
| - sequence<GLint>? getActiveUniforms(WebGLProgram? program, sequence<GLuint> uniformIndices, GLenum pname);
|
| + [CallWith=ScriptState] any getActiveUniforms(WebGLProgram? program, sequence<GLuint> uniformIndices, GLenum pname);
|
| GLuint getUniformBlockIndex(WebGLProgram? program, DOMString uniformBlockName);
|
| [CallWith=ScriptState] 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);
|
|
|
| /* Vertex Array Objects */
|
| WebGLVertexArrayObject createVertexArray();
|
| - void deleteVertexArray(WebGLVertexArrayObject? vertexArray);
|
| + [CallWith=ScriptState] void deleteVertexArray(WebGLVertexArrayObject? vertexArray);
|
| GLboolean isVertexArray(WebGLVertexArrayObject? vertexArray);
|
| - void bindVertexArray(WebGLVertexArrayObject? vertexArray);
|
| + [CallWith=ScriptState] void bindVertexArray(WebGLVertexArrayObject? vertexArray);
|
| +
|
| + /* Reading */
|
| + void readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLintptr offset);
|
| };
|
| WebGL2RenderingContextBase implements WebGLRenderingContextBase;
|
|
|