From 419b3c64dca9903d49a298ae91b06f6318f0c701 Mon Sep 17 00:00:00 2001 From: Kelsey Gilbert Date: Fri, 8 Sep 2023 15:27:15 -0700 Subject: [PATCH] Upgrade ABV offset args from u32->u64. (#3586) Not sizes right now because we don't expect to support >4G sizes for uploads. This change better supports large WebAssembly heaps. Related to crbug.com/1476859 ; conformance test for all browsers forthcoming. --- specs/latest/2.0/index.html | 102 ++++++++++++++++++------------------ 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/specs/latest/2.0/index.html b/specs/latest/2.0/index.html index 329b6a71a..5b8110903 100644 --- a/specs/latest/2.0/index.html +++ b/specs/latest/2.0/index.html @@ -707,7 +707,7 @@

The WebGL context

// can not be exposed safely to JavaScript. GetBufferSubData // replaces it for the purpose of fetching data back from the GPU. undefined getBufferSubData(GLenum target, GLintptr srcByteOffset, [AllowShared] ArrayBufferView dstBuffer, - optional GLuint dstOffset = 0, optional GLuint length = 0); + optional unsigned long long dstOffset = 0, optional GLuint length = 0); /* Framebuffer objects */ undefined blitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, @@ -739,7 +739,7 @@

The WebGL context

GLsizei depth, GLint border, GLenum format, GLenum type, [AllowShared] ArrayBufferView? srcData); undefined texImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, [AllowShared] ArrayBufferView srcData, - GLuint srcOffset); + unsigned long long srcOffset); undefined texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, @@ -749,7 +749,7 @@

The WebGL context

TexImageSource source); // May throw DOMException undefined texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, - [AllowShared] ArrayBufferView? srcData, optional GLuint srcOffset = 0); + [AllowShared] ArrayBufferView? srcData, optional unsigned long long srcOffset = 0); undefined copyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); @@ -758,7 +758,7 @@

The WebGL context

GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLintptr offset); undefined compressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, [AllowShared] ArrayBufferView srcData, - optional GLuint srcOffset = 0, optional GLuint srcLengthOverride = 0); + optional unsigned long long srcOffset = 0, optional GLuint srcLengthOverride = 0); undefined compressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, @@ -766,7 +766,7 @@

The WebGL context

undefined compressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, [AllowShared] ArrayBufferView srcData, - optional GLuint srcOffset = 0, + optional unsigned long long srcOffset = 0, optional GLuint srcLengthOverride = 0); /* Programs and shaders */ @@ -778,28 +778,28 @@

The WebGL context

