diff options
author | Adam Scott <ascott.ca@gmail.com> | 2023-12-01 13:39:09 -0500 |
---|---|---|
committer | Adam Scott <ascott.ca@gmail.com> | 2024-01-17 13:58:29 -0500 |
commit | bd70b8e1f643dbf7252be9bc367e0de0f82d722d (patch) | |
tree | de81ebb037ede5994d3e817a2a788488d0f47977 /platform/web/js/engine/features.js | |
parent | 107f2961ccfac179af7682eb5f6e7ea91e80040c (diff) | |
download | redot-engine-bd70b8e1f643dbf7252be9bc367e0de0f82d722d.tar.gz |
Add THREADS_ENABLED macro in order to compile Godot to run on the main thread
Diffstat (limited to 'platform/web/js/engine/features.js')
-rw-r--r-- | platform/web/js/engine/features.js | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/platform/web/js/engine/features.js b/platform/web/js/engine/features.js index b7c6c9d445..81bc82f3c6 100644 --- a/platform/web/js/engine/features.js +++ b/platform/web/js/engine/features.js @@ -72,8 +72,14 @@ const Features = { // eslint-disable-line no-unused-vars * * @returns {Array<string>} A list of human-readable missing features. * @function Engine.getMissingFeatures + * @typedef {{ threads: boolean }} SupportedFeatures + * @param {SupportedFeatures} supportedFeatures */ - getMissingFeatures: function () { + getMissingFeatures: function (supportedFeatures = {}) { + const { + threads: supportsThreads = true, + } = supportedFeatures; + const missing = []; if (!Features.isWebGLAvailable(2)) { missing.push('WebGL2 - Check web browser configuration and hardware support'); @@ -84,12 +90,16 @@ const Features = { // eslint-disable-line no-unused-vars if (!Features.isSecureContext()) { missing.push('Secure Context - Check web server configuration (use HTTPS)'); } - if (!Features.isCrossOriginIsolated()) { - missing.push('Cross Origin Isolation - Check web server configuration (send correct headers)'); - } - if (!Features.isSharedArrayBufferAvailable()) { - missing.push('SharedArrayBuffer - Check web server configuration (send correct headers)'); + + if (supportsThreads) { + if (!Features.isCrossOriginIsolated()) { + missing.push('Cross-Origin Isolation - Check that the web server configuration sends the correct headers.'); + } + if (!Features.isSharedArrayBufferAvailable()) { + missing.push('SharedArrayBuffer - Check that the web server configuration sends the correct headers.'); + } } + // Audio is normally optional since we have a dummy fallback. return missing; }, |