From 1e2d67152fe2c32112b721f68983eeb30825daee Mon Sep 17 00:00:00 2001 From: Lorn Potter Date: Mon, 20 Jun 2022 16:19:32 +1000 Subject: [PATCH] wasm: Optimize use of opengles MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - USE_WEBGL2 is depreciated, Emscripten now uses MAX_WEBGL_VERSION - Optimize and remove use of emulated ES2 and ES3, which means only use WebGL friendly subset. Users can add USE_ES3=1 and USE_ES2=1 to the final linker arguments for those respective versions in order to enable using glDrawArrays and glDrawElements with unbound buffers. See https://emscripten.org/docs/porting/multimedia_and_graphics/OpenGL-support.html Pick-to: 6.4 Change-Id: I11ae359966964b3e7aa6e61ccc714c2bfbf61f96 Reviewed-by: Morten Johan Sørvig --- cmake/QtWasmHelpers.cmake | 12 +----------- mkspecs/wasm-emscripten/qmake.conf | 4 +--- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/cmake/QtWasmHelpers.cmake b/cmake/QtWasmHelpers.cmake index b7ed8a1582..d17eb826b1 100644 --- a/cmake/QtWasmHelpers.cmake +++ b/cmake/QtWasmHelpers.cmake @@ -5,7 +5,7 @@ function (qt_internal_setup_wasm_target_properties wasmTarget) target_link_options("${wasmTarget}" INTERFACE "SHELL:-s ERROR_ON_UNDEFINED_SYMBOLS=1" "SHELL:-s EXPORTED_RUNTIME_METHODS=[UTF16ToString,stringToUTF16]" - "SHELL:-s USE_WEBGL2=1" + "SHELL:-s MAX_WEBGL_VERSION=2" "SHELL:-s FETCH=1" "SHELL:-s WASM_BIGINT=1") @@ -25,16 +25,6 @@ function (qt_internal_setup_wasm_target_properties wasmTarget) target_compile_options("${wasmTarget}" INTERFACE -O2 -msimd128 -msse -msse2) endif() - if (QT_FEATURE_opengles3) - target_link_options("${wasmTarget}" INTERFACE "SHELL:-s FULL_ES3=1") - - target_link_options("${wasmTarget}" INTERFACE "SHELL:-s FULL_ES3=1" - "SHELL:-s MAX_WEBGL_VERSION=2" - "SHELL:-s WEBGL2_BACKWARDS_COMPATIBILITY_EMULATION=1") - else() - target_link_options("${wasmTarget}" INTERFACE "SHELL:-s FULL_ES2=1") - endif() - set(disable_exceptions_catching 1) if (QT_FEATURE_exceptions) set(disable_exceptions_catching 0) diff --git a/mkspecs/wasm-emscripten/qmake.conf b/mkspecs/wasm-emscripten/qmake.conf index b95cf0fcc6..2dcfe4e53e 100644 --- a/mkspecs/wasm-emscripten/qmake.conf +++ b/mkspecs/wasm-emscripten/qmake.conf @@ -30,9 +30,7 @@ load(emcc_ver) EMCC_COMMON_LFLAGS += \ -s WASM=1 \ - -s FULL_ES2=1 \ - -s FULL_ES3=1 \ - -s USE_WEBGL2=1 \ + -s MAX_WEBGL_VERSION=2 \ -s ERROR_ON_UNDEFINED_SYMBOLS=1 \ -s EXPORTED_RUNTIME_METHODS=[UTF16ToString,stringToUTF16] \ --bind \