Commit Graph

6015 Commits

Author SHA1 Message Date
Rémi Verschelde 2b65ff9249
Merge pull request #95009 from bruvzg/win_transp_checks
[Windows] Check if transparency is enabled in the project setting before applying DWM blur.
2024-08-06 12:30:56 +02:00
bruvzg 393741a7e2
[macOS] Attempt to terminate process normally before using `forceTerminate`. 2024-08-06 12:45:56 +03:00
bruvzg 1f53c71df5
[macOS] Fix `generate_bundle` build flag for .NET builds. 2024-08-06 10:55:24 +03:00
bruvzg e5efde9481
[Windows] Reject WM_POINTER(UP/DOWN) messages for non pen pointer type. 2024-08-04 20:07:14 +03:00
Haoyu Qiu 7cf9ed5f65 Fix several typos in the documentation 2024-08-02 08:42:20 +08:00
bruvzg 27474c9563
[Windows] Check if transparency is enabled in the project setting before applying DWM blur. 2024-08-01 10:30:46 +03:00
bruvzg 99b0100a06
[X11] Use motion event button state instead of async state. 2024-08-01 10:07:07 +03:00
Fabio Alessandrelli 470a35832f [Web] Fix browser opening too early with serve.py 2024-08-01 05:38:36 +02:00
Thaddeus Crews 0163705640
SCons: Add method to generate raw cstrings 2024-07-31 14:22:04 -05:00
bruvzg 1dfcbccfe6
[macOS] Fix `is_process_running` and `kill` for bundled apps. 2024-07-31 16:54:53 +02:00
Rémi Verschelde 1d57b81d26
Merge pull request #94976 from bruvzg/win_app_name
[Windows] Improve editor grouping, set friendly name registry key for exported projects.
2024-07-31 16:13:21 +02:00
bruvzg 3f8cc6678b [Windows] Improve editor grouping, set friendly name registry key for exported projects. 2024-07-31 15:04:00 +03:00
Rémi Verschelde 8d9a394f63
Merge pull request #94958 from adamscott/fix-missing-web-nullcheck-source
Add missing null check before disconnecting source
2024-07-31 11:37:47 +02:00
Rémi Verschelde 3fce516155
Merge pull request #94428 from alvinhochun/windows-angle-resize-sync
Windows: Update ANGLE surface size when window is resized
2024-07-31 11:37:37 +02:00
bruvzg 68ae413893 [Windows] Improve video driver error messages. 2024-07-31 11:16:38 +03:00
Adam Scott 1776258b1c
Add missing null check before disconnecting source 2024-07-30 15:00:58 -04:00
Pierce Brooks e3482a9336
Android: Ensure cleanup of all subobjects in the OpenSL audio driver 2024-07-30 17:20:46 +02:00
Rémi Verschelde 3e0c10d393
Merge pull request #94943 from bruvzg/arm64_gl_switch
[Windows] Improve OpenGL/ANGLE switching on ARM64.
2024-07-30 12:29:13 +02:00
Rémi Verschelde 862d881843
Merge pull request #94923 from m4gr3d/fix_crash_on_android_terminate
Fix crash that occurs on termination of the Godot engine on Android
2024-07-30 12:29:10 +02:00
Rémi Verschelde a92d7ed19f
Merge pull request #94887 from m4gr3d/fix_generate_apk_for_dev_build
Automatically enable `doNotStrip` for dev builds
2024-07-30 12:29:01 +02:00
bruvzg ad0ab2f396
[Windows] Improve OpenGL/ANGLE switching on ARM64. 2024-07-30 10:11:58 +03:00
Fredia Huya-Kouadio 30d63e8ab9 Fix the crash that occurs on termination of the Godot engine on Android 2024-07-29 09:20:50 -07:00
Fredia Huya-Kouadio c1acddfeb4 Fix the `generate_apk` logic when `dev_build` or `debug_symbols` are enabled
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-07-29 06:48:49 -07:00
A Thousand Ships 61c4ce272c
[Web] Gracefully handle non-finite audio volumes 2024-07-29 15:48:06 +02:00
Rémi Verschelde 9a8f18b9bf
Merge pull request #94796 from kus04e4ek/backfall
Windows: Fall back to D3D12 if Vulkan is not supported and vice versa
2024-07-29 15:17:26 +02:00
Rémi Verschelde 65e046159b
Merge pull request #94836 from bruvzg/win7_angle
[Windows] Remove libSynchronization
2024-07-28 17:46:59 +02:00
Rémi Verschelde 8239eac5d9
Merge pull request #94809 from ChrisBase/fix_keytool_for_android_export_not_found
Fix Android export failing with custom keystores and no JDK setup in the OS environment
2024-07-28 17:46:42 +02:00
Rémi Verschelde 1d8373a300
Merge pull request #92859 from Summersay415/do-not-strip
Android: Change the way `doNotStrip` is set
2024-07-28 17:46:31 +02:00
Alvin Wong 25270d5907 Allow llvm-mingw sanitizers only on x86_32/x86_64 2024-07-28 17:21:35 +08:00
Alvin Wong 0cda0b935d Windows: Add sanitizers for llvm-mingw, increase stack for ASan
ASan and UBSan are supported by llvm-mingw. They can be enabled by
passing `use_asan=yes use_ubsan=yes` to scons.
2024-07-28 04:32:18 +08:00
Alvin Wong 28c60a5ff9 Combine existing modes when calling SetConsoleMode
Otherwise the default modes will be cleared, which causes long lines to
be truncated in some terminals (e.g. Windows Terminal).
2024-07-28 00:32:40 +08:00
bruvzg 5d5d51937f [Windows] Remove libSynchronization 2024-07-27 17:12:27 +03:00
Kusok d30c1e6a8f Fall back to D3D12 if Vulkan is not supported and vice versa 2024-07-27 16:17:20 +08:00
Chris 7afefe6469 Fixed Android export failing when no JDK is setup in the OS environment and custom keystores have been set in the export dialog. 2024-07-27 01:33:59 +02:00
Rémi Verschelde 607b230ffe
Merge pull request #94789 from Faless/web/fix_thread_cc_with_workaround
[Web] Fix closure compiler builds, enable it in CI.
2024-07-26 13:44:25 +02:00
Rémi Verschelde 44342c385c
Merge pull request #94735 from aitorciki/nvdrs-memset-initialization
[Windows] Use default aggregate initialization for NVAPI settings
2024-07-26 13:44:13 +02:00
Rémi Verschelde 13c6c0cdb7
Merge pull request #94706 from alvinhochun/window-set-transient-parent-on-create
Pass window exclusive and transient properties for subwindow creation
2024-07-26 13:44:03 +02:00
Fabio Alessandrelli 96feb924e8 [Web] Enable the closure compiler in CI
Also fixes some JSDoc annotations in GodotAudio
2024-07-26 13:27:52 +02:00
Fabio Alessandrelli 26f17c33a5 [Web] Add workaround for missing export in threaded builds
The offending symbol gets stripped away by wasm-dce but it's used on the
JavaScript side and causes and undefined symbol which also causes the
closure compiler to throw an error.
2024-07-26 12:28:36 +02:00
Aitor Guevara 21f3e69a24 [Windows] Use default aggregate initialization for NVAPI settings
Using the member initialization encouraged in NVAPI documentation for
NVDRS_SETTING results in builds enabling `dev_mode` breaking. Default
aggregate initialization results in a clean build though.
2024-07-25 14:41:46 +02:00
alvinhochun 24e02d56cb
Remove unneeded call in DisplayServerX11
X11 does not need setting exclusive flag (it is not implemented).

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2024-07-25 17:11:15 +08:00
Fredia Huya-Kouadio 4d0da74014 Fix the cleanup logic for the Android render thread
On Android the exit logic goes through `Godot#onDestroy()` who attempts to cleanup the engine using the following code:

