diff options
author | Lorn Potter <lorn.potter@gmail.com> | 2022-06-20 16:19:32 +1000 |
---|---|---|
committer | Lorn Potter <lorn.potter@gmail.com> | 2022-06-22 13:59:25 +1000 |
commit | 1e2d67152fe2c32112b721f68983eeb30825daee (patch) | |
tree | 00b33ac4ddee18a03538afb8d3c887e0f051e955 | |
parent | 73d04340ad130ec9efbd740823b37f1579369949 (diff) | |
download | qtbase-1e2d67152fe2c32112b721f68983eeb30825daee.tar.gz |
wasm: Optimize use of opengles
- 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 <morten.sorvig@qt.io>
-rw-r--r-- | cmake/QtWasmHelpers.cmake | 12 | ||||
-rw-r--r-- | 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 \ |