undefined uniform3ui(WebGLUniformLocation? location, GLuint v0, GLuint v1, GLuint v2); undefined uniform4ui(WebGLUniformLocation? location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); - undefined uniform1uiv(WebGLUniformLocation? location, Uint32List data, optional GLuint srcOffset = 0, + undefined uniform1uiv(WebGLUniformLocation? location, Uint32List data, optional unsigned long long srcOffset = 0, optional GLuint srcLength = 0); - undefined uniform2uiv(WebGLUniformLocation? location, Uint32List data, optional GLuint srcOffset = 0, + undefined uniform2uiv(WebGLUniformLocation? location, Uint32List data, optional unsigned long long srcOffset = 0, optional GLuint srcLength = 0); - undefined uniform3uiv(WebGLUniformLocation? location, Uint32List data, optional GLuint srcOffset = 0, + undefined uniform3uiv(WebGLUniformLocation? location, Uint32List data, optional unsigned long long srcOffset = 0, optional GLuint srcLength = 0); - undefined uniform4uiv(WebGLUniformLocation? location, Uint32List data, optional GLuint srcOffset = 0, + undefined uniform4uiv(WebGLUniformLocation? location, Uint32List data, optional unsigned long long srcOffset = 0, optional GLuint srcLength = 0); undefined uniformMatrix3x2fv(WebGLUniformLocation? location, GLboolean transpose, Float32List data, - optional GLuint srcOffset = 0, optional GLuint srcLength = 0); + optional unsigned long long srcOffset = 0, optional GLuint srcLength = 0); undefined uniformMatrix4x2fv(WebGLUniformLocation? location, GLboolean transpose, Float32List data, - optional GLuint srcOffset = 0, optional GLuint srcLength = 0); + optional unsigned long long srcOffset = 0, optional GLuint srcLength = 0); undefined uniformMatrix2x3fv(WebGLUniformLocation? location, GLboolean transpose, Float32List data, - optional GLuint srcOffset = 0, optional GLuint srcLength = 0); + optional unsigned long long srcOffset = 0, optional GLuint srcLength = 0); undefined uniformMatrix4x3fv(WebGLUniformLocation? location, GLboolean transpose, Float32List data, - optional GLuint srcOffset = 0, optional GLuint srcLength = 0); + optional unsigned long long srcOffset = 0, optional GLuint srcLength = 0); undefined uniformMatrix2x4fv(WebGLUniformLocation? location, GLboolean transpose, Float32List data, - optional GLuint srcOffset = 0, optional GLuint srcLength = 0); + optional unsigned long long srcOffset = 0, optional GLuint srcLength = 0); undefined uniformMatrix3x4fv(WebGLUniformLocation? location, GLboolean transpose, Float32List data, - optional GLuint srcOffset = 0, optional GLuint srcLength = 0); + optional unsigned long long srcOffset = 0, optional GLuint srcLength = 0); /* Vertex attribs */ undefined vertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w); @@ -818,11 +818,11 @@

The WebGL context

undefined drawBuffers(sequence<GLenum> buffers); undefined clearBufferfv(GLenum buffer, GLint drawbuffer, Float32List values, - optional GLuint srcOffset = 0); + optional unsigned long long srcOffset = 0); undefined clearBufferiv(GLenum buffer, GLint drawbuffer, Int32List values, - optional GLuint srcOffset = 0); + optional unsigned long long srcOffset = 0); undefined clearBufferuiv(GLenum buffer, GLint drawbuffer, Uint32List values, - optional GLuint srcOffset = 0); + optional unsigned long long srcOffset = 0); undefined clearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); @@ -889,10 +889,10 @@

The WebGL context

undefined bufferData(GLenum target, AllowSharedBufferSource? srcData, GLenum usage); undefined bufferSubData(GLenum target, GLintptr dstByteOffset, AllowSharedBufferSource srcData); // WebGL2: - undefined bufferData(GLenum target, [AllowShared] ArrayBufferView srcData, GLenum usage, GLuint srcOffset, + undefined bufferData(GLenum target, [AllowShared] ArrayBufferView srcData, GLenum usage, unsigned long long srcOffset, optional GLuint length = 0); undefined bufferSubData(GLenum target, GLintptr dstByteOffset, [AllowShared] ArrayBufferView srcData, - GLuint srcOffset, optional GLuint length = 0); + unsigned long long srcOffset, optional GLuint length = 0); // WebGL1 legacy entrypoints: undefined texImage2D(GLenum target, GLint level, GLint internalformat, @@ -915,7 +915,7 @@

The WebGL context

TexImageSource source); // May throw DOMException undefined texImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, [AllowShared] ArrayBufferView srcData, - GLuint srcOffset); + unsigned long long srcOffset); undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLintptr pboOffset); @@ -924,46 +924,46 @@

The WebGL context