```
runOnRenderThread {
	GodotLib.ondestroy()
	forceQuit()
}
```

The issue however is that by the time we ran this code, the render thread has already been paused (but not yet destroyed), and thus `GodotLib.ondestroy()` and `forceQuit()` which are scheduled on the render thread are not executed.

To address this, we instead explicitly request the render thread to exit and block until it does. As part of it exit logic, the render thread has been updated to properly destroy and clean the native instance of the Godot engine, resolving the issue.
2024-07-24 10:17:46 -07:00
Alvin Wong 97aa278edb Pass window exclusive and transient properties for subwindow creation
On Windows this allows to avoid having to change the owner of the window
after it has been created, which in rare circumstances may cause the
window to bug out.
2024-07-25 00:27:27 +08:00
Rémi Verschelde 25e5efaf9e
Merge pull request #94680 from bruvzg/fix_net_detection
Replace .NET detection code with `ClassDB::class_exists("CSharpScript")`.
2024-07-24 09:59:42 +02:00
bruvzg 25f78a5eb6
Replace .NET detection code with `ClassDB::class_exists("CSharpScript")`. 2024-07-23 23:46:14 +03:00
bruvzg c34192eb9c
[macOS export] Do not stop export on signing errors. 2024-07-23 22:38:05 +03:00
bruvzg 52a2836861 Disable FP contraction. 2024-07-23 14:33:51 +03:00
Rémi Verschelde a50fe87b89
Merge pull request #94078 from Repiteo/scons/msvc-flag-fix
SCons: Don't override cl flags on msvc
2024-07-22 14:12:45 +02:00
Riteo e307fd60d8 Wayland: Fix error spam when interacting with decorations
Also tried to make tablet handling a bit tidier (less whitespace).

