From 72c3be342861765b620ea0d00e192aa2ac19b744 Mon Sep 17 00:00:00 2001 From: Sam Clegg Date: Sat, 27 Jan 2024 00:57:37 +0000 Subject: [PATCH] [wasm64] Fix glSharedSource in >4gb mode and enable test under wasm64 (#21184) --- .circleci/config.yml | 1 + src/library_webgl.js | 4 ++-- test/code_size/hello_webgl2_wasm.json | 8 ++++---- test/code_size/hello_webgl2_wasm2js.json | 8 ++++---- test/code_size/hello_webgl_wasm.json | 8 ++++---- test/code_size/hello_webgl_wasm2js.json | 8 ++++---- 6 files changed, 19 insertions(+), 18 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index cd1428b86aeb..dffff08b436f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -816,6 +816,7 @@ jobs: browser64_4gb.test_async_* browser64_4gb.test_audio_worklet* browser64_4gb.test_emscripten_log + browser64_4gb.test_clientside_vertex_arrays_es3 " test-browser-firefox: executor: bionic diff --git a/src/library_webgl.js b/src/library_webgl.js index 9bcfc55921ef..c4c507255a2c 100644 --- a/src/library_webgl.js +++ b/src/library_webgl.js @@ -425,8 +425,8 @@ for (/**@suppress{duplicate}*/var i = 0; i < {{{ GL_POOL_TEMP_BUFFERS_SIZE }}}; getSource: (shader, count, string, length) => { var source = ''; for (var i = 0; i < count; ++i) { - var len = length ? {{{ makeGetValue('length', 'i*4', 'i32') }}} : -1; - source += UTF8ToString({{{ makeGetValue('string', 'i*4', 'i32') }}}, len < 0 ? undefined : len); + var len = length ? {{{ makeGetValue('length', 'i*' * POINTER_SIZE, '*') }}} : undefined; + source += UTF8ToString({{{ makeGetValue('string', 'i*' + POINTER_SIZE, '*') }}}, len); } #if LEGACY_GL_EMULATION // Let's see if we need to enable the standard derivatives extension diff --git a/test/code_size/hello_webgl2_wasm.json b/test/code_size/hello_webgl2_wasm.json index 3952a359b432..708a528a29e1 100644 --- a/test/code_size/hello_webgl2_wasm.json +++ b/test/code_size/hello_webgl2_wasm.json @@ -1,10 +1,10 @@ { "a.html": 569, "a.html.gz": 379, - "a.js": 4697, - "a.js.gz": 2419, + "a.js": 4681, + "a.js.gz": 2412, "a.wasm": 10388, "a.wasm.gz": 6692, - "total": 15654, - "total_gz": 9490 + "total": 15638, + "total_gz": 9483 } diff --git a/test/code_size/hello_webgl2_wasm2js.json b/test/code_size/hello_webgl2_wasm2js.json index b517182ac5ea..823857f3e7a8 100644 --- a/test/code_size/hello_webgl2_wasm2js.json +++ b/test/code_size/hello_webgl2_wasm2js.json @@ -1,10 +1,10 @@ { "a.html": 567, "a.html.gz": 379, - "a.js": 17931, - "a.js.gz": 8098, + "a.js": 17917, + "a.js.gz": 8089, "a.mem": 3123, "a.mem.gz": 2693, - "total": 21621, - "total_gz": 11170 + "total": 21607, + "total_gz": 11161 } diff --git a/test/code_size/hello_webgl_wasm.json b/test/code_size/hello_webgl_wasm.json index a8d0e016d22e..1d73a396b738 100644 --- a/test/code_size/hello_webgl_wasm.json +++ b/test/code_size/hello_webgl_wasm.json @@ -1,10 +1,10 @@ { "a.html": 569, "a.html.gz": 379, - "a.js": 4183, - "a.js.gz": 2241, + "a.js": 4167, + "a.js.gz": 2236, "a.wasm": 10388, "a.wasm.gz": 6692, - "total": 15140, - "total_gz": 9312 + "total": 15124, + "total_gz": 9307 } diff --git a/test/code_size/hello_webgl_wasm2js.json b/test/code_size/hello_webgl_wasm2js.json index 171e6eea03c2..cb6d778b2b99 100644 --- a/test/code_size/hello_webgl_wasm2js.json +++ b/test/code_size/hello_webgl_wasm2js.json @@ -1,10 +1,10 @@ { "a.html": 567, "a.html.gz": 379, - "a.js": 17409, - "a.js.gz": 7912, + "a.js": 17395, + "a.js.gz": 7900, "a.mem": 3123, "a.mem.gz": 2693, - "total": 21099, - "total_gz": 10984 + "total": 21085, + "total_gz": 10972 }