emscripten-core / emscripten

Emscripten: An LLVM-to-WebAssembly Compiler
Other
25.75k stars 3.3k forks source link

emscripten_webgl_do_create_context won't honor alpha without debug options #20327

Closed kallaballa closed 1 year ago

kallaballa commented 1 year ago

I am using #19233 which in turn calls _emscripten_webgl_do_create_context to create a context. I've made sure the attributes I pass contain alpha: true but i end up with a context without alpha enabled. If I build it with debug options it works.

Version of emscripten/emsdk: emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 3.1.46 (19607820c447a13fd8d0b7680c56148427d6e1b8) clang version 18.0.0 (https://github.com/llvm/llvm-project 75501f53624de92aafce2f1da698b249a7293dc7) Target: wasm32-unknown-emscripten Thread model: posix InstalledDir: /home/elchaschab/build/emsdk/upstream/bin

Failing command line in full: /home/elchaschab/build/emsdk/upstream/emscripten/em++ -s USE_PTHREADS=1 -s PTHREAD_POOL_SIZE_STRICT=0 -s PTHREAD_POOL_SIZE=8 -s USE_ZLIB=1 -msimd128 -fsigned-char -W -Wall -Wreturn-type -Wnon-virtual-dtor -Waddress -Wsequence-point -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winconsistent-missing-override -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -Wno-comment -Wno-deprecated-enum-enum-conversion -Wno-deprecated-anon-enum-enum-conversion -fdiagnostics-show-option -pthread -Qunused-arguments -ffunction-sections -fdata-sections -fvisibility=hidden -fvisibility-inlines-hidden -Wno-deprecated-enum-enum-conversion -O3 -DNDEBUG -DNDEBUG -Wl,--gc-sections -sENVIRONMENT=web,worker -sWASM_BIGINT=1 -sOFFSCREENCANVAS_SUPPORT -sOFFSCREENCANVASES_TO_PTHREAD=#v4dOffscreenCanvas -sEXPORTED_FUNCTIONS=_main,_v4dInitCapture -sEXPORTED_RUNTIME_METHODS=ccall -sPROXY_TO_PTHREAD=1 --use-preload-plugins --preload-file "/home/elchaschab/opencv_wasm/assets/fonts/" --preload-file "/home/elchaschab/opencv_wasm/modules/v4d/doc/lena.png" -sINITIAL_MEMORY=128MB -sALLOW_MEMORY_GROWTH=1 -sUSE_GLFW=3 -sMIN_WEBGL_VERSION=2 -sMAX_WEBGL_VERSION=2 --bind @CMakeFiles/example_v4d_many_cubes-demo.dir/objects1.rsp -o ../../bin/example_v4d_many_cubes-demo.js @CMakeFiles/example_v4d_many_cubes-demo.dir/linkLibs.rsp

Full link command and output with -v appended: /home/elchaschab/build/emsdk/upstream/emscripten/em++ -v -s USE_PTHREADS=1 -s PTHREAD_POOL_SIZE_STRICT=0 -s PTHREAD_POOL_SIZE=8 -s USE_ZLIB=1 -msimd128 -fsigned-char -W -Wall -Wreturn-type -Wnon-virtual-dtor -Waddress -Wsequence-point -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winconsistent-missing-override -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -Wno-comment -Wno-deprecated-enum-enum-conversion -Wno-deprecated-anon-enum-enum-conversion -fdiagnostics-show-option -pthread -Qunused-arguments -ffunction-sections -fdata-sections -fvisibility=hidden -fvisibility-inlines-hidden -Wno-deprecated-enum-enum-conversion -O3 -DNDEBUG -DNDEBUG -Wl,--gc-sections -sENVIRONMENT=web,worker -sWASM_BIGINT=1 -sOFFSCREENCANVAS_SUPPORT -sOFFSCREENCANVASES_TO_PTHREAD=#v4dOffscreenCanvas -sEXPORTED_FUNCTIONS=_main,_v4dInitCapture -sEXPORTED_RUNTIME_METHODS=ccall -sPROXY_TO_PTHREAD=1 --use-preload-plugins --preload-file "/home/elchaschab/opencv_wasm/assets/fonts/" --preload-file "/home/elchaschab/opencv_wasm/modules/v4d/doc/lena.png" -sINITIAL_MEMORY=128MB -sALLOW_MEMORY_GROWTH=1 -sUSE_GLFW=3 -sMIN_WEBGL_VERSION=2 -sMAX_WEBGL_VERSION=2 --bind -sGL_DEBUG=1 @CMakeFiles/example_v4d_many_cubes-demo.dir/objects1.rsp -o ../../bin/example_v4d_many_cubes-demo.js @CMakeFiles/example_v4d_many_cubes-demo.dir/linkLibs.rsp "/home/elchaschab/build/emsdk/upstream/bin/clang" --version em++: warning: -pthread + ALLOW_MEMORY_GROWTH may run non-wasm code slowly, see https://github.com/WebAssembly/design/issues/1271 [-Wpthreads-mem-growth] "/home/elchaschab/build/emsdk/upstream/emscripten/tools/file_packager" ../../bin/example_v4d_many_cubes-demo.data --from-emcc --preload /home/elchaschab/opencv_wasm/assets/fonts/ /home/elchaschab/opencv_wasm/modules/v4d/doc/lena.png --use-preload-plugins --no-node Warning: Embedding an absolute file/directory name "/home/elchaschab/opencv_wasm/modules/v4d/doc/lena.png" to the virtual filesystem. The file will be made available in the relative path "doc/lena.png". You can use the --preload-file srcpath@dstpath syntax to explicitly specify the target location the absolute source path should be directed to. "/home/elchaschab/build/emsdk/upstream/bin/wasm-ld" -o ../../bin/example_v4d_many_cubes-demo.wasm --gc-sections CMakeFiles/example_v4d_many_cubes-demo.dir/samples/many_cubes-demo.cpp.o CMakeFiles/example_v4d_many_cubes-demo.dir/third/imgui/imgui.cpp.o CMakeFiles/example_v4d_many_cubes-demo.dir/third/imgui/imgui_demo.cpp.o CMakeFiles/example_v4d_many_cubes-demo.dir/third/imgui/imgui_draw.cpp.o CMakeFiles/example_v4d_many_cubes-demo.dir/third/imgui/imgui_tables.cpp.o CMakeFiles/example_v4d_many_cubes-demo.dir/third/imgui/imgui_widgets.cpp.o CMakeFiles/example_v4d_many_cubes-demo.dir/third/imgui/backends/imgui_impl_opengl3.cpp.o CMakeFiles/example_v4d_many_cubes-demo.dir/third/imgui/backends/imgui_impl_glfw.cpp.o -L/home/elchaschab/opencv_wasm/modules/v4d/../../lib ../../lib/libopencv_v4d.a ../../lib/libopencv_core.a ../../lib/libopencv_imgproc.a ../../lib/libopencv_videoio.a ../../lib/libopencv_video.a ../../lib/libopencv_imgcodecs.a ../../lib/libopencv_v4d.a ../../lib/libopencv_face.a ../../lib/libopencv_tracking.a ../../lib/libopencv_objdetect.a ../../lib/libopencv_stitching.a ../../lib/libopencv_optflow.a ../../lib/libopencv_imgcodecs.a ../../lib/libopencv_features2d.a ../../lib/libopencv_dnn.a ../../lib/libopencv_flann.a ../../lib/libopencv_videoio.a /home/elchaschab/opencv_wasm/modules/v4d/../../lib/libnanovg.a ../../3rdparty/lib/libquirc.a ../../lib/libopencv_photo.a ../../lib/libopencv_plot.a ../../lib/libopencv_ximgproc.a ../../lib/libopencv_video.a ../../lib/libopencv_imgcodecs.a ../../3rdparty/lib/liblibopenjp2.a ../../lib/libopencv_dnn.a ../../3rdparty/lib/liblibprotobuf.a ../../lib/libopencv_calib3d.a ../../lib/libopencv_features2d.a ../../lib/libopencv_imgproc.a ../../lib/libopencv_flann.a ../../lib/libopencv_core.a /home/elchaschab/build/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libz.a -L/home/elchaschab/build/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten /home/elchaschab/build/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libz.a /home/elchaschab/build/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/crtbegin.o /home/elchaschab/build/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/crt1_proxy_main.o --whole-archive -lembind-rtti -lGL-mt-webgl2 --no-whole-archive -lal -lhtml5 -lbulkmemory -lstubs -lnoexit -lc-mt -ldlmalloc-mt -lcompiler_rt-mt -lc++-mt-noexcept -lc++abi-mt-noexcept -lsockets-mt -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmp5qow629plibemscripten_js_symbols.so --import-memory --shared-memory --strip-debug --export-if-defined=main --export-if-defined=v4dInitCapture --export-if-defined=_emscripten_thread_init --export-if-defined=_emscripten_thread_exit --export-if-defined=_emscripten_thread_crashed --export-if-defined=_emscripten_tls_init --export-if-defined=pthread_self --export-if-defined=start_em_asm --export-if-defined=stop_em_asm --export-if-defined=start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=start_em_js --export-if-defined=stop_em_js --export-if-defined=main_argc_argv --export=stackSave --export=stackRestore --export=stackAlloc --export=__errno_location --export=_emscripten_thread_free_data --export=emscripten_main_runtime_thread_id --export=emscripten_main_thread_process_queued_calls --export=_emscripten_run_on_main_thread_js --export=emscripten_stack_set_limits --export=malloc --export=free --export=__wasm_call_ctors --export=_emscripten_thread_init --export=_emscripten_thread_exit --export-table -z stack-size=65536 --initial-memory=134217728 --max-memory=2147483648 --entry=_emscripten_proxy_main --table-base=1 --global-base=1024 "/home/elchaschab/build/emsdk/upstream/bin/llvm-objcopy" ../../bin/example_v4d_many_cubes-demo.wasm ../../bin/example_v4d_many_cubes-demo.wasm --remove-section=.debug* --remove-section=producers "/home/elchaschab/build/emsdk/node/16.20.0_64bit/bin/node" /home/elchaschab/build/emsdk/upstream/emscripten/src/compiler.js /tmp/tmpotaepif4.json "/home/elchaschab/build/emsdk/upstream/bin/wasm-opt" --post-emscripten -O3 --low-memory-unused --zero-filled-memory --pass-arg=directize-initial-contents-immutable ../../bin/example_v4d_many_cubes-demo.wasm -o ../../bin/example_v4d_many_cubes-demo.wasm --mvp-features --enable-threads --enable-bulk-memory --enable-mutable-globals --enable-sign-ext --enable-simd "/home/elchaschab/build/emsdk/node/16.20.0_64bit/bin/node" /home/elchaschab/build/emsdk/upstream/emscripten/tools/acorn-optimizer.js /tmp/emscripten_temp_6b0ehu08/example_v4d_many_cubes-demo.js growableHeap -o /tmp/emscripten_temp_6b0ehu08/example_v4d_many_cubes-demo.jso1.js "/home/elchaschab/build/emsdk/node/16.20.0_64bit/bin/node" /home/elchaschab/build/emsdk/upstream/emscripten/tools/acorn-optimizer.js /tmp/emscripten_temp_6b0ehu08/example_v4d_many_cubes-demo.js.pgrow.js AJSDCE minifyWhitespace -o /tmp/emscripten_temp_6b0ehu08/example_v4d_many_cubes-demo.js.pgrow.jso2.js "/home/elchaschab/build/emsdk/node/16.20.0_64bit/bin/node" /home/elchaschab/build/emsdk/upstream/emscripten/tools/acorn-optimizer.js /tmp/emcc_acorn_info_l352ah7f.js emitDCEGraph noPrint "/home/elchaschab/build/emsdk/upstream/bin/wasm-metadce" --graph-file=/tmp/emcc_dce_graph_364fctg6.json ../../bin/example_v4d_many_cubes-demo.wasm -o ../../bin/example_v4d_many_cubes-demo.wasm --mvp-features --enable-threads --enable-bulk-memory --enable-mutable-globals --enable-sign-ext --enable-simd "/home/elchaschab/build/emsdk/node/16.20.0_64bit/bin/node" /home/elchaschab/build/emsdk/upstream/emscripten/tools/acorn-optimizer.js /tmp/emcc_acorn_info_u_peppce.js applyDCEGraphRemovals minifyWhitespace -o /tmp/emscripten_temp_6b0ehu08/example_v4d_many_cubes-demo.js.pgrow.jso3.js "/home/elchaschab/build/emsdk/node/16.20.0_64bit/bin/node" /home/elchaschab/build/emsdk/upstream/emscripten/tools/acorn-optimizer.js /tmp/emscripten_temp_6b0ehu08/example_v4d_many_cubes-demo.js.pgrow.jso3.js AJSDCE minifyWhitespace -o /tmp/emscripten_temp_6b0ehu08/example_v4d_many_cubes-demo.js.pgrow.jso4.js "/home/elchaschab/build/emsdk/upstream/bin/wasm-opt" --minify-imports-and-exports-and-modules ../../bin/example_v4d_many_cubes-demo.wasm -o ../../bin/example_v4d_many_cubes-demo.wasm --mvp-features --enable-threads --enable-bulk-memory --enable-mutable-globals --enable-sign-ext --enable-simd "/home/elchaschab/build/emsdk/node/16.20.0_64bit/bin/node" /home/elchaschab/build/emsdk/upstream/emscripten/tools/acorn-optimizer.js /tmp/emcc_acorn_info_7osjj9fp.js applyImportAndExportNameChanges minifyWhitespace -o /tmp/emscripten_temp_6b0ehu08/example_v4d_many_cubes-demo.js.pgrow.jso5.js "/home/elchaschab/build/emsdk/node/16.20.0_64bit/bin/node" /home/elchaschab/build/emsdk/upstream/emscripten/tools/preprocessor.js /tmp/emscripten_temp_6b0ehu08/settings.js worker.js --expandMacros "/home/elchaschab/build/emsdk/node/16.20.0_64bit/bin/node" /home/elchaschab/build/emsdk/upstream/emscripten/tools/acorn-optimizer.js /home/elchaschab/opencv_wasm/bin/example_v4d_many_cubes-demo.worker.js minifyWhitespace

This configuration successfully provides a webgl context with alpha /home/elchaschab/build/emsdk/upstream/emscripten/em++ -v -s USE_PTHREADS=1 -s PTHREAD_POOL_SIZE_STRICT=0 -s PTHREAD_POOL_SIZE=8 -s USE_ZLIB=1 -msimd128 -fsigned-char -W -Wall -Wreturn-type -Wnon-virtual-dtor -Waddress -Wsequence-point -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winconsistent-missing-override -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -Wno-comment -Wno-deprecated-enum-enum-conversion -Wno-deprecated-anon-enum-enum-conversion -fdiagnostics-show-option -pthread -Qunused-arguments -ffunction-sections -fdata-sections -fvisibility=hidden -fvisibility-inlines-hidden -Wno-deprecated-enum-enum-conversion -g -O0 -DDEBUG -D_DEBUG -Wl,--gc-sections -sENVIRONMENT=web,worker -sWASM_BIGINT=1 -sOFFSCREENCANVAS_SUPPORT -sOFFSCREENCANVASES_TO_PTHREAD=#v4dOffscreenCanvas -sEXPORTED_FUNCTIONS=_main,_v4dInitCapture -sEXPORTED_RUNTIME_METHODS=ccall -sPROXY_TO_PTHREAD=1 --use-preload-plugins --preload-file "/home/elchaschab/opencv_wasm/assets/fonts/" --preload-file "/home/elchaschab/opencv_wasm/modules/v4d/doc/lena.png" -sINITIAL_MEMORY=128MB -sALLOW_MEMORY_GROWTH=1 -sUSE_GLFW=3 -sMIN_WEBGL_VERSION=2 -sMAX_WEBGL_VERSION=2 --bind @CMakeFiles/example_v4d_many_cubes-demo.dir/objects1.rsp -o ../../bin/example_v4d_many_cubes-demo.js @CMakeFiles/example_v4d_many_cubes-demo.dir/linkLibs.rsp "/home/elchaschab/build/emsdk/upstream/bin/clang" --version em++: warning: -pthread + ALLOW_MEMORY_GROWTH may run non-wasm code slowly, see https://github.com/WebAssembly/design/issues/1271 [-Wpthreads-mem-growth] "/home/elchaschab/build/emsdk/upstream/emscripten/tools/file_packager" ../../bin/example_v4d_many_cubes-demo.data --from-emcc --preload /home/elchaschab/opencv_wasm/assets/fonts/ /home/elchaschab/opencv_wasm/modules/v4d/doc/lena.png --use-preload-plugins --no-node Warning: Embedding an absolute file/directory name "/home/elchaschab/opencv_wasm/modules/v4d/doc/lena.png" to the virtual filesystem. The file will be made available in the relative path "doc/lena.png". You can use the --preload-file srcpath@dstpath syntax to explicitly specify the target location the absolute source path should be directed to. "/home/elchaschab/build/emsdk/upstream/bin/wasm-ld" -o ../../bin/example_v4d_many_cubes-demo.wasm --gc-sections CMakeFiles/example_v4d_many_cubes-demo.dir/samples/many_cubes-demo.cpp.o CMakeFiles/example_v4d_many_cubes-demo.dir/third/imgui/imgui.cpp.o CMakeFiles/example_v4d_many_cubes-demo.dir/third/imgui/imgui_demo.cpp.o CMakeFiles/example_v4d_many_cubes-demo.dir/third/imgui/imgui_draw.cpp.o CMakeFiles/example_v4d_many_cubes-demo.dir/third/imgui/imgui_tables.cpp.o CMakeFiles/example_v4d_many_cubes-demo.dir/third/imgui/imgui_widgets.cpp.o CMakeFiles/example_v4d_many_cubes-demo.dir/third/imgui/backends/imgui_impl_opengl3.cpp.o CMakeFiles/example_v4d_many_cubes-demo.dir/third/imgui/backends/imgui_impl_glfw.cpp.o -L/home/elchaschab/opencv_wasm/modules/v4d/../../lib ../../lib/libopencv_v4d.a ../../lib/libopencv_core.a ../../lib/libopencv_imgproc.a ../../lib/libopencv_videoio.a ../../lib/libopencv_video.a ../../lib/libopencv_imgcodecs.a ../../lib/libopencv_v4d.a ../../lib/libopencv_face.a ../../lib/libopencv_tracking.a ../../lib/libopencv_objdetect.a ../../lib/libopencv_stitching.a ../../lib/libopencv_optflow.a ../../lib/libopencv_imgcodecs.a ../../lib/libopencv_features2d.a ../../lib/libopencv_dnn.a ../../lib/libopencv_flann.a ../../lib/libopencv_videoio.a /home/elchaschab/opencv_wasm/modules/v4d/../../lib/libnanovg.a ../../3rdparty/lib/libquirc.a ../../lib/libopencv_photo.a ../../lib/libopencv_plot.a ../../lib/libopencv_ximgproc.a ../../lib/libopencv_video.a ../../lib/libopencv_imgcodecs.a ../../3rdparty/lib/liblibopenjp2.a ../../lib/libopencv_dnn.a ../../3rdparty/lib/liblibprotobuf.a ../../lib/libopencv_calib3d.a ../../lib/libopencv_features2d.a ../../lib/libopencv_imgproc.a ../../lib/libopencv_flann.a ../../lib/libopencv_core.a /home/elchaschab/build/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libz.a -L/home/elchaschab/build/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten /home/elchaschab/build/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libz.a /home/elchaschab/build/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/crtbegin.o /home/elchaschab/build/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/crt1_proxy_main.o --whole-archive -lembind-rtti -lGL-mt-webgl2 --no-whole-archive -lal -lhtml5 -lbulkmemory -lstubs-debug -lnoexit -lc-mt-debug -ldlmalloc-mt -lcompiler_rt-mt -lc++-mt-noexcept -lc++abi-debug-mt-noexcept -lsockets-mt -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmpda5fbbo1libemscripten_js_symbols.so --import-memory --shared-memory --export-if-defined=main --export-if-defined=v4dInitCapture --export-if-defined=_emscripten_thread_init --export-if-defined=_emscripten_thread_exit --export-if-defined=_emscripten_thread_crashed --export-if-defined=_emscripten_tls_init --export-if-defined=pthread_self --export-if-defined=start_em_asm --export-if-defined=stop_em_asm --export-if-defined=start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=start_em_js --export-if-defined=stop_em_js --export-if-defined=main_argc_argv --export-if-defined=fflush --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=stackSave --export=stackRestore --export=stackAlloc --export=__errno_location --export=_emscripten_thread_free_data --export=emscripten_main_runtime_thread_id --export=emscripten_main_thread_process_queued_calls --export=_emscripten_run_on_main_thread_js --export=emscripten_stack_set_limits --export=malloc --export=free --export=__wasm_call_ctors --export=_emscripten_thread_init --export=_emscripten_thread_exit --export-table -z stack-size=65536 --initial-memory=134217728 --max-memory=2147483648 --entry=_emscripten_proxy_main --stack-first --table-base=1 "/home/elchaschab/build/emsdk/upstream/bin/llvm-objcopy" ../../bin/example_v4d_many_cubes-demo.wasm ../../bin/example_v4d_many_cubes-demo.wasm --remove-section=producers "/home/elchaschab/build/emsdk/node/16.20.0_64bit/bin/node" /home/elchaschab/build/emsdk/upstream/emscripten/src/compiler.js /tmp/tmpmom6x5my.json "/home/elchaschab/build/emsdk/node/16.20.0_64bit/bin/node" /home/elchaschab/build/emsdk/upstream/emscripten/tools/acorn-optimizer.js /tmp/emscripten_temp_z3ne9a12/example_v4d_many_cubes-demo.js growableHeap --closureFriendly -o /tmp/emscripten_temp_z3ne9a12/example_v4d_many_cubes-demo.jso1.js "/home/elchaschab/build/emsdk/node/16.20.0_64bit/bin/node" /home/elchaschab/build/emsdk/upstream/emscripten/tools/preprocessor.js /tmp/emscripten_temp_z3ne9a12/settings.js worker.js --expandMacros

Should i provide a minimal example or do you already have an idea?

kallaballa commented 1 year ago

Btw. It uses webgl-lint without any complains.

kallaballa commented 1 year ago

I tried adding -sGL_DEBUG=1 and removing -DNDEBUG to no avail. still looking for the option responsible.

kallaballa commented 1 year ago

If i replace -O3 with -O0 alpha works as expected.

defundinformants commented 1 year ago

hmm

kallaballa commented 1 year ago

If i replace -O3 with -O0 alpha works as expected.

-O1 is suffice to trigger the problem.

kallaballa commented 1 year ago

I found the problem. In #19233 i use _emscripten_webgl_do_create_context but it seems like i should be using GL.createContext. That way it works.

sbc100 commented 1 year ago

Should this be closed then?

kallaballa commented 1 year ago

Yep.