That said I'll uniform tablet handling better once we're back in the dev
cycle.
2024-07-20 03:46:35 +02:00
bruvzg 0e519118d2 [Windows] Fix release export template build for ARM64 Windows. 2024-07-19 14:33:40 +03:00
Rémi Verschelde cf9e485696
Merge pull request #94518 from bruvzg/mac_net_non_sandboxed_sign
[macOS] Fix codesigning of .NET helper executables when sandboxing is disabled.
2024-07-19 11:10:55 +02:00
Rémi Verschelde 18da250ffb
Merge pull request #93737 from aitorciki/disable-windowed-gsync
[Windows] Disable G-SYNC in windowed mode
2024-07-19 11:10:31 +02:00
bruvzg 975ee76e2b
[macOS] Fix codesigning of .NET helper executables when sandboxing is disabled. 2024-07-18 23:40:49 +03:00
Rémi Verschelde 2b2fd56ca5
Merge pull request #94473 from nvlled/fix-screen-image-memory-leak
Linux/X11: Fix memory leak from created screen images
2024-07-18 10:45:43 +02:00
Rémi Verschelde 287521c2c2
Merge pull request #94466 from bruvzg/angle_update_lib
[Windows] Add `libSynchronization` to link flags.
2024-07-18 10:45:40 +02:00
Ronald Casili 3636d9dafc
Linux/X11: Fix memory leak from created screen images
Allocated XImages are improperly free'd with XFree.
The X11 documentation says that XImage should use
XDestroyImage to free both the image structure and
the data pointed to by the image structure.

Also fix a potential use-after-free bug.
2024-07-18 09:45:44 +02:00
Adam Scott 2f5f84b470
Fix audio samples not being able to be "finished" 2024-07-17 10:45:38 -04:00
Rémi Verschelde ea018a8131
Merge pull request #94120 from bruvzg/fix_kbd_names
[Windows] Fix reading keyboard layout names.
2024-07-17 15:44:50 +02:00
Rémi Verschelde 1ca4ce284e
Merge pull request #94063 from bruvzg/tablet_drag
[Winink] Check pointer button states.
2024-07-17 15:44:47 +02:00
Rémi Verschelde 64a11d08cc
Merge pull request #94411 from Riteo/suspending-the-right-way
Wayland: Check for suspended flag when unsuspending
2024-07-17 12:52:50 +02:00
Rémi Verschelde d191bee0ae
Merge pull request #94402 from Riteo/committed-to-the-cause
Wayland: Commit surface on window creation
2024-07-17 12:52:44 +02:00
Rémi Verschelde a4312eebaa
Merge pull request #94468 from m4gr3d/restart_editor_when_updating_touchscreen_settings
[Android Editor] Resolve issues with the editor touchscreen settings
2024-07-17 12:24:14 +02:00
Rémi Verschelde 7b12dbd74d
Merge pull request #94425 from m4gr3d/fix_remote_android_button_not_enabling
Fix issue preventing enabling the remote button for Android/iOS
2024-07-17 11:44:34 +02:00
Rémi Verschelde 38a537c011
Merge pull request #94398 from alvinhochun/windows-rendering-driver-initial-size-fix
Windows: Fix wrong initial size passed to rendering driver
2024-07-17 11:44:19 +02:00
Fredia Huya-Kouadio 53a752f2d6 Disable long press for mouse events
Long press is used to simulate right-click events for finger touch and stylus. The previous logic also caused it to trigger for mouse input, which is not needed since the user can instead use the mouse right click button.

This update disables long press as right click events for mouse input.
2024-07-17 02:44:17 -07:00
Rémi Verschelde 496fd12b17
Merge pull request #94052 from m4gr3d/clean_input_dispatch_settings
Cleanup Android input on render thread settings
2024-07-17 11:42:52 +02:00
bruvzg 9f714bfde5 [Windows] Add `libSynchronization` to link flags. 2024-07-17 10:58:03 +03:00
Alvin Wong 88581a7705 Support GPU preference for MS Store packaged apps 2024-07-16 23:46:37 +08:00
Alvin Wong 4091abd727 Respect integrated GPU preference in Windows Settings 2024-07-16 23:46:37 +08:00
Alvin Wong a1a0acff7c Windows: Update ANGLE surface size when window is resized
ANGLE needs to be told to resize the DXGI swap chain using
`eglWaitNative`. Otherwise the resize will only happen in
`eglSwapBuffers`, which causes some janky stretching during window
resize.
2024-07-16 17:01:42 +08:00
Alvin Wong d7f023ab73 Windows: Do not attempt to resize surface before it is created
`WM_WINDOWPOSCHANGED` may be received before `CreateWindowExW` has even
returned, when the window's rendering context or OpenGL context hasn't
been created yet.
2024-07-16 17:01:42 +08:00
Fredia Huya-Kouadio 5b327aee96 Fix issue preventing enabling the remote button for Android
https://github.com/godotengine/godot/pull/92032 updated the logic to enable / disable the remote debug button, and in doing so added a `can_export` check.

However, no events / notifications are dispatched when the value of the `can_export` check changes, which in turn prevents the logic used to enable / disable the remote debug button from running again.

