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; |