From 0ca2eac35bab941ec27b50e51d31036df03acf84 Mon Sep 17 00:00:00 2001 From: Ken Russell Date: Fri, 8 Sep 2023 16:13:27 -0700 Subject: [PATCH] Update ABV offset args in extensions from u32->u64. (#3588) Updates the ArrayBufferView offset arguments in the following extensions: WEBGL_multi_draw WEBGL_multi_draw_instanced_base_vertex_base_instance WEBGL_shader_pixel_local_storage to better support large WebAssembly heaps. Follow-on to #3586. --- extensions/WEBGL_multi_draw/extension.xml | 43 ++++++++++--------- .../extension.xml | 39 +++++++++-------- .../extension.xml | 15 ++++--- 3 files changed, 53 insertions(+), 44 deletions(-) diff --git a/extensions/WEBGL_multi_draw/extension.xml b/extensions/WEBGL_multi_draw/extension.xml index c49f3421c7..d507968816 100644 --- a/extensions/WEBGL_multi_draw/extension.xml +++ b/extensions/WEBGL_multi_draw/extension.xml @@ -68,27 +68,27 @@ interface WEBGL_multi_draw { undefined multiDrawArraysWEBGL( GLenum mode, - ([AllowShared] Int32Array or sequence<GLint>) firstsList, GLuint firstsOffset, - ([AllowShared] Int32Array or sequence<GLsizei>) countsList, GLuint countsOffset, + ([AllowShared] Int32Array or sequence<GLint>) firstsList, unsigned long long firstsOffset, + ([AllowShared] Int32Array or sequence<GLsizei>) countsList, unsigned long long countsOffset, GLsizei drawcount); undefined multiDrawElementsWEBGL( GLenum mode, - ([AllowShared] Int32Array or sequence<GLsizei>) countsList, GLuint countsOffset, + ([AllowShared] Int32Array or sequence<GLsizei>) countsList, unsigned long long countsOffset, GLenum type, - ([AllowShared] Int32Array or sequence<GLsizei>) offsetsList, GLuint offsetsOffset, + ([AllowShared] Int32Array or sequence<GLsizei>) offsetsList, unsigned long long offsetsOffset, GLsizei drawcount); undefined multiDrawArraysInstancedWEBGL( GLenum mode, - ([AllowShared] Int32Array or sequence<GLint>) firstsList, GLuint firstsOffset, - ([AllowShared] Int32Array or sequence<GLsizei>) countsList, GLuint countsOffset, - ([AllowShared] Int32Array or sequence<GLsizei>) instanceCountsList, GLuint instanceCountsOffset, + ([AllowShared] Int32Array or sequence<GLint>) firstsList, unsigned long long firstsOffset, + ([AllowShared] Int32Array or sequence<GLsizei>) countsList, unsigned long long countsOffset, + ([AllowShared] Int32Array or sequence<GLsizei>) instanceCountsList, unsigned long long instanceCountsOffset, GLsizei drawcount); undefined multiDrawElementsInstancedWEBGL( GLenum mode, - ([AllowShared] Int32Array or sequence<GLsizei>) countsList, GLuint countsOffset, + ([AllowShared] Int32Array or sequence<GLsizei>) countsList, unsigned long long countsOffset, GLenum type, - ([AllowShared] Int32Array or sequence<GLsizei>) offsetsList, GLuint offsetsOffset, - ([AllowShared] Int32Array or sequence<GLsizei>) instanceCountsList, GLuint instanceCountsOffset, + ([AllowShared] Int32Array or sequence<GLsizei>) offsetsList, unsigned long long offsetsOffset, + ([AllowShared] Int32Array or sequence<GLsizei>) instanceCountsList, unsigned long long instanceCountsOffset, GLsizei drawcount); }; @@ -98,39 +98,39 @@ interface WEBGL_multi_draw { - + - + - + - + - + - + - + - + - + - + @@ -213,5 +213,8 @@ void main() { Add [AllowShared] to all typed array arguments for compatibility with multi-threaded WebAssembly. + + Changed offset arguments to "unsigned long long" for Wasm. + diff --git a/extensions/WEBGL_multi_draw_instanced_base_vertex_base_instance/extension.xml b/extensions/WEBGL_multi_draw_instanced_base_vertex_base_instance/extension.xml index 6ff2055301..1e7cb7d214 100644 --- a/extensions/WEBGL_multi_draw_instanced_base_vertex_base_instance/extension.xml +++ b/extensions/WEBGL_multi_draw_instanced_base_vertex_base_instance/extension.xml @@ -90,20 +90,20 @@ interface WEBGL_multi_draw_instanced_base_vertex_base_instance { undefined multiDrawArraysInstancedBaseInstanceWEBGL( GLenum mode, - ([AllowShared] Int32Array or sequence<GLint>) firstsList, GLuint firstsOffset, - ([AllowShared] Int32Array or sequence<GLsizei>) countsList, GLuint countsOffset, - ([AllowShared] Int32Array or sequence<GLsizei>) instanceCountsList, GLuint instanceCountsOffset, - ([AllowShared] Uint32Array or sequence<GLuint>) baseInstancesList, GLuint baseInstancesOffset, + ([AllowShared] Int32Array or sequence<GLint>) firstsList, unsigned long long firstsOffset, + ([AllowShared] Int32Array or sequence<GLsizei>) countsList, unsigned long long countsOffset, + ([AllowShared] Int32Array or sequence<GLsizei>) instanceCountsList, unsigned long long instanceCountsOffset, + ([AllowShared] Uint32Array or sequence<GLuint>) baseInstancesList, unsigned long long baseInstancesOffset, GLsizei drawcount ); undefined multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL( GLenum mode, - ([AllowShared] Int32Array or sequence<GLsizei>) countsList, GLuint countsOffset, + ([AllowShared] Int32Array or sequence<GLsizei>) countsList, unsigned long long countsOffset, GLenum type, - ([AllowShared] Int32Array or sequence<GLsizei>) offsetsList, GLuint offsetsOffset, - ([AllowShared] Int32Array or sequence<GLsizei>) instanceCountsList, GLuint instanceCountsOffset, - ([AllowShared] Int32Array or sequence<GLint>) baseVerticesList, GLuint baseVerticesOffset, - ([AllowShared] Uint32Array or sequence<GLuint>) baseInstancesList, GLuint baseInstancesOffset, + ([AllowShared] Int32Array or sequence<GLsizei>) offsetsList, unsigned long long offsetsOffset, + ([AllowShared] Int32Array or sequence<GLsizei>) instanceCountsList, unsigned long long instanceCountsOffset, + ([AllowShared] Int32Array or sequence<GLint>) baseVerticesList, unsigned long long baseVerticesOffset, + ([AllowShared] Uint32Array or sequence<GLuint>) baseInstancesList, unsigned long long baseInstancesOffset, GLsizei drawcount ); }; @@ -113,28 +113,28 @@ interface WEBGL_multi_draw_instanced_base_vertex_base_instance { - + - + - + - + - + - + - + - + - + @@ -216,5 +216,8 @@ void main() { Removed GLSL extension and builtins. + + Changed offset arguments to "unsigned long long" for Wasm. + diff --git a/extensions/WEBGL_shader_pixel_local_storage/extension.xml b/extensions/WEBGL_shader_pixel_local_storage/extension.xml index 3bcbc575c5..f13892cfe1 100644 --- a/extensions/WEBGL_shader_pixel_local_storage/extension.xml +++ b/extensions/WEBGL_shader_pixel_local_storage/extension.xml @@ -89,13 +89,13 @@ interface WEBGL_shader_pixel_local_storage { GLint layer); undefined framebufferPixelLocalClearValuefvWEBGL(GLint plane, Float32List value, - optional GLuint srcOffset = 0); + optional unsigned long long srcOffset = 0); undefined framebufferPixelLocalClearValueivWEBGL(GLint plane, Int32List value, - optional GLuint srcOffset = 0); + optional unsigned long long srcOffset = 0); undefined framebufferPixelLocalClearValueuivWEBGL(GLint plane, Uint32List value, - optional GLuint srcOffset = 0); + optional unsigned long long srcOffset = 0); undefined beginPixelLocalStorageWEBGL(sequence<GLenum> loadops); undefined endPixelLocalStorageWEBGL(sequence<GLenum> storeops); undefined pixelLocalStorageBarrierWEBGL(); @@ -139,7 +139,7 @@ interface WEBGL_shader_pixel_local_storage { - +

Sets the floating point clear value for the given plane.

@@ -154,7 +154,7 @@ interface WEBGL_shader_pixel_local_storage { - +

Sets the signed integer clear value for the given plane.

@@ -169,7 +169,7 @@ interface WEBGL_shader_pixel_local_storage { - +

Sets the unsigned integer clear value for the given plane.

@@ -279,5 +279,8 @@ interface WEBGL_shader_pixel_local_storage { Initial Draft. + + Changed srcOffset arguments to "unsigned long long" for Wasm. +