The fix consists then in removing the `can_export` check, so that the remote debug button shows as `enabled` when a preset is present and is runnable.
2024-07-16 00:25:16 -07:00
Riteo 84f26a629d Wayland: check for suspended flag when unsuspending
Before, we would only check for the frame flag, which is unreliable on
newer suspension-aware compositors.
2024-07-16 00:11:22 +02:00
Riteo a852e76196 Wayland: commit surface on window creation
This is needed for initializing xdg_surfaces when not using libdecor.
Now the pure xdg_shell code path should work again.
2024-07-15 22:11:24 +02:00
Alvin Wong 1d542257e5 Windows: Fix wrong initial size passed to rendering driver 2024-07-16 03:30:44 +08:00
bruvzg 3afe1e7481 [Winink] Check pointer button states, fix drag and double-click. 2024-07-15 12:23:07 +03:00
Rémi Verschelde 97b8ad1af0
Merge pull request #94232 from bruvzg/macos_dnd
[macOS] Fix drag-and-drop feedback.
2024-07-11 23:17:06 +02:00
Rémi Verschelde 1aa1a1879d
Merge pull request #94203 from RandomShaper/bye_bye_dxil_dll
D3D12: Get rid of `DXIL.dll`!
2024-07-11 23:16:59 +02:00
Rémi Verschelde 6c2699cbf6
Merge pull request #94187 from akien-mga/windows-remove-unused-is_wow64
Remove unused `is_wow64` method in `OS_Windows`
2024-07-11 23:16:54 +02:00
Rémi Verschelde c349f0d6a7
Remove unused `is_wow64` method in `OS_Windows`
It was added in b4d369c88 for `get_processor_count`, but this was later
changed to rely on `std::thread` in 6bf02c016.
2024-07-11 23:16:12 +02:00
bruvzg c8447724e5
[macOS] Fix drag-and-drop feedback. 2024-07-11 23:13:38 +03:00
Pedro J. Estébanez ee2c1584e4 D3D12: Get rid of DXIL.dll! 2024-07-11 17:56:45 +02:00
Rémi Verschelde 1b49d6393d
Merge pull request #93733 from alvinhochun/windows-restore-sizing
Windows: Restore to windowed mode using `SW_NORMAL`
2024-07-11 09:40:58 +02:00
Fredia Huya-Kouadio 5e59819727 Cleanup Android input on render thread settings
Follow up to https://github.com/godotengine/godot/pull/93933
Clean up the set of settings use to control whether Android input should be dispatched on the render thread.

