Skip to content

Commit b7c778e

Browse files
authored
[wasm64] Run all SDL browser64 tests (#20594)
Split out from #20516
1 parent b23c8be commit b7c778e

File tree

5 files changed

+34
-40
lines changed

5 files changed

+34
-40
lines changed

.circleci/config.yml

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -777,33 +777,10 @@ jobs:
777777
- run-tests-chrome:
778778
title: "browser64"
779779
test_targets: "
780-
browser64.test_sdl_swsurface
781-
browser64.test_sdl_surface_lock_opts
782-
browser64.test_sdl_canvas
783-
browser64.test_sdl_canvas_proxy
784-
browser64.test_sdl_canvas_alpha
785780
browser64.test_canvas_focus
786-
browser64.test_sdl_text
787-
browser64.test_sdl_mouse
788-
browser64.test_sdl_mouse_offsets
789-
browser64.test_sdl_joystick_1
790-
browser64.test_sdl_joystick_2
791781
browser64.test_idbstore
792782
browser64.test_idbstore_sync_asyncify
793783
browser64.test_idbstore_sync_jspi
794-
browser64.test_sdl_pumpevents
795-
browser64.test_sdl_canvas_size
796-
browser64.test_sdl_gl_read
797-
browser64.test_sdl_gl_mapbuffers
798-
browser64.test_sdl_ogl
799-
browser64.test_sdl_ogl_defaultmatrixmode
800-
browser64.test_sdl_ogl_p
801-
browser64.test_sdl_ogl_proc_alias
802-
browser64.test_sdl_fog_simple
803-
browser64.test_sdl_fog_negative
804-
browser64.test_sdl_fog_density
805-
browser64.test_sdl_fog_exp2
806-
browser64.test_sdl_fog_linear
807784
browser64.test_egl
808785
browser64.test_egl_width_height
809786
browser64.test_egl_createcontext_error
@@ -824,6 +801,7 @@ jobs:
824801
browser64.test_wget_*
825802
browser64.test_emscripten_async_wget_*
826803
browser64.test_wasm_worker_*
804+
browser64.test_sdl_*
827805
"
828806
test-browser-firefox:
829807
executor: bionic

emscripten.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -894,6 +894,8 @@ def create_pointer_conversion_wrappers(metadata):
894894
'emscripten_builtin_malloc': 'pp',
895895
'malloc': 'pp',
896896
'memalign': 'ppp',
897+
'memcmp': '_ppp',
898+
'memcpy': 'pppp',
897899
'__getTypeName': 'pp',
898900
'setThrew': '_p',
899901
'free': '_p',
@@ -917,6 +919,10 @@ def create_pointer_conversion_wrappers(metadata):
917919
'__cxa_increment_exception_refcount': '_p',
918920
'__cxa_decrement_exception_refcount': '_p',
919921
'_wasmfs_write_file': '_ppp',
922+
'_wasmfs_mknod': '_p__',
923+
'_wasmfs_get_cwd': 'p_',
924+
'_wasmfs_identify': '_p',
925+
'_wasmfs_read_file': 'pp',
920926
'__dl_seterr': '_pp',
921927
'_emscripten_run_on_main_thread_js': '___p_',
922928
'_emscripten_proxy_execute_task_queue': '_p',
@@ -933,6 +939,11 @@ def create_pointer_conversion_wrappers(metadata):
933939
'asyncify_start_rewind': '_p',
934940
'asyncify_start_unwind': '_p',
935941
'__get_exception_message': '_ppp',
942+
'stbi_image_free': 'vp',
943+
'stbi_load': 'ppppp_',
944+
'stbi_load_from_memory': 'pp_ppp_',
945+
'emscripten_proxy_finish': '_p',
946+
'emscripten_proxy_execute_queue': '_p',
936947
}
937948

938949
for function in settings.SIGNATURE_CONVERSIONS:

src/library_browser.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -716,11 +716,11 @@ var LibraryBrowser = {
716716
new Uint8Array(data.object.contents), true, true,
717717
() => {
718718
{{{ runtimeKeepalivePop() }}}
719-
if (onload) {{{ makeDynCall('vi', 'onload') }}}(file);
719+
if (onload) {{{ makeDynCall('vp', 'onload') }}}(file);
720720
},
721721
() => {
722722
{{{ runtimeKeepalivePop() }}}
723-
if (onerror) {{{ makeDynCall('vi', 'onerror') }}}(file);
723+
if (onerror) {{{ makeDynCall('vp', 'onerror') }}}(file);
724724
},
725725
true // don'tCreateFile - it's already there
726726
);
@@ -743,11 +743,11 @@ var LibraryBrowser = {
743743
true, true,
744744
() => {
745745
{{{ runtimeKeepalivePop() }}}
746-
if (onload) {{{ makeDynCall('vii', 'onload') }}}(arg, cname);
746+
if (onload) {{{ makeDynCall('vpp', 'onload') }}}(arg, cname);
747747
},
748748
() => {
749749
{{{ runtimeKeepalivePop() }}}
750-
if (onerror) {{{ makeDynCall('vi', 'onerror') }}}(arg);
750+
if (onerror) {{{ makeDynCall('vp', 'onerror') }}}(arg);
751751
},
752752
true // don'tCreateFile - it's already there
753753
);
@@ -1224,7 +1224,7 @@ var LibraryBrowser = {
12241224
{{{ runtimeKeepalivePush() }}}
12251225
callbackId = info.callbacks.length;
12261226
info.callbacks.push({
1227-
func: {{{ makeDynCall('viii', 'callback') }}},
1227+
func: {{{ makeDynCall('vpip', 'callback') }}},
12281228
arg
12291229
});
12301230
info.awaited++;

test/test_browser.py

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -774,25 +774,29 @@ def test_sdl_surface_lock_opts(self):
774774
# Test Emscripten-specific extensions to optimize SDL_LockSurface and SDL_UnlockSurface.
775775
self.btest('hello_world_sdl.cpp', reference='htmltest.png', args=['-DTEST_SDL_LOCK_OPTS', '-lSDL', '-lGL'])
776776

777+
@parameterized({
778+
'': ([],),
779+
'meminit_file': (['--memory-init-file=1', '-sWASM=0'],),
780+
})
777781
@also_with_wasmfs
778-
def test_sdl_image(self):
782+
def test_sdl_image(self, args):
779783
# load an image file, get pixel data. Also O2 coverage for --preload-file, and memory-init
780784
shutil.copyfile(test_file('screenshot.jpg'), 'screenshot.jpg')
781785
src = test_file('browser/test_sdl_image.c')
786+
if '-sWASM=0' in args:
787+
self.require_wasm2js()
782788

783-
for args in [[], ['--memory-init-file=1', '-sWASM=0']]:
784-
for dest, dirname, basename in [('screenshot.jpg', '/', 'screenshot.jpg'),
785-
('screenshot.jpg@/assets/screenshot.jpg', '/assets', 'screenshot.jpg')]:
786-
self.btest_exit(src, args=args + [
787-
'-O2', '-lSDL', '-lGL',
788-
'--preload-file', dest, '-DSCREENSHOT_DIRNAME="' + dirname + '"', '-DSCREENSHOT_BASENAME="' + basename + '"', '--use-preload-plugins'
789-
])
789+
for dest, dirname, basename in [('screenshot.jpg', '/', 'screenshot.jpg'),
790+
('screenshot.jpg@/assets/screenshot.jpg', '/assets', 'screenshot.jpg')]:
791+
self.btest_exit(src, args=args + [
792+
'-O2', '-lSDL', '-lGL',
793+
'--preload-file', dest, '-DSCREENSHOT_DIRNAME="' + dirname + '"', '-DSCREENSHOT_BASENAME="' + basename + '"', '--use-preload-plugins'
794+
])
790795

791796
@also_with_wasmfs
792797
def test_sdl_image_jpeg(self):
793798
shutil.copyfile(test_file('screenshot.jpg'), 'screenshot.jpeg')
794-
src = test_file('browser/test_sdl_image.c')
795-
self.btest_exit(src, args=[
799+
self.btest_exit('test_sdl_image.c', args=[
796800
'--preload-file', 'screenshot.jpeg',
797801
'-DSCREENSHOT_DIRNAME="/"', '-DSCREENSHOT_BASENAME="screenshot.jpeg"', '--use-preload-plugins',
798802
'-lSDL', '-lGL',
@@ -1992,10 +1996,12 @@ def test_glgetattachedshaders(self):
19921996
def test_glframebufferattachmentinfo(self):
19931997
self.btest('glframebufferattachmentinfo.c', '1', args=['-lGLESv2', '-lEGL'])
19941998

1999+
@no_wasm64('TODO: LEGACY_GL_EMULATION + wasm64')
19952000
@requires_graphics_hardware
19962001
def test_sdl_glshader(self):
19972002
self.btest('test_sdl_glshader.c', reference='browser/test_sdl_glshader.png', args=['-O2', '--closure=1', '-sLEGACY_GL_EMULATION', '-lGL', '-lSDL'])
19982003

2004+
@no_wasm64('TODO: LEGACY_GL_EMULATION + wasm64')
19992005
@requires_graphics_hardware
20002006
def test_sdl_glshader2(self):
20012007
self.btest_exit('test_sdl_glshader2.c', args=['-sLEGACY_GL_EMULATION', '-lGL', '-lSDL'], also_proxied=True)
@@ -3421,6 +3427,7 @@ def test_async_mainloop(self):
34213427
self.btest_exit('async_mainloop.cpp', args=['-O' + str(opts), '-sASYNCIFY'])
34223428

34233429
@requires_sound_hardware
3430+
@no_wasm64('https://github.com/WebAssembly/binaryen/issues/6073')
34243431
def test_sdl_audio_beep_sleep(self):
34253432
self.btest_exit('test_sdl_audio_beep_sleep.cpp', args=['-Os', '-sASSERTIONS', '-sDISABLE_EXCEPTION_CATCHING=0', '-profiling', '-sSAFE_HEAP', '-lSDL', '-sASYNCIFY'], timeout=90)
34263433

tools/ports/regal.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,6 @@ def create(final):
106106
'-I' + source_path_regal,
107107
'-I' + source_path_lookup3,
108108
'-I' + source_path_boost,
109-
'-Wall',
110-
'-Werror',
111109
'-Wno-deprecated-register',
112110
'-Wno-unused-parameter'
113111
]

0 commit comments

Comments
 (0)