TexImageSource source); // May throw DOMException undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, [AllowShared] ArrayBufferView srcData, - GLuint srcOffset); + unsigned long long srcOffset); undefined compressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLintptr offset); undefined compressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, [AllowShared] ArrayBufferView srcData, - optional GLuint srcOffset = 0, optional GLuint srcLengthOverride = 0); + optional unsigned long long srcOffset = 0, optional GLuint srcLengthOverride = 0); undefined compressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLintptr offset); undefined compressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, [AllowShared] ArrayBufferView srcData, - optional GLuint srcOffset = 0, + optional unsigned long long srcOffset = 0, optional GLuint srcLengthOverride = 0); - undefined uniform1fv(WebGLUniformLocation? location, Float32List data, optional GLuint srcOffset = 0, + undefined uniform1fv(WebGLUniformLocation? location, Float32List data, optional unsigned long long srcOffset = 0, optional GLuint srcLength = 0); - undefined uniform2fv(WebGLUniformLocation? location, Float32List data, optional GLuint srcOffset = 0, + undefined uniform2fv(WebGLUniformLocation? location, Float32List data, optional unsigned long long srcOffset = 0, optional GLuint srcLength = 0); - undefined uniform3fv(WebGLUniformLocation? location, Float32List data, optional GLuint srcOffset = 0, + undefined uniform3fv(WebGLUniformLocation? location, Float32List data, optional unsigned long long srcOffset = 0, optional GLuint srcLength = 0); - undefined uniform4fv(WebGLUniformLocation? location, Float32List data, optional GLuint srcOffset = 0, + undefined uniform4fv(WebGLUniformLocation? location, Float32List data, optional unsigned long long srcOffset = 0, optional GLuint srcLength = 0); - undefined uniform1iv(WebGLUniformLocation? location, Int32List data, optional GLuint srcOffset = 0, + undefined uniform1iv(WebGLUniformLocation? location, Int32List data, optional unsigned long long srcOffset = 0, optional GLuint srcLength = 0); - undefined uniform2iv(WebGLUniformLocation? location, Int32List data, optional GLuint srcOffset = 0, + undefined uniform2iv(WebGLUniformLocation? location, Int32List data, optional unsigned long long srcOffset = 0, optional GLuint srcLength = 0); - undefined uniform3iv(WebGLUniformLocation? location, Int32List data, optional GLuint srcOffset = 0, + undefined uniform3iv(WebGLUniformLocation? location, Int32List data, optional unsigned long long srcOffset = 0, optional GLuint srcLength = 0); - undefined uniform4iv(WebGLUniformLocation? location, Int32List data, optional GLuint srcOffset = 0, + undefined uniform4iv(WebGLUniformLocation? location, Int32List data, optional unsigned long long srcOffset = 0, optional GLuint srcLength = 0); undefined uniformMatrix2fv(WebGLUniformLocation? location, GLboolean transpose, Float32List data, - optional GLuint srcOffset = 0, optional GLuint srcLength = 0); + optional unsigned long long srcOffset = 0, optional GLuint srcLength = 0); undefined uniformMatrix3fv(WebGLUniformLocation? location, GLboolean transpose, Float32List data, - optional GLuint srcOffset = 0, optional GLuint srcLength = 0); + optional unsigned long long srcOffset = 0, optional GLuint srcLength = 0); undefined uniformMatrix4fv(WebGLUniformLocation? location, GLboolean transpose, Float32List data, - optional GLuint srcOffset = 0, optional GLuint srcLength = 0); + optional unsigned long long srcOffset = 0, optional GLuint srcLength = 0); /* Reading back pixels */ // WebGL1: @@ -973,7 +973,7 @@

The WebGL context

undefined readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLintptr offset); undefined readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, - [AllowShared] ArrayBufferView dstData, GLuint dstOffset); + [AllowShared] ArrayBufferView dstData, unsigned long long dstOffset); }; [Exposed=(Window,Worker)] @@ -1188,7 +1188,7 @@

Buffer objects

-
void bufferData(GLenum target, [AllowShared] ArrayBufferView srcData, GLenum usage, GLuint srcOffset, optional GLuint length = 0); +
void bufferData(GLenum target, [AllowShared] ArrayBufferView srcData, GLenum usage, unsigned long long srcOffset, optional GLuint length = 0); (OpenGL ES 3.0.6 §2.10.2, man page) @@ -1223,7 +1223,7 @@

Buffer objects