Addresses comments in https://github.com/godotengine/godot/pull/93933#issuecomment-2210437977
2024-07-09 09:15:18 -07:00
Rémi Verschelde 1b0430dc3a
Merge pull request #94114 from bruvzg/ios_text_change
[iOS/Text Input] Avoid deleting and reentering unchanged part of text.
2024-07-09 16:47:23 +02:00
Rémi Verschelde 49a6171319
Merge pull request #93352 from Calinou/linuxbsd-controller-no-trackpad-graphics-tablet
Fix trackpads and graphics tablets being recognized as controllers on Linux/*BSD
2024-07-09 16:47:04 +02:00
bruvzg fea8ab0999 [Windows] Fix reading keyboard layout names. 2024-07-09 11:46:06 +03:00
bruvzg c632b47b48
[iOS/Text Input] Avoid deleting and reentering unchanged part of text. 2024-07-09 08:32:27 +03:00
Rémi Verschelde 8897c77d50
SCons: Default `optimize` to `auto`, fixing `target`/`dev_build` inference for Web
Fixes #94087.
2024-07-09 00:21:29 +02:00
Rémi Verschelde 3220b6fb11
Merge pull request #93976 from Hilderin/fix-caret-disappear-from-script-editor
Fix caret can disappear from script editor
2024-07-08 19:13:31 +02:00
Thaddeus Crews 0f691efb1b
SCons: Don't override cl flags on msvc 2024-07-08 09:48:18 -05:00
Hilderin ebd1ab646c Fix caret can disappear from script editor 2024-07-08 07:11:17 -04:00
Rémi Verschelde ec02d406ca
Merge pull request #94067 from RandomShaper/fix_build
Windows: Fix build error due to missing definition of Texture2D
2024-07-08 11:48:36 +02:00
Pedro J. Estébanez 50bf2e5b37 Windows: Fix build error due to missing definition of Texture2D 2024-07-08 10:40:17 +02:00
bruvzg eddc9cea11
[NativeMenu] Do not auto toggle check/multi-state items. Add `is_native_menu` method. 2024-07-08 11:20:28 +03:00
Rémi Verschelde 42e5b3ac2d
Merge pull request #94044 from adamscott/fix-web-sample-playback-finished-signal
Fix Web samples finished missing signal
2024-07-07 21:59:00 +02:00
Rémi Verschelde 39d9ff21b8
Merge pull request #94024 from anniryynanen/ime-block
Fix IME blocking controls
2024-07-07 21:58:43 +02:00
Adam Scott a38f30fbd5 Fix Web samples finished missing signal 2024-07-07 14:47:54 -04:00
Anni Ryynänen d926223c64
Fix IME blocking controls 2024-07-07 13:06:18 +03:00
Riteo 2ff50119dc Wayland: switch pointer position handling to doubles
This reduces even further the amount of work we have to do when scaling
and potentially improves input accuracy as now the input code is free
from any form of rounding.
2024-07-07 09:07:29 +02:00
Riteo 3e0632cbd2 Wayland: scale relative pointer motion
Oops, forgot to do that. Motion-dependent stuff should now work properly
when using scaled displays.
2024-07-07 08:39:53 +02:00
Hugo Locurcio 724cdffc8c
Fix trackpads and graphics tablets being recognized as controllers on Linux/*BSD 2024-07-06 00:26:39 +02:00
Rémi Verschelde ce16818dd5
Fix missing include in Web main after #93906
My bad, I introduced the bug when amending it.
2024-07-05 14:40:44 +02:00
Rémi Verschelde 20ba2f00bd
Merge pull request #93950 from bruvzg/mvk_scaling
[MoltenVK] Fix downscaled hiDPI window pixelation.
2024-07-04 23:27:23 +02:00
Rémi Verschelde 8455b3343e
Merge pull request #93933 from m4gr3d/anr_and_crash_bug_fixes
Fix crashes and ANRs reported by the Google Play Console
2024-07-04 23:27:20 +02:00
Paul Sinnett db97d88214
Fix preloading a zip in the web editor 2024-07-04 22:13:05 +02:00
bruvzg ab4213f043
[MoltenVK] Fix downscaled hiDPI window pixelation. 2024-07-04 21:03:32 +03:00
Fredia Huya-Kouadio 6b6428d779 Fix ANRs reported by the Google Play Console
- Add support for dispatching input on the render thread (UI thread is the current default) when `input_buffering` and `accumulated_input` are disabled. At the expense of latency, this helps prevent 'heavy' applications / games from blocking the UI thread (the default behavior)  which may cause the application to ANR.

- Remove GLSurfaceView logic causing the UI thread to wait on the GL thread during lifecycle events. The removed logic would cause the UI thread to ANR when the GL thread is blocked.
2024-07-04 05:18:50 -07:00
Fredia Huya-Kouadio c6a23a7a7d Fix crashes reported by the Google Play Console 2024-07-04 02:46:11 -07:00
Rémi Verschelde e6448ca0aa
Merge pull request #93891 from m4gr3d/fix_logo_not_showing_for_gles3
[Android] Fix the issue causing the logo to not show when using the `compatibility` renderer
2024-07-04 11:32:13 +02:00
Rémi Verschelde 01c24ff862
Merge pull request #93750 from adamscott/add-bigint-support-on-js-value-conversion
Add `bigint` support on JS value conversion
2024-07-04 11:31:58 +02:00
Fredia Huya-Kouadio 637f4a10ed Fix the issue causing the logo to not show when using the `compatibility` renderer 2024-07-03 11:16:45 -07:00
Adam Scott ee2759013b Add `bigint` support on JS value conversion 2024-07-03 07:44:32 -04:00
Rémi Verschelde f0d15bbfdf
Merge pull request #93853 from Faless/web/no_force_stdlib
[Web] Remove unnecessary `EMCC_FORCE_STDLIBS` in dlink builds
2024-07-02 17:27:35 +02:00
Rémi Verschelde abfce31ba7
Merge pull request #93152 from RandomShaper/prebuilt_asan
Enable usage of asan-enabled versions of prebuilt libraries
2024-07-02 17:27:31 +02:00
Fabio Alessandrelli 67c06866de [Web] Remove unnecessary EMCC_FORCE_STDLIBS in dlink builds
As discussed with upstream, the C/C++ standard library is always fully
included when building with MAIN_MODULE=1, so using EMCC_FORCE_STDLIBS
is not necessary in our case.
2024-07-02 16:47:00 +02:00
Adam Scott 586db3aae7 Fix assignations to non-existing keys and clean-up 2024-06-29 14:30:57 -04:00
Rémi Verschelde 25de53e147
X11: Fix creating RenderingDevice after #93706
The line was removed by mistake.
2024-06-29 14:03:29 +02:00
Aitor Guevara b8edc64379 [Windows] Disable G-SYNC in windowed mode
G-SYNC (NVIDIA's VRR) is known to be buggy on windowed mode in Windows.
While the driver only enables G-SYNC for full screen mode by default,
users can toggle it on for windowed mode too, resulting in unstable
refresh rates during Editor usage.
This patch extends Godot's NVIDIA profile to force the default full
screen mode only G-SYNC with Godot.
2024-06-29 13:40:15 +02:00
Alvin Wong c54477b7e6 Windows: Restore to windowed mode using SW_NORMAL
If window was maximized before minimizing, restoring the window
afterwards using SW_RESTORE seems to cause the window to forget its
original size and position before being maximized, causing the window to
fill the screen instead.
2024-06-29 18:24:45 +08:00
Pedro J. Estébanez 32d9c93af3 Improve handling of rendering startup errors 2024-06-28 19:31:50 +02:00
Rémi Verschelde 3cefe898b1
Merge pull request #93589 from mhilbrunner/fix-windows-vs-arch-detection
Windows: Fix arch detection via `VCTOOLSINSTALLDIR` if not first in `PATH`
2024-06-28 14:42:54 +02:00
Rémi Verschelde ac9181c666
Merge pull request #93682 from dsnopek/fix-text-editor-find-in-files-focus-bug
Fix text editor stealing focus from "Find in Files" dialog on X11
2024-06-28 12:37:52 +02:00
Riteo f27471fbd8 Wayland: minimize surface commits and limit them to the main thread
Before of this patch, as explained in the usual
commented-wall-of-text-longer-than-the-actual-patch-itself™, due to the
multithreaded nature of the Wayland thread, it was possible to commit a
surface while the renderer was doing stuff, which was _very_ wrong.

Initially the consequences of such a sin weren't obvious but, now that
explicit synchronization is becoming more and more common, we can't
commit a buffer randomly without basically guaranteeing a nasty, nasty
crash (and we should have avoided commits altogether in the first place
to ensure atomic surface updates).

We now only trigger a commit _in the main thread_ when low processor usage
mode is on _and_ if we know that we won't be rendering anything as, due to
its intermittent nature, it makes "legacy" (pre xdg_wm_base v6) frame
callback based suspension quite annoying.
2024-06-28 01:47:25 +02:00
David Snopek 1289298b5e Fix text editor stealing focus from "Find in Files" dialog on X11 2024-06-27 17:27:21 -05:00
Adam Scott 1e8e9f4b09
Fix web export state for remote debug 2024-06-26 08:37:56 -04:00
Max Hilbrunner 63911b994c Windows: Fix arch detection via VCTOOLSINSTALLDIR 2024-06-25 13:31:46 +02:00
Fabio Alessandrelli f59c1f08d7 [Web] Add "threads"/"nothreads" feature tags to export presets
Following the "variant/thread_support" preset option.
2024-06-25 11:42:41 +02:00
Rémi Verschelde c24f2f1c0c
Merge pull request #93489 from dsnopek/web-disable-getprocaddress
Disable `*glGetProcAddress()` on the web
2024-06-25 09:19:46 +02:00
David Snopek 8e242fe7c1 Disable `*glGetProcAddress()` on the web 2024-06-24 10:57:22 -05:00
Rémi Verschelde 2ac72b7402
Merge pull request #93551 from m4gr3d/show_android_custom_template_by_default
Android: Revert hiding of custom templates under the `Advanced Options` toggle
2024-06-24 17:49:10 +02:00
Rémi Verschelde f3195bfcee
Merge pull request #93491 from patwork/fix-type-limits-windows-utils
Fix type-limits warning in `windows_utils`
2024-06-24 17:48:49 +02:00
Fredia Huya-Kouadio 9e9ffdd1bb Revert hiding of custom templates under the `Advanced Options` toggle 2024-06-24 06:14:27 -07:00
Rémi Verschelde f9c51183bb
Merge pull request #93342 from kus04e4ek/build-fix
Fix not using `encoding="utf-8"` when writing to files or reading from them
2024-06-24 11:14:10 +02:00
Thaddeus Crews cc6dd8d02c
Style: Optimize `.svg` files with `svgo` 2024-06-23 08:15:19 -05:00
patwork 2e84638147 Fix type-limits warning in windows_utils 2024-06-22 23:04:00 +02:00
Rémi Verschelde 16ab5345ef
Merge pull request #79054 from bruvzg/word_brk_fix
[TextServer] Fix `get_word_breaks` and its uses.
2024-06-22 16:22:03 +02:00
Rémi Verschelde 3325ffbe1b
Merge pull request #92750 from bruvzg/ios_autogen
[iOS export] Automatically generate ARM64 simulator library from device library if it's missing.
2024-06-21 16:49:40 +02:00
bruvzg b5e3238109
[TextServer] Fix get_word_breaks and it uses. 2024-06-21 14:56:57 +03:00
Rémi Verschelde ee3b31da80
Merge pull request #93362 from adamscott/fix-web-audio-pause
Fix pausing issues when using Web Audio samples
2024-06-21 10:14:25 +02:00
Adam Scott 57db018e33
Fix pausing issues when using Web Audio samples 2024-06-20 10:32:28 -04:00
bruvzg 04d70c11fc [Windows/ARM64] Fix raycast/embree ARM64 build with LLVM/MinGW. 2024-06-20 15:52:04 +03:00
Kusok 0c6dbbd050 Fix not using `encoding="utf-8"` when writing to files or reading from them
Co-authored-by: ChristopheClaustre <christophe.claustre.31@gmail.com>
2024-06-19 23:35:03 +08:00
Rémi Verschelde 4e01d8663e
Merge pull request #93021 from bruvzg/wl_ime
[Wayland] Implement IME support.
2024-06-19 10:10:09 +02:00
Rémi Verschelde 34b9eef177
Merge pull request #91623 from adamscott/web-default-to-nonthreaded
Default to non-threaded export setting for the web
2024-06-19 10:09:49 +02:00
Adam Scott 52fa4f05f3
Add samples playback support 2024-06-18 11:06:31 -04:00
Summersay415 a55788a543 Change the way doNotStrip is set 2024-06-17 20:24:14 +07:00
Hugo Locurcio 29348be0ca Tweak warning messages related to V-Sync on OpenGL
- Make warnings print only once per session.
- Tweak the message to be less confusing, and mention that the issue
  most likely stems from a graphics driver limitation.
2024-06-16 21:22:10 +02:00
bruvzg 501c15c5f5
[iOS export] Automatically generate ARM64 simulator library from device library if it's missing. 2024-06-16 10:46:49 +03:00
Fabio Alessandrelli 27d67b5ae6 [Web] Use the module config to preload GDExtension libraries.
Instead of calling loadDynamicLibraries ourselves, we add the
GDExtension libraries to preload to the "dynamicLibraries" module config
property.

This seems to fix some threading issue with some browsers during the
init phase.
2024-06-14 16:04:16 +02:00
Fabio Alessandrelli 7af8c494ab [Web] Force emcc to use "wasm" longjmp mode
SUPPORT_LONGJMP have changed since emscripten 3.1.32 to default to
"wasm" mode when exceptions are enabled, and "emscripten" mode when
disabled.

While we generally doesn't use exception in core, linked libraries may
need them, and emscripten don't plan to support WASM EH + Emscripten
SjLj in the long term.
2024-06-14 16:03:56 +02:00
Fabio Alessandrelli e874cd84f0 [Web] Remove space between emscripten "-s" flags and the option 2024-06-14 16:03:56 +02:00
Pedro J. Estébanez d1eebd3493 Enable usage of asan-enabled versions of prebuilt libraries 2024-06-14 14:06:38 +02:00
Rémi Verschelde de8a05f447
Merge pull request #92965 from m4gr3d/fix_splash_screen
Update the Android splash screen logic
2024-06-13 17:19:27 +02:00
Rémi Verschelde e15c2e051e
Merge pull request #92663 from Riteo/holy-egl-batman
EGL: Use `EGL_EXT_platform_base` whenever possible
2024-06-13 17:19:17 +02:00
bruvzg dbc4e3f350
[Windows] Add Windows version and Wine checks for Windows 10+ dark mode API. 2024-06-13 14:28:14 +03:00
Rémi Verschelde 2fab2c7850
Merge pull request #93105 from kitbdev/keystate
Windows Input use GetKeyState instead of GetAsyncKeyState
2024-06-13 11:50:44 +02:00
kit 45c6971a36 Input use GetKeyState instead of GetAsyncKeyState 2024-06-12 18:37:31 -04:00
Mikael Hermansson 6d68362f2f Fix issues related to code-signing for macOS exports 2024-06-12 22:26:41 +02:00
Rémi Verschelde 5e2bdd7efc
Merge pull request #93072 from bruvzg/x11_screen_cap
[X11] Detect XWayland and disable screen capture support.
2024-06-12 11:01:11 +02:00
Rémi Verschelde e78db2c423
Merge pull request #93011 from MTareqAzim/fix-android-motion-event-guards
Fix Left Joystick Motion Not Registering on Android
2024-06-12 10:00:44 +02:00
bruvzg 3cabf51325
[X11] Detect XWayland and disable screen capture support. 2024-06-12 10:05:17 +03:00
Rémi Verschelde 31277e43a7
Merge pull request #91890 from Repiteo/scons/silence_msvc-fixes
SCons: Fix `silence_msvc` implementation errors
2024-06-11 13:57:01 +02:00
bruvzg be25e60f61
[Wayland] Implement IME support. 2024-06-11 12:24:54 +03:00
Tareq Anuar d14bea4413
Move the most specific motion event guard to the top of the function. 2024-06-11 12:10:09 +08:00
Adam Scott 5a01c2e954
Replace deprecated `USE_WEBGL2` linker flag 2024-06-10 12:14:27 -04:00
Rémi Verschelde b80e591448
Merge pull request #92843 from anniryynanen/tooltip-in-popup
Stop color picker tooltip from stealing input events
2024-06-10 16:11:52 +02:00
Fredia Huya-Kouadio f20e21a6d6 Update the splash screen logic for the Godot app template
Due to limitations to the splash screen introduced in Android 12, the splash screen logic is updated to the same logic as used on other platforms, i.e: the splash screen is rendered by the Godot engine instead of the Android runtime.
2024-06-10 00:59:36 -07:00
Fredia Huya-Kouadio dd966f5680 Configure the splash screen for the Android editor 2024-06-10 00:34:00 -07:00
Rémi Verschelde a139cd611a
Merge pull request #92826 from bruvzg/nat_icon_checks
Improve native menu and status indicator icons conversion and checks.
2024-06-07 23:30:39 +02:00
Rémi Verschelde ea7d988b72
Merge pull request #92781 from bruvzg/menu_open_close_imp
[macOS] Improve native menu open/close callbacks.
2024-06-07 23:30:15 +02:00
Rémi Verschelde e52658643d
Merge pull request #92702 from kleonc/cursor_image_from_atlas_texture_fix
Fix creating cursor image from `AtlasTexture`
2024-06-07 23:29:57 +02:00
Rémi Verschelde 0b24f40c33
Merge pull request #92580 from hccloud/master
Remove the limit on the number of the SignalInfo creation function parameters
2024-06-07 23:29:40 +02:00
Anni Ryynänen ae1e2182ec
Stop color picker tooltip from stealing input events
Input events go to the tooltip because it's added to `popup_list` in
DisplayServer `popup_open`. I think there's no harm in tooltips being omitted
from the list, so this commit blocks non-popup windows from being added if they
have `FLAG_NO_FOCUS` and `FLAG_MOUSE_PASSTHROUGH`.

I'm not happy with this way of detecting tooltips. It'll also catch other
windows where this behavior may or may not be wanted.

I thought about adding `FLAG_TOOLTIP`, but went with the smaller change for
now.

Fixes #79500.
2024-06-06 20:00:05 +03:00
bruvzg 28ec2240c4
Improve native menu and status indicator icons conversion and checks. 2024-06-06 07:46:09 +03:00
Rémi Verschelde e96ad5af98
Merge pull request #92742 from Hilderin/fix-windows-activate-process
Fix Windows Activate Process
2024-06-06 00:44:36 +02:00
bruvzg 1f7bf27780
[macOS] Improve native menu open/close callbacks. 2024-06-05 20:22:41 +03:00
Yuzhao Wang 2e4d573c3c Remove the limit on the number of the SignalInfo function parameters
Update platform/android/api/jni_singleton.h

Co-authored-by: A Thousand Ships (she/her) <96648715+AThousandShips@users.noreply.github.com>
2024-06-05 09:21:30 +08:00
kleonc 91e995e704 Fix creating cursor image from AtlasTexture 2024-06-05 01:44:05 +02:00
Rémi Verschelde 62b15238e5
Merge pull request #92704 from m4gr3d/update_android_editor_activity_layout
Consolidate the ProjectManager and Editor windows into a single Android Activity class
2024-06-04 10:10:08 +02:00
Riteo 8f69f29694 EGL: Use EGL_EXT_platform_base whenever possible
This avoids any assumption from the driver, which would otherwise select
a specific platform and potentially mess up everything, resulting
usually in a display server failure.
2024-06-04 08:43:34 +02:00
Hilderin e201e5bf30 Fix Windows Activate Process 2024-06-03 19:33:41 -04:00
Rémi Verschelde 7118487f9d
Merge pull request #92709 from m4gr3d/fix_request_permissions_return_value
Fix invalid return value when multiple permission requests are dispatched
2024-06-03 10:36:14 +02:00
Rémi Verschelde f976a625e1
Merge pull request #92692 from mihe/always-embed-frameworks
Fix iOS exports never embedding framework bundles
2024-06-03 10:36:10 +02:00
Fredia Huya-Kouadio 53279d2510 Fix invalid return value when multiple permission requests are dispatched 2024-06-02 17:22:51 -07:00
Fredia Huya-Kouadio 0795587f69 Consolidate the ProjectManager and Editor windows into a single Android Activity class. 2024-06-02 14:14:21 -07:00
Mikael Hermansson 84ee828b58 Fix iOS exports never embedding framework bundles 2024-06-02 18:02:01 +02:00
Fredia Huya-Kouadio d38c5b6737 Clean up the build commands used by the editor for gradle builds 2024-05-31 06:21:16 -07:00
Fredia Huya-Kouadio 0342900b77 Clean up the gradle build logic used to generate the Godot Android binaries 2024-05-31 06:21:13 -07:00
bruvzg 5168647530
Use current mouse button state instead of saved values. 2024-05-31 15:50:14 +03:00
Rémi Verschelde d30456fea8
Merge pull request #92415 from bruvzg/win_mod_keys
[Windows] Use current keyboard state instead of saved values for modifier keys.
2024-05-31 14:16:13 +02:00
Rémi Verschelde 37cf266b57
SCons: Process platform-specific flags earlier
Some of the logic in SCons depends on flags that get overridden in the
platform-specific `detect.py`, so it needs to be processed first.

For example the Android/iOS/Web platforms override the default `target`
to `template_debug`, but this was processed too late so e.g. the logic
that sets `env.editor_build` would set it to true due to the default
`target` value in the environment being `editor`.
2024-05-30 16:01:43 +02:00
patwork 909f28a534 Fix multichar warning in windows_utils 2024-05-30 13:58:56 +02:00
Rémi Verschelde 80db5bd28e
Merge pull request #92525 from m4gr3d/fix_libcpp_selection
Ensure that Godot's version of `libc++_shared.so` is always selected
2024-05-30 11:48:15 +02:00
Rémi Verschelde 8ec272f288
Merge pull request #92519 from mihe/stop-xcframework-embed
Prevent static XCFramework bundles from being embedded on iOS
2024-05-30 11:48:12 +02:00
Rémi Verschelde 1dab521f2d
Merge pull request #92208 from Calinou/linuxbsd-use-nanosleep
Use `OS::delay_usec()` to avoid using deprecated `usleep()` on Linux
2024-05-30 11:47:51 +02:00
Rémi Verschelde ffad49f169
Merge pull request #86029 from 0x0ACB/resize_fix
Remove dead code from `DisplayServerWindows::window_set_size`
2024-05-30 11:47:21 +02:00
Mauricio Narvaez 28f357733f Ensure that Godot's version of libc++_shared.so is always selected in case dependencies have their own 2024-05-29 14:43:35 -07:00
Rémi Verschelde a6ef250f3e
Merge pull request #92133 from m4gr3d/fix_touch_input
Fix invalid detection of mouse input
2024-05-29 23:03:27 +02:00
Mikael Hermansson b6e5e16868 Prevent static XCFramework bundles from being embedded on iOS 2024-05-29 17:54:49 +02:00