If any error is generated, buf's size is unmodified, and no data is written to it. -
void bufferSubData(GLenum target, GLintptr dstByteOffset, [AllowShared] ArrayBufferView srcData, GLuint srcOffset, optional GLuint length = 0); +
void bufferSubData(GLenum target, GLintptr dstByteOffset, [AllowShared] ArrayBufferView srcData, unsigned long long srcOffset, optional GLuint length = 0); (OpenGL ES 3.0.6 §2.10.2, man page) @@ -1289,7 +1289,7 @@

Buffer objects

undefined getBufferSubData(GLenum target, GLintptr srcByteOffset, [AllowShared] ArrayBufferView dstBuffer, - optional GLuint dstOffset = 0, + optional unsigned long long dstOffset = 0, optional GLuint length = 0)

@@ -1693,7 +1693,7 @@

Texture objects

undefined texImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, - [AllowShared] ArrayBufferView srcData, GLuint srcOffset) + [AllowShared] ArrayBufferView srcData, unsigned long long srcOffset) (OpenGL ES 3.0.6 §3.8.3, man page) @@ -1835,7 +1835,7 @@

Texture objects

undefined texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, - [AllowShared] ArrayBufferView srcData, GLuint srcOffset) + [AllowShared] ArrayBufferView srcData, unsigned long long srcOffset) (OpenGL ES 3.0.6 §3.8.5, man page) @@ -1903,7 +1903,7 @@

Texture objects

[AllowShared] ArrayBufferView? srcData)

void texImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, - [AllowShared] ArrayBufferView srcData, GLuint srcOffset) + [AllowShared] ArrayBufferView srcData, unsigned long long srcOffset) (OpenGL ES 3.0.6 §3.8.3, man page) @@ -1983,7 +1983,7 @@

Texture objects

undefined texSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, [AllowShared] ArrayBufferView? srcData, - optional GLuint srcOffset = 0) + optional unsigned long long srcOffset = 0) (OpenGL ES 3.0.6 §3.8.5, man page) @@ -2085,7 +2085,7 @@

Texture objects

undefined compressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, [AllowShared] ArrayBufferView srcData, - optional GLuint srcOffset = 0, + optional unsigned long long srcOffset = 0, optional GLuint srcLengthOverride = 0) (OpenGL ES 3.0.6 §3.8.6, @@ -2107,7 +2107,7 @@

Texture objects

undefined compressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, [AllowShared] ArrayBufferView srcData, - optional GLuint srcOffset = 0, + optional unsigned long long srcOffset = 0, optional GLuint srcLengthOverride = 0) (OpenGL ES 3.0.6 §3.8.6, @@ -2130,7 +2130,7 @@

Texture objects

undefined compressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, [AllowShared] ArrayBufferView srcData, - optional GLuint srcOffset = 0, + optional unsigned long long srcOffset = 0, optional GLuint srcLengthOverride = 0) (OpenGL ES 3.0.6 §3.8.6, @@ -2152,7 +2152,7 @@

Texture objects

undefined compressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, [AllowShared] ArrayBufferView srcData, - optional GLuint srcOffset = 0, + optional unsigned long long srcOffset = 0, optional GLuint srcLengthOverride = 0) (OpenGL ES 3.0.6 §3.8.6, @@ -2519,7 +2519,7 @@

Reading back pixels

undefined readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, - GLenum type, [AllowShared] ArrayBufferView dstData, GLuint dstOffset) + GLenum type, [AllowShared] ArrayBufferView dstData, unsigned long long dstOffset) (OpenGL ES 3.0 §4.3.2, man page) @@ -2593,11 +2593,11 @@

Multiple render targets

void clearBufferfv(GLenum buffer, GLint drawbuffer, Float32List values, - optional GLuint srcOffset = 0);

+ optional unsigned long long srcOffset = 0);

void clearBufferiv(GLenum buffer, GLint drawbuffer, Int32List values, - optional GLuint srcOffset = 0);

+ optional unsigned long long srcOffset = 0);

void clearBufferuiv(GLenum buffer, GLint drawbuffer, Uint32List values, - optional GLuint srcOffset = 0);

+ optional unsigned long long srcOffset = 0);

void clearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); (OpenGL ES 3.0.6 §4